Hi,
The OpenCSD library is released today @ version 0.12.0
Key updates include:- i) Correction and enhancement of ETMv4 Exception packets.
The ETMv4 exception packet contains a preferred return address. This address can also be a target address for the preceding branch if the exception was taken after a branch but before any instructions at the branch target was taken. This is implied by the ordering of the output generic elements in previous versions of the library - but this version has an explicit flag to indicate when this occurs. The intention here is to make it easier for clients that such as perf that are creating lists of branch source/target pairs to correctly spot this event.
The preferred return address can also contain a context element in the circumstances that it is also a target address. This was not being emitted correctly by the library. This has been corrected.
ii) Support for trace source captures that come from TPIU - these will include FSYNC bytes that need to be handled by the library. Update to test program and snapshot to demo this.
iii) Various minor bugfixes and documentation updates to support the changes above.
The OpenCSD dev-0v13v0 branch is created. This contains support not previously available in the library, to allow the processing of ETMv4 Q packets. This feature is still undergoing testing but is being made available should any users have a target that can enable these packets.
Support for speculative trace will be made available on this branch in due course.
Regards
Mike