• Jordan Niethe's avatar
    powerpc: Add a ppc_inst_as_str() helper · 50428fdc
    Jordan Niethe authored
    There are quite a few places where instructions are printed, this is
    done using a '%x' format specifier. With the introduction of prefixed
    instructions, this does not work well. Currently in these places,
    ppc_inst_val() is used for the value for %x so only the first word of
    prefixed instructions are printed.
    
    When the instructions are word instructions, only a single word should
    be printed. For prefixed instructions both the prefix and suffix should
    be printed. To accommodate both of these situations, instead of a '%x'
    specifier use '%s' and introduce a helper, __ppc_inst_as_str() which
    returns a char *. The char * __ppc_inst_as_str() returns is buffer that
    is passed to it by the caller.
    
    It is cumbersome to require every caller of __ppc_inst_as_str() to now
    declare a buffer. To make it more convenient to use __ppc_inst_as_str(),
    wrap it in a macro that uses a compound statement to allocate a buffer
    on the caller's stack before calling it.
    Signed-off-by: default avatarJordan Niethe <jniethe5@gmail.com>
    Reviewed-by: default avatarJoel Stanley <joel@jms.id.au>
    Acked-by: default avatarSegher Boessenkool <segher@kernel.crashing.org>
    [mpe: Drop 0x prefix to match most existings uses, especially xmon]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200602052728.18227-1-jniethe5@gmail.com
    50428fdc
kprobes.c 16.7 KB