mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-05 14:53:45 +00:00
powerpc/mm: Use symbolic constants for filtering SRR1 bits on ISIs
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>
This commit is contained in:
parent
398a719d34
commit
b4c001dc44
3 changed files with 5 additions and 5 deletions
arch/powerpc/kernel
|
@ -541,7 +541,7 @@ EXC_COMMON_BEGIN(instruction_access_common)
|
||||||
RECONCILE_IRQ_STATE(r10, r11)
|
RECONCILE_IRQ_STATE(r10, r11)
|
||||||
ld r12,_MSR(r1)
|
ld r12,_MSR(r1)
|
||||||
ld r3,_NIP(r1)
|
ld r3,_NIP(r1)
|
||||||
andis. r4,r12,0x5820
|
andis. r4,r12,DSISR_BAD_FAULT_64S@h
|
||||||
li r5,0x400
|
li r5,0x400
|
||||||
std r3,_DAR(r1)
|
std r3,_DAR(r1)
|
||||||
std r4,_DSISR(r1)
|
std r4,_DSISR(r1)
|
||||||
|
|
|
@ -403,13 +403,13 @@ DataAccess:
|
||||||
DO_KVM 0x400
|
DO_KVM 0x400
|
||||||
InstructionAccess:
|
InstructionAccess:
|
||||||
EXCEPTION_PROLOG
|
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 */
|
beq 1f /* if so, try to put a PTE */
|
||||||
li r3,0 /* into the hash table */
|
li r3,0 /* into the hash table */
|
||||||
mr r4,r12 /* SRR0 is fault address */
|
mr r4,r12 /* SRR0 is fault address */
|
||||||
bl hash_page
|
bl hash_page
|
||||||
1: mr r4,r12
|
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)
|
EXC_XFER_LITE(0x400, handle_page_fault)
|
||||||
|
|
||||||
/* External interrupt */
|
/* External interrupt */
|
||||||
|
|
|
@ -569,8 +569,8 @@ _ENTRY(DTLBMiss_jmp)
|
||||||
InstructionTLBError:
|
InstructionTLBError:
|
||||||
EXCEPTION_PROLOG
|
EXCEPTION_PROLOG
|
||||||
mr r4,r12
|
mr r4,r12
|
||||||
andis. r5,r9,0x4820 /* Filter relevant SRR1 bits */
|
andis. r5,r9,DSISR_SRR1_MATCH_32S@h /* Filter relevant SRR1 bits */
|
||||||
andis. r10,r9,0x4000
|
andis. r10,r9,SRR1_ISI_NOPT@h
|
||||||
beq+ 1f
|
beq+ 1f
|
||||||
tlbie r4
|
tlbie r4
|
||||||
itlbie:
|
itlbie:
|
||||||
|
|
Loading…
Add table
Reference in a new issue