aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2017-02-07 05:01:01 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2017-02-09 21:40:22 -0500
commita7e0fb6c2029a780444d09560f739e020d54fe4d (patch)
tree95f85a62fb4d13ed13f4f3b84d58c611830f2de2
parent99ad503287daf78e19e64e0e51f1d60a2a592217 (diff)
powerpc/powernv: Fix opal_exit tracepoint opcode
Currently the opal_exit tracepoint usually shows the opcode as 0: <idle>-0 [047] d.h. 635.654292: opal_entry: opcode=63 <idle>-0 [047] d.h. 635.654296: opal_exit: opcode=0 retval=0 kopald-1209 [019] d... 636.420943: opal_entry: opcode=10 kopald-1209 [019] d... 636.420959: opal_exit: opcode=0 retval=0 This is because we incorrectly load the opcode into r0 before calling __trace_opal_exit(), whereas it expects the opcode in r3 (first function parameter). In fact we are leaving the retval in r3, so opcode and retval will always show the same value. Instead load the opcode into r3, resulting in: <idle>-0 [040] d.h. 636.618625: opal_entry: opcode=63 <idle>-0 [040] d.h. 636.618627: opal_exit: opcode=63 retval=0 Fixes: c49f63530bb6 ("powernv: Add OPAL tracepoints") Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/platforms/powernv/opal-wrappers.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S
index f7c19c9c57ed..63fe1b2b1175 100644
--- a/arch/powerpc/platforms/powernv/opal-wrappers.S
+++ b/arch/powerpc/platforms/powernv/opal-wrappers.S
@@ -146,7 +146,7 @@ opal_tracepoint_entry:
146opal_tracepoint_return: 146opal_tracepoint_return:
147 std r3,STK_REG(R31)(r1) 147 std r3,STK_REG(R31)(r1)
148 mr r4,r3 148 mr r4,r3
149 ld r0,STK_REG(R23)(r1) 149 ld r3,STK_REG(R23)(r1)
150 bl __trace_opal_exit 150 bl __trace_opal_exit
151 ld r3,STK_REG(R31)(r1) 151 ld r3,STK_REG(R31)(r1)
152 addi r1,r1,STACKFRAMESIZE 152 addi r1,r1,STACKFRAMESIZE