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
|
||||
bctr
|
||||
.else
|
||||
li r10,MSR_RI
|
||||
mtmsrd r10,1 /* Set RI (EE=0) */
|
||||
#ifdef CONFIG_RELOCATABLE
|
||||
__LOAD_HANDLER(r10, system_call_common)
|
||||
mtctr r10
|
||||
|
@ -283,9 +283,9 @@ END_BTB_FLUSH_SECTION
|
||||
* trace_hardirqs_off().
|
||||
*/
|
||||
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 r12,PACAIRQHAPPENED(r13)
|
||||
mtmsrd r12,1
|
||||
|
||||
/* Calling convention has r9 = orig r0, r10 = regs */
|
||||
mr r9,r0
|
||||
|
Loading…
Reference in New Issue
Block a user