[PATCH v3 3/4] perf annotate: add powerpc support
mpe at ellerman.id.au
Fri Jul 8 18:31:38 AEST 2016
Ravi Bangoria <ravi.bangoria at linux.vnet.ibm.com> writes:
> On Wednesday 06 July 2016 03:38 PM, Michael Ellerman wrote:
> I've sent v4 which enables annotate for bctr' instructions.
> for 'bctr', it will show down arrow(indicate jump) and 'bctrl' will show
> right arrow(indicate call). But no navigation options will be provided.
> By pressing Enter key on that, message will be shown that like
> "Invalid target"
>>>> It doesn't look like we have the opcode handy here? Could we get it somehow?
>>>> That would make this a *lot* more robust.
>>> objdump prints machine code, but I don't know how difficult that would
>>> be to parse to get opcode.
>> Normal objdump -d output includes the opcode, eg:
>> c00000000000886c: 2c 2c 00 00 cmpdi r12,0
>> The only thing you need to know is the endian and you can reconstruct
>> the raw instruction.
>> Then you can just decode the opcode, see how we do it in the kernel with
>> eg. instr_is_relative_branch().
> I'm sorry. I was thinking that you wants to show opcodes with perf
> annotate. But you were asking to use opcode instead of parsing
> This looks like rewrite parsing code. I don't know whether there is any
> library already available for this which we can directly use. I'm thinking
> about this.
OK don't worry about it for now. We should get this merged for starters
and we can always improve it later.
More information about the Linuxppc-dev