powerpc/64s: system call avoid setting MSR[RI] until we set MSR[EE]
This extends the MSR[RI]=0 window a little further into the system call in order to pair RI and EE enabling with a single mtmsrd. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210617155116.2167984-8-npiggin@gmail.com
This commit is contained in:
parent
e754f4d13e
commit
dd152f70bd
@ -1861,8 +1861,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE)
|
|||||||
mtctr r10
|
mtctr r10
|
||||||
bctr
|
bctr
|
||||||
.else
|
.else
|
||||||
li r10,MSR_RI
|
|
||||||
mtmsrd r10,1 /* Set RI (EE=0) */
|
|
||||||
#ifdef CONFIG_RELOCATABLE
|
#ifdef CONFIG_RELOCATABLE
|
||||||
__LOAD_HANDLER(r10, system_call_common)
|
__LOAD_HANDLER(r10, system_call_common)
|
||||||
mtctr r10
|
mtctr r10
|
||||||
|
@ -283,9 +283,9 @@ END_BTB_FLUSH_SECTION
|
|||||||
* trace_hardirqs_off().
|
* trace_hardirqs_off().
|
||||||
*/
|
*/
|
||||||
li r11,IRQS_ALL_DISABLED
|
li r11,IRQS_ALL_DISABLED
|
||||||
li r12,PACA_IRQ_HARD_DIS
|
li r12,-1 /* Set MSR_EE and MSR_RI */
|
||||||
stb r11,PACAIRQSOFTMASK(r13)
|
stb r11,PACAIRQSOFTMASK(r13)
|
||||||
stb r12,PACAIRQHAPPENED(r13)
|
mtmsrd r12,1
|
||||||
|
|
||||||
/* Calling convention has r9 = orig r0, r10 = regs */
|
/* Calling convention has r9 = orig r0, r10 = regs */
|
||||||
mr r9,r0
|
mr r9,r0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user