Commit 6e9a2f6e authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman

powerpc/64s: Optimise clearing of MSR_EE in masked_[H]interrupt()

MSR_EE is always enabled in SRR1 for masked interrupts, so we can use
xor to clear it.
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent e0c827c0
...@@ -1373,8 +1373,7 @@ masked_##_H##interrupt: \ ...@@ -1373,8 +1373,7 @@ masked_##_H##interrupt: \
1: andi. r10,r10,(PACA_IRQ_DBELL|PACA_IRQ_HMI); \ 1: andi. r10,r10,(PACA_IRQ_DBELL|PACA_IRQ_HMI); \
bne 2f; \ bne 2f; \
mfspr r10,SPRN_##_H##SRR1; \ mfspr r10,SPRN_##_H##SRR1; \
rldicl r10,r10,48,1; /* clear MSR_EE */ \ xori r10,r10,MSR_EE; /* clear MSR_EE */ \
rotldi r10,r10,16; \
mtspr SPRN_##_H##SRR1,r10; \ mtspr SPRN_##_H##SRR1,r10; \
2: mtcrf 0x80,r9; \ 2: mtcrf 0x80,r9; \
ld r9,PACA_EXGEN+EX_R9(r13); \ ld r9,PACA_EXGEN+EX_R9(r13); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment