* 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 scenarios 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 may be required.