On 30 Oct 2017, at 15:37, Mathieu Poirier mathieu.poirier@linaro.org wrote:
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.
Dear Mathieu, thank you for your reply.
Muhammad’s patch is in this thread: http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/459888.ht...
According to the Zynq-manual, there is no ETR component, at least not under this name, only a “funnel”: https://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM...
I will try to set up a student project in looking deeper into CoreSight on the Zynq, but it will take some time to find a student with the right skill-set, I guess.
In any case, thank you for you input, and maybe I will indeed get an additional board that supports the perf-based tracing described in the how-to (though Zynq is our "main platform”).
Sincerely, Volker Stolz — Volker Stolz / http://prosjekt.hib.no/ict/people/volker-stolz/