The latest version of OpenCSD has been released.
This v1.0.0 release adds in support for ETE - an extended trace protocol, used by ARM PEs that have the FEAT_ETE architectural feature. (See ARM future architecture docs).
The documentation 'man' file is added in this release.
This release also adds a fix for github issue #33.
Note: the protocol update results in additional output packet types, This requires an update to the perf cs-etm-decoder code to handle new enum values, and the makefile to ensure that perf builds with 1.0.0 using this extension.
The patch for this can be seen here:- https://lists.linaro.org/pipermail/coresight/2021-January/005496.html
Regards
Mike
On 2021-01-08 18:05 +0000, Mike Leach wrote:
Note: the protocol update results in additional output packet types, This requires an update to the perf cs-etm-decoder code to handle new enum values, and the makefile to ensure that perf builds with 1.0.0 using this extension.
Is there any incompatibility here (existing perf with new opencsd, or new opencsd with old perf) or is it just that new opencsd with old perf will just have some unidentified packets under some circumstance (and what is the circumstance - new hardware?)
Or to put it another way does a distro need to ensure that perf is updated before libopencsd is bumped to 1.0.0?
Wookey
HI Wookie,
The changes are a couple of new packet types that are generated as a result of the FEAT_ETE protocol - which will in due course appear in future architecture hardware.
These packet types are enumerated in the headers - which means that the switch statement in one of the perf .c files does not have the new values. This causes a build issue with the perf source + 1.0.0 OpenCSD - the perf build objects to missing enum values in a switch statement, even if a default: is use.
Binaries should be OK - the new types will be ignored by older perf versions via the default statement - though they will never be seen in existing protocols.
Regards
On Sat, 9 Jan 2021 at 21:00, Wookey wookey@wookware.org wrote:
On 2021-01-08 18:05 +0000, Mike Leach wrote:
Note: the protocol update results in additional output packet types, This requires an update to the perf cs-etm-decoder code to handle new enum values, and the makefile to ensure that perf builds with 1.0.0 using this extension.
Is there any incompatibility here (existing perf with new opencsd, or new opencsd with old perf) or is it just that new opencsd with old perf will just have some unidentified packets under some circumstance (and what is the circumstance - new hardware?)
Or to put it another way does a distro need to ensure that perf is updated before libopencsd is bumped to 1.0.0?
Wookey
Principal hats: Linaro, Debian, Wookware, ARM http://wookware.org/