On Tue, Apr 30, 2019 at 04:43:03PM -0600, Mathieu Poirier wrote:
[...]
Great inspiration comes from this patch set by Leo Yan, especially from
the disassembly script:
https://lists.linaro.org/pipermail/coresight/2018-May/001325.html
The related works were initiliazed by Tor (TI) and Mathieu :)
This was a very long time ago. The arm-cs-trace-disasm.py may be used for reference purposes but nothing more and it would certainly not work nowadays.
Could you please elaborate some more? I've already noticed that this script is not going to be upstreamed, but I'm still happy I managed to dig it out on the mailing list. It works for me (not perfectly and quite slow, but still).
Given the serious amount of code influx in the perf tools subsystem coupled with the fact that we haven't maintained that script for year, I was expecting it to blow up on you. You are quite lucky that it does anything for you.
Having a simple way to reconstruct the actual program flow is a pretty neat feature. I know that for Intel PT, perf has xed integration to produce disassembly. Are there any plans to come up with an official way to do it for CoreSight? Or is it just left for the users to come up with their scripts?
I don't know of any plans to work on this - Tor came up with the script to highlight the potential and power yielded by the "perf script" command. From there I endeavoured to keep making it work with each new kernel release but it quickly got to consume too much time.
Just more input for this :)
I also tried to upstream the python script (arm-cs-trace-disasm.py which mainly based on Tor and Mathieu's patch) at last year, finally we hold on the related work. I was purposed to use this script to verify the CoreSight kdump verification. IIRC, the main reason for stopping upstreaming this patch is we have no much confidence for this script to work with CPU wide trace mode.
Since now Mathieu's patches for CPU wide have been almostly landed into mainline kernel, maybe now it's a good time point to restart this work and upstream it to mainline kernel? Thus we can have a parity functionality with Intel PT's script [1].
How about you think for this?
Thanks, Leo Yan
[1] $LINUX/tools/perf/scripts/python/intel-pt-events.py