aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>2016-05-15 00:14:13 -0400
committerPaul Mackerras <paulus@ozlabs.org>2016-06-20 00:11:25 -0400
commit6dd06d15a86e8fca21ed4fb568bed2b3da7a7907 (patch)
treef2d64b772867024f6772d2d9418ce90944a85558 /arch/powerpc
parentb69890d18fa33a53cec6ae5c93555ee0c24fe0a9 (diff)
powerpc/powernv: Remove the usage of PACAR1 from opal wrappers
OPAL_CALL wrapper code sticks the r1 (stack pointer) into PACAR1 purely for debugging purpose only. The power7_wakeup* functions relies on stack pointer saved in PACAR1. Any opal call made using opal wrapper (directly or in-directly) before we fall through power7_wakeup*, then it ends up replacing r1 in PACAR1(r13) leading to kernel panic. So far we don't see any issues because we have never made any opal calls using OPAL wrapper before power7_wakeup*. But the subsequent HMI patch would need to invoke C calls during cpu wakeup/idle path that in-directly makes opal call using opal wrapper. This patch facilitates the subsequent HMI patch by removing usage of PACAR1 from opal call wrapper. Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/powernv/opal-wrappers.S2
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S
index e45b88a5d7e0..df6ad949e35f 100644
--- a/arch/powerpc/platforms/powernv/opal-wrappers.S
+++ b/arch/powerpc/platforms/powernv/opal-wrappers.S
@@ -64,7 +64,6 @@ END_FTR_SECTION(0, 1); \
64 OPAL_BRANCH(opal_tracepoint_entry) \ 64 OPAL_BRANCH(opal_tracepoint_entry) \
65 mfcr r12; \ 65 mfcr r12; \
66 stw r12,8(r1); \ 66 stw r12,8(r1); \
67 std r1,PACAR1(r13); \
68 li r11,0; \ 67 li r11,0; \
69 mfmsr r12; \ 68 mfmsr r12; \
70 ori r11,r11,MSR_EE; \ 69 ori r11,r11,MSR_EE; \
@@ -127,7 +126,6 @@ opal_tracepoint_entry:
127 mfcr r12 126 mfcr r12
128 std r11,16(r1) 127 std r11,16(r1)
129 stw r12,8(r1) 128 stw r12,8(r1)
130 std r1,PACAR1(r13)
131 li r11,0 129 li r11,0
132 mfmsr r12 130 mfmsr r12
133 ori r11,r11,MSR_EE 131 ori r11,r11,MSR_EE