powerpc/mm: Use symbolic constants for filtering SRR1 bits on ISIs
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 19 Jul 2017 04:49:28 +0000 (14:49 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Aug 2017 06:06:44 +0000 (16:06 +1000)
This uses the newly defined constants for this rather than open-coded
numbers. There is a side effect on 64-bit which is to pass through
some of the new P9 bits which we didn't before.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/head_32.S
arch/powerpc/kernel/head_8xx.S

index 775ad0b77830f65eb1c4242a5909c6238eb6c596..ab043a8cac92ae60f72fa7fbb115bad320d1b058 100644 (file)
@@ -541,7 +541,7 @@ EXC_COMMON_BEGIN(instruction_access_common)
        RECONCILE_IRQ_STATE(r10, r11)
        ld      r12,_MSR(r1)
        ld      r3,_NIP(r1)
-       andis.  r4,r12,0x5820
+       andis.  r4,r12,DSISR_BAD_FAULT_64S@h
        li      r5,0x400
        std     r3,_DAR(r1)
        std     r4,_DSISR(r1)
index b1aa0119ad20247acfefccf6a8110560efa337ae..8c54166491e7cf7f8ea19cbd28a8e85943dbfa3f 100644 (file)
@@ -403,13 +403,13 @@ DataAccess:
        DO_KVM  0x400
 InstructionAccess:
        EXCEPTION_PROLOG
-       andis.  r0,r9,0x4000            /* no pte found? */
+       andis.  r0,r9,SRR1_ISI_NOPT@h   /* no pte found? */
        beq     1f                      /* if so, try to put a PTE */
        li      r3,0                    /* into the hash table */
        mr      r4,r12                  /* SRR0 is fault address */
        bl      hash_page
 1:     mr      r4,r12
-       andis.  r5,r9,0x4820            /* Filter relevant SRR1 bits */
+       andis.  r5,r9,DSISR_SRR1_MATCH_32S@h /* Filter relevant SRR1 bits */
        EXC_XFER_LITE(0x400, handle_page_fault)
 
 /* External interrupt */
index da3afa2c1658e10aa15dedee68bade4839d040dc..07ddced6bab3b840c935df57e4d1cd06c794d83f 100644 (file)
@@ -569,8 +569,8 @@ _ENTRY(DTLBMiss_jmp)
 InstructionTLBError:
        EXCEPTION_PROLOG
        mr      r4,r12
-       andis.  r5,r9,0x4820            /* Filter relevant SRR1 bits */
-       andis.  r10,r9,0x4000
+       andis.  r5,r9,DSISR_SRR1_MATCH_32S@h /* Filter relevant SRR1 bits */
+       andis.  r10,r9,SRR1_ISI_NOPT@h
        beq+    1f
        tlbie   r4
 itlbie: