blob: 25834100711b5e5b68eba2e0795e61d2036e76da [file] [log] [blame]
In about this order (assuming PTM decode pushed quite soon).
* ETMv3 full decode.
* STM "full decode".
-> This is simply to come up with a generic packet format that will consist of
Master+Channel+<payload>, where <payload> is [data]+[TS]+[marker/flag]. This
combines a number of packets from the raw STPv2 format.
* ETMv4/PTM - decoder updates to handle advanced configuration.
-> Certain (currently unused by perf / current hardware) configuration settings
can alter the format of the trace output. One example is Return Stack -
settable in the control registers for PTM/ETMv4, and removes some inline
addresses. Decoder must use a follower to correctly trace when this is set.
* ITM packet processing and decode.
-> ITM is primarily an M class SW trace module. I wouldn't expect to see it on
systems with STM, unless a companion M class was present.
*Data trace - ETMv4 / ETMv3
-> Differing solutions to data trace in v4/v3 - v4 is separate trace stream
completely, output at trace ID <instruction_trace_ID>+1. ETMv3 is inline with
the instruction trace.
Cortex-A cores do not support this architecturally. On R and M profile cores it
is an option. There are scenrios in future that could see linux on R cores, plus
on something like Juno it is possible to switch on trace for the SCP
(M class processor). So at some point data trace