lkml.org 
[lkml]   [2017]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 010/103] powerpc/powernv: Fix opal_exit tracepoint opcode
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Michael Ellerman <mpe@ellerman.id.au>

    commit a7e0fb6c2029a780444d09560f739e020d54fe4d upstream.

    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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/powerpc/platforms/powernv/opal-wrappers.S | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/powerpc/platforms/powernv/opal-wrappers.S
    +++ b/arch/powerpc/platforms/powernv/opal-wrappers.S
    @@ -146,7 +146,7 @@ opal_tracepoint_entry:
    opal_tracepoint_return:
    std r3,STK_REG(R31)(r1)
    mr r4,r3
    - ld r0,STK_REG(R23)(r1)
    + ld r3,STK_REG(R23)(r1)
    bl __trace_opal_exit
    ld r3,STK_REG(R31)(r1)
    addi r1,r1,STACKFRAMESIZE

    \
     
     \ /
      Last update: 2017-05-11 17:19    [W:2.739 / U:0.444 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site