Commit dd152f70 authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman
Browse files

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: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210617155116.2167984-8-npiggin@gmail.com
parent e754f4d1
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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