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