powerpc/epapr: Don't use wrteei on non booke
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 19 Dec 2022 18:46:00 +0000 (19:46 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 17 Feb 2023 11:07:04 +0000 (22:07 +1100)
wrteei is only for booke. Use the standard mfmsr/ori/mtmsr
when non booke.

Reported-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b29c7f1727433b003eae050e44072741c8ac223b.1671475543.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/epapr_hcalls.S

index 69a912550577efd0f2f21372f3db8dbae7ecb8c5..033116e465d08741b6583005197a6ae62a17ae1d 100644 (file)
@@ -21,7 +21,13 @@ _GLOBAL(epapr_ev_idle)
        ori     r4, r4,_TLF_NAPPING     /* so when we take an exception */
        PPC_STL r4, TI_LOCAL_FLAGS(r2)  /* it will return to our caller */
 
+#ifdef CONFIG_BOOKE_OR_40x
        wrteei  1
+#else
+       mfmsr   r4
+       ori     r4, r4, MSR_EE
+       mtmsr   r4
+#endif
 
 idle_loop:
        LOAD_REG_IMMEDIATE(r11, EV_HCALL_TOKEN(EV_IDLE))