powerpc/603: use physical address directly in TLB miss handlers.
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 21 Feb 2019 10:37:56 +0000 (10:37 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 21 Feb 2019 13:10:16 +0000 (00:10 +1100)
Since commit c62ce9ef97ba ("powerpc: remove remaining bits from
CONFIG_APUS"), tophys() has become a pure constant operation.
PAGE_OFFSET is known at compile time so the physical address
can be builtin directly.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/head_32.S

index 2b0a26f66115dc7dba20279c04112cf0c66e07d0..4c2cc42399aa24b5d73be45e9ec82a356020072d 100644 (file)
@@ -505,9 +505,8 @@ InstructionTLBMiss:
        bge-    112f
        mfspr   r2,SPRN_SRR1            /* and MSR_PR bit from SRR1 */
        rlwimi  r1,r2,32-12,29,29       /* shift MSR_PR to _PAGE_USER posn */
-       lis     r2,swapper_pg_dir@ha    /* if kernel address, use */
-       addi    r2,r2,swapper_pg_dir@l  /* kernel page table */
-       tophys(r2,r2)
+       lis     r2, (swapper_pg_dir - PAGE_OFFSET)@ha   /* if kernel address, use */
+       addi    r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l        /* kernel page table */
 112:   rlwimi  r2,r3,12,20,29          /* insert top 10 bits of address */
        lwz     r2,0(r2)                /* get pmd entry */
        rlwinm. r2,r2,0,0,19            /* extract address of pte page */
@@ -578,9 +577,8 @@ DataLoadTLBMiss:
        bge-    112f
        mfspr   r2,SPRN_SRR1            /* and MSR_PR bit from SRR1 */
        rlwimi  r1,r2,32-12,29,29       /* shift MSR_PR to _PAGE_USER posn */
-       lis     r2,swapper_pg_dir@ha    /* if kernel address, use */
-       addi    r2,r2,swapper_pg_dir@l  /* kernel page table */
-       tophys(r2,r2)
+       lis     r2, (swapper_pg_dir - PAGE_OFFSET)@ha   /* if kernel address, use */
+       addi    r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l        /* kernel page table */
 112:   rlwimi  r2,r3,12,20,29          /* insert top 10 bits of address */
        lwz     r2,0(r2)                /* get pmd entry */
        rlwinm. r2,r2,0,0,19            /* extract address of pte page */
@@ -661,9 +659,8 @@ DataStoreTLBMiss:
        bge-    112f
        mfspr   r2,SPRN_SRR1            /* and MSR_PR bit from SRR1 */
        rlwimi  r1,r2,32-12,29,29       /* shift MSR_PR to _PAGE_USER posn */
-       lis     r2,swapper_pg_dir@ha    /* if kernel address, use */
-       addi    r2,r2,swapper_pg_dir@l  /* kernel page table */
-       tophys(r2,r2)
+       lis     r2, (swapper_pg_dir - PAGE_OFFSET)@ha   /* if kernel address, use */
+       addi    r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l        /* kernel page table */
 112:   rlwimi  r2,r3,12,20,29          /* insert top 10 bits of address */
        lwz     r2,0(r2)                /* get pmd entry */
        rlwinm. r2,r2,0,0,19            /* extract address of pte page */