path: root/README.md
diff options
authorRuslan Bukin <br@FreeBSD.org>2019-10-10 13:19:21 +0000
committerRuslan Bukin <br@FreeBSD.org>2019-10-10 13:19:21 +0000
commitcf98ba14dc260458f757fa46419575cf69f45a44 (patch)
tree1cafc844f372337d2a95c8a416b915d46bf4daf8 /README.md
parenta6157d81121ac9559d806dafa346039199598442 (diff)
Import OpenCSD -- an ARM CoreSight Trace Decode library.vendor/opencsd/a1961c91b02a92f3c6ed8b145c636ac4c5565aca
Git ID a1961c91b02a92f3c6ed8b145c636ac4c5565aca Sponsored by: DARPA, AFRL
Notes: svn path=/vendor/opencsd/a1961c91b02a92f3c6ed8b145c636ac4c5565aca/; revision=353391 svn path=/vendor/opencsd/dist/; revision=353392; tag=vendor/opencsd/a1961c91b02a92f3c6ed8b145c636ac4c5565aca
Diffstat (limited to 'README.md')
1 files changed, 54 insertions, 4 deletions
diff --git a/README.md b/README.md
index 44b7c6807c35..c3f238ff1946 100644
--- a/README.md
+++ b/README.md
@@ -27,11 +27,11 @@ Releases will appear on the master branch in the git repository with an appropri
CoreSight Trace Component Support.
-_Current Version 0.8.2_
+_Current Version 0.12.0_
### Current support:
-- ETMv4 (v4.1) instruction trace - packet processing and packet decode.
+- ETMv4 (v4.4) instruction trace - packet processing and packet decode.
- PTM (v1.1) instruction trace - packet processing and packet decode.
- ETMv3 (v3.5) instruction trace - packet processing and packet decode.
- ETMv3 (v3.5) data trace - packet processing.
@@ -73,12 +73,20 @@ Run `doxygen` on the `./doxygen_config.dox` file located in the `./docs` directo
This will produce the documentation in the `./docs/html` directory. The doxygen configuration also includes
the `*.md` files as part of the documentation.
+Application Programming using the Library
-Building the Library
+See the [programmers guide](@ref prog_guide) for details on usage of the library in custom applications.
+Building and Installing the Library
See [build_libs.md](@ref build_lib) in the `./docs` directory for build details.
+The linux build makefile now contains options to install the library for a linux environment.
How the Library is used in Linux `perf`
@@ -88,6 +96,15 @@ with the standard linux perfomance analysis tool `perf`.
See [HOWTO.md](@ref howto_perf) for details.
+How to use the Library, perf and Trace for AutoFDO
+Capturing trace using perf and decoding using the library can
+generate profiles for AutoFDO.
+See [autofdo.md](@ref AutoFDO) for details and scripts.
Version and Modification Information
@@ -116,6 +133,39 @@ Version and Modification Information
Library output naming changed from 'cstraced' to 'opencsd'.
- _Version 0.8.1_: Minor updates: Use install tool to copy headers. Changes to HOWTO for perf usage.
- _Version 0.8.2_: Bugfix: C++ init errors fixed for CLANG build process.
+- _Version 0.8.3_: Bugfix: ETMv4 decoder issues fixed.
+- _Version 0.8.4_: build: makefile updates and improvements to get build process compatible with Debian packaging.
+- _Version 0.9.0_: Performance improvements for perf: Additional info in instruction range output packet. Caching memory accesses.
+ Added Programmers guide to documentation.
+- _Version 0.9.1_: Bugfix: Crash during decode when first memory access is to address where no image provided.
+- _Version 0.9.2_: Bugfix: ETMv4: Incorrect Exception number output for Genric exception packets.
+ AutoFDO: update documentation for AutoFDO usage and add in "record.sh" script
+- _Version 0.9.3_: Bugfix: Test snapshot library not handling 'offset' parameters in dump file sections.
+ Install: ocsd_if_version.h moved to opencsd/include to allow installation on OS & use in compiling client apps.
+- _Version 0.10.0_: __Updates__: Add additional information about the last instruction to the generic output packet.
+ __Docs__: update docs for updated output packet.
+ __Bugfix__: typecast removed from OCSD_VER_NUM in ocsd_if_version.h to allow use in C pre-processor.
+ __Bugfix__: ETMV4: Interworking ISA change between A32-T32 occasionally missed during instruction decode.
+- _Version 0.10.1_: __Updates__: Build update - allow multi-thread make (make -j<N>).
+ __Docs__: Minor update to AutoFDO documentation.
+- _Version 0.11.0_: __Update__: ETM v4 decoder updated to support ETM version up to v4.4
+ __Update__: Memory access callback function - added new callback signature to provide TraceID to client when requesting memory.
+ __Update__: Created new example program to demonstrate using memory buffer in APIs.
+ __Bugfix__: Typos in docs and source.
+ __Bugfix__: Memory accessor - validate callback return values.
+- _Version 0.11.1_: __Update__: build:- change -fpic to -fPIC to allow Debian build on sparc.
+ __Bugfix__: build:- remove unused variable
+- _Version 0.11.2_: __Update__: docs:- HOWTO.md update to match new perf build requirements.
+ __Bugfix__: Minor spelling typos fixed.
+- _Version 0.12.0_: __Update__: Frame deformatter - TPIU FSYNC and HSYNC support added.
+ __Update__: ETM v4: Bugfix & clarification on Exception trace handling. Where exception occurs at a branch target before any instructions
+ have been executed, the preferred return address is also the target address of the branch instruction. This case now includes as specific flag in
+ the packet. Additionally any context change associated with this target address was being applied incorrectly.
+ __Update__: Core / Architecture mapping to core names as used by test programs / snapshots updated to include additional recent ARM cores.
+ __Update__: Docs: Update to reflect new exception flag. Update test program example to reflect latest output.
+ __Bugfix__: ETM v4: Valid trace info packet was not handled correctly (0x01, 0x00).
+ __Bugfix__: ETM v4: Error messaging on commit stack overflow.
Licence Information