Move SPR reads ahead of writes. Real mode entry that is not a KVM
guest is rare these days, but bad practice propagates.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
 arch/powerpc/kernel/exceptions-64s.S | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index d9e531a00319..df9c3126fe08 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -183,19 +183,19 @@ END_FTR_SECTION_NESTED(ftr,ftr,943)
        .endif
        .if \hsrr
        mfspr   r11,SPRN_HSRR0          /* save HSRR0 */
+       mfspr   r12,SPRN_HSRR1          /* and HSRR1 */
+       mtspr   SPRN_HSRR1,r10
        .else
        mfspr   r11,SPRN_SRR0           /* save SRR0 */
+       mfspr   r12,SPRN_SRR1           /* and SRR1 */
+       mtspr   SPRN_SRR1,r10
        .endif
-       LOAD_HANDLER(r12, \label\())
+       LOAD_HANDLER(r10, \label\())
        .if \hsrr
-       mtspr   SPRN_HSRR0,r12
-       mfspr   r12,SPRN_HSRR1          /* and HSRR1 */
-       mtspr   SPRN_HSRR1,r10
+       mtspr   SPRN_HSRR0,r10
        HRFI_TO_KERNEL
        .else
-       mtspr   SPRN_SRR0,r12
-       mfspr   r12,SPRN_SRR1           /* and SRR1 */
-       mtspr   SPRN_SRR1,r10
+       mtspr   SPRN_SRR0,r10
        RFI_TO_KERNEL
        .endif
        b       .       /* prevent speculative execution */
-- 
2.20.1

Reply via email to