Hi Volker,
An alternative sink device could be an etb -> this would be used as @<address>.etb in place of @20070000.etr in the instructions you mention above.
If you have access to an external JTAG debug hardware and debugger such as ARM DS-5 or other tools, then this may be able to auto-detect the CoreSight configuration for you.
Alternative the CoreSight Access Library (CSAL), can be used on a running linux system to detect CoreSight components using the 'csls' example tool - assuming you can determine the base address of the CoreSight ROM table. See the CSAL project available on Github for more information.
Regards
Mike
On 30 October 2017 at 14:37, Mathieu Poirier mathieu.poirier@linaro.org wrote:
Good day Volker,
On 27 October 2017 at 06:00, Volker Stolz vs+linaro@foldr.org wrote:
Hi, I’ve recently acquired a ZedBoard with the Zynq-7000 SoC and was interested in finding out if I could use `perf` as described on https://github.com/Linaro/OpenCSD/blob/master/HOWTO.md to grab trace data.
Unfortunately, zynq-7000.dtsi on (recent) Linux kernels does not yet contain the necessary device definitions, and zynq-zed.dts wasn’t even syntactically correct (but it was just the syntax for the include-statement, so easy to fix).
Based on Muhammad Wahab’s patch floating around the interwebs and studying the Zynq manual, I enabled support for some more of the devices (like the tpiu) in the devicetree.
Can we see that patch? Was it released publicly?
But most crucially (I guess), I can’t identify what “etr” in the HOWTO corresponds to on the Zynq. This means that the sample line from the HOWTO above $ ./tools/perf/perf record -e cs_etm/@20070000.etr/ --per-thread uname won’t work.
Here 'etr' is a short for Embedded Trace Router", a coresight component that is acting as a sink in the Juno architecture. It is important to understand that each board has its own specific coresight topology, something that need to be laid out in the device tree. There are examples for a number of board in the upstream kernel.
In the above example "20070000.etr" is the name of the ETR component as found under /sys/bus/coresight/devices/. In tern those are taken from the device tree. To understand how everything works together I suggest to purchase a dragonboard 410c.
I hope this help, Mathieu
Does anyone have experience in configuring the devicetree correctly for the Zynq? Should the perf-incantation on the Zynq also use .etr, or is there some other mechanism that perf can use on the Zynq?
Sincerely, Volker Stolz _______________________________________________ CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight