Re: [PATCH v3 3/4] perf annotate: add powerpc support

From: Arnaldo Carvalho de Melo
Date: Mon Jul 11 2016 - 22:39:54 EST


Em Tue, Jul 12, 2016 at 07:51:46AM +0530, Ravi Bangoria escreveu:
> Hi Arnaldo,
>
> On Friday 08 July 2016 02:01 PM, Michael Ellerman wrote:
> > Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx> 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"
> > Great thanks.
>
> I've sent v4 series. Please review it.

If somebody else could do it and provide acks/reviewed by, that would
help,

Michael, can I get your comments as such?

Thanks,

- Arnaldo

> -Ravi
>
> > > > > > 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
> > > instructions.
> > Yeah.
> >
> > > 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.
> >
> > cheers
> >