powerpc/40x: Don't save CR in SPRN_SPRG_SCRATCH6
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 21 May 2020 16:56:04 +0000 (16:56 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 28 May 2020 13:24:36 +0000 (23:24 +1000)
We have r12 available, use it to keep CR around and don't
save it in SPRN_SPRG_SCRATCH6.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/019f314a98c107c4ca46e46c1cf402e9a44114a7.1590079969.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_40x.S

index b584e81f6d19802d32c76dd136c76b9dba2fb5a0..a22a8209971bd9b87983d854014e602262584965 100644 (file)
@@ -254,9 +254,8 @@ _ENTRY(saved_ksp_limit)
        mtspr   SPRN_SPRG_SCRATCH1, r11
        mtspr   SPRN_SPRG_SCRATCH3, r12
        mtspr   SPRN_SPRG_SCRATCH4, r9
-       mfcr    r11
+       mfcr    r12
        mfspr   r9, SPRN_PID
-       mtspr   SPRN_SPRG_SCRATCH6, r11
        mtspr   SPRN_SPRG_SCRATCH5, r9
        mfspr   r10, SPRN_DEAR          /* Get faulting address */
 
@@ -323,9 +322,8 @@ _ENTRY(saved_ksp_limit)
         * and call the heavyweights to help us out.
         */
        mfspr   r9, SPRN_SPRG_SCRATCH5
-       mfspr   r11, SPRN_SPRG_SCRATCH6
        mtspr   SPRN_PID, r9
-       mtcr    r11
+       mtcr    r12
        mfspr   r9, SPRN_SPRG_SCRATCH4
        mfspr   r12, SPRN_SPRG_SCRATCH3
        mfspr   r11, SPRN_SPRG_SCRATCH1
@@ -341,9 +339,8 @@ _ENTRY(saved_ksp_limit)
        mtspr   SPRN_SPRG_SCRATCH1, r11
        mtspr   SPRN_SPRG_SCRATCH3, r12
        mtspr   SPRN_SPRG_SCRATCH4, r9
-       mfcr    r11
+       mfcr    r12
        mfspr   r9, SPRN_PID
-       mtspr   SPRN_SPRG_SCRATCH6, r11
        mtspr   SPRN_SPRG_SCRATCH5, r9
        mfspr   r10, SPRN_SRR0          /* Get faulting address */
 
@@ -410,9 +407,8 @@ _ENTRY(saved_ksp_limit)
         * and call the heavyweights to help us out.
         */
        mfspr   r9, SPRN_SPRG_SCRATCH5
-       mfspr   r11, SPRN_SPRG_SCRATCH6
        mtspr   SPRN_PID, r9
-       mtcr    r11
+       mtcr    r12
        mfspr   r9, SPRN_SPRG_SCRATCH4
        mfspr   r12, SPRN_SPRG_SCRATCH3
        mfspr   r11, SPRN_SPRG_SCRATCH1
@@ -556,9 +552,8 @@ finish_tlb_load:
        /* Done...restore registers and get out of here.
        */
        mfspr   r9, SPRN_SPRG_SCRATCH5
-       mfspr   r11, SPRN_SPRG_SCRATCH6
        mtspr   SPRN_PID, r9
-       mtcr    r11
+       mtcr    r12
        mfspr   r9, SPRN_SPRG_SCRATCH4
        mfspr   r12, SPRN_SPRG_SCRATCH3
        mfspr   r11, SPRN_SPRG_SCRATCH1