From: "Aneesh Kumar K.V" <aneesh.ku...@linux.vnet.ibm.com>

This enables us to use r10 as scratch in the code.

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com>
---
 arch/powerpc/mm/slb_low.S |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/mm/slb_low.S b/arch/powerpc/mm/slb_low.S
index 487f998..2a233cb 100644
--- a/arch/powerpc/mm/slb_low.S
+++ b/arch/powerpc/mm/slb_low.S
@@ -34,7 +34,6 @@ _GLOBAL(slb_allocate_realmode)
        /* r3 = faulting address */
 
        srdi    r9,r3,60                /* get region */
-       srdi    r10,r3,28               /* get esid */
        cmpldi  cr7,r9,0xc              /* cmp PAGE_OFFSET for later use */
 
        /* r3 = address, r10 = esid, cr7 = <> PAGE_OFFSET */
@@ -63,7 +62,7 @@ _GLOBAL(slb_miss_kernel_load_linear)
        subi    r9,r9,(0xc + 4 + 1)
        lis     r10, 8
        add     r9,r9,r10
-       srdi    r10,r3,28 /* FIXME!! doing it twice */
+       srdi    r10,r3,SID_SHIFT        /* get esid */
        /*
         * for 1T we shift 12 bits more.  slb_finish_load_1T will do
         * the necessary adjustment
@@ -75,6 +74,7 @@ END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
        b       slb_finish_load_1T
 
 1:
+       srdi    r10,r3,SID_SHIFT        /* get esid */
 #ifdef CONFIG_SPARSEMEM_VMEMMAP
        /* Check virtual memmap region. To be patches at kernel boot */
        cmpldi  cr0,r9,0xf
@@ -116,9 +116,11 @@ BEGIN_FTR_SECTION
 END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
        b       slb_finish_load_1T
 
-0:     /* user address: proto-VSID = context << 15 | ESID. First check
+0:     /*
+        * user address: proto-VSID = context << 15 | ESID. First check
         * if the address is within the boundaries of the user region
         */
+       srdi    r10,r3,SID_SHIFT        /* get esid */
        srdi.   r9,r10,USER_ESID_BITS
        bne-    8f                      /* invalid ea bits set */
 
-- 
1.7.10

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to