diff options
-rw-r--r-- | README.md | 17 | ||||
-rw-r--r-- | decoder/docs/doxygen_config.dox | 5 | ||||
-rw-r--r-- | decoder/docs/prog_guide/prog_guide_generic_pkts.md | 20 | ||||
-rw-r--r-- | decoder/docs/prog_guide/prog_guide_main.md | 1 | ||||
-rw-r--r-- | decoder/include/opencsd/ocsd_if_version.h | 8 |
5 files changed, 43 insertions, 8 deletions
diff --git a/README.md b/README.md index f180a7550e37..bdedf3f8c7e7 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Releases will appear on the master branch in the git repository with an appropri CoreSight Trace Component Support. ---------------------------------- -_Current Version 0.14.4_ +_Current Version 1.0.0_ ### Current support: @@ -225,6 +225,21 @@ Version and Modification Information - __Bugfix__: makefile: tests: Fix build race problem (github issue #32) - __Bugfix__: tests: fix ignore tpiu command line options (github issue #28) +- _Version 1.0.0_: + - __New Decode Protocol__: Support added for the ETE protocol, used by ARM PEs that implement the FEAT_ETE + feature. Supports new architectural features in this trace, including FEAT_TME. + - __Update__: Output Elememts: New protocol defines two new output elements. + - __Update__: Add support for WFIT / WFET instructions traced as P0 elements. + - __Update__: Architecture versioning. Arch v8 + PEs may add features in a flexible manner, and ARM also + declares future features ahead of architecture versions to allow support to be added. + APIs requiring an architecture version can now use ARCH_AA64 to declare a version of v8.3 + + additional features. This relaxes the strict versionnig rules that the decoder uses when + looking for Opcodes as trace waypoints. + - __Update__: docs: Add linux 'man' file and installation. + - __Bugfix__: build: Fix clean install, and remove static lib build test from main makefile to + dev makefile only. (github issue #33) + + Licence Information =================== diff --git a/decoder/docs/doxygen_config.dox b/decoder/docs/doxygen_config.dox index b2a3a5734e79..65c893105274 100644 --- a/decoder/docs/doxygen_config.dox +++ b/decoder/docs/doxygen_config.dox @@ -38,7 +38,7 @@ PROJECT_NAME = "OpenCSD - CoreSight Trace Decode Library" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.14.4 +PROJECT_NUMBER = 1.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -805,7 +805,8 @@ INPUT = ../include \ ./prog_guide \ ../include/opencsd \ ../include \ - ../tests/auto-fdo/autofdo.md + ../tests/auto-fdo/autofdo.md \ + ../include/opencsd/ete # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/decoder/docs/prog_guide/prog_guide_generic_pkts.md b/decoder/docs/prog_guide/prog_guide_generic_pkts.md index 0eaa9f9a34d3..4a2f5b296c09 100644 --- a/decoder/docs/prog_guide/prog_guide_generic_pkts.md +++ b/decoder/docs/prog_guide/prog_guide_generic_pkts.md @@ -85,7 +85,8 @@ typedef struct _ocsd_generic_trace_elem { uint32_t num_instr_range; /* number of instructions covered by range packet (for T32 this cannot be calculated from en-st/i_size) */ unsync_info_t unsync_eot_info; /* additional information for unsync / end-of-trace packets. */ trace_marker_payload_t sync_marker; /* marker element - sync later element to position in stream */ - }; + trace_memtrans_t mem_trans; /* memory transaction packet - transaction event */ + }; const void *ptr_extended_data; /* pointer to extended data buffer (data trace, sw trace payload) / custom structure */ @@ -347,6 +348,23 @@ typedef struct _trace_marker_payload_t { } trace_marker_payload_t; ~~~ +### OCSD_GEN_TRC_ELEM_MEMTRANS ### +__packet fields valid__: `mem_trans` + +Memory transaction elements may appear in the output stream, if they are not otherwise cancelled +by speculative trace packets. + +The memory transaction field has values as defined in the enum below:- + +~~~{.c} +typedef enum _memtrans_t { + OCSD_MEM_TRANS_TRACE_INIT,/* Trace started while PE in transactional state */ + OCSD_MEM_TRANS_START, /* Trace after this packet is part of a transactional memory sequence */ + OCSD_MEM_TRANS_COMMIT, /* Transactional memory sequence valid. */ + OCSD_MEM_TRANS_FAIL, /* Transactional memory sequence failed - operations since start of transaction have been unwound. */ +} trace_memtrans_t; +~~~ + ### OCSD_GEN_TRC_ELEM_CUSTOM ### __packet fields optional__: `extended_data -> ptr_extended_data`,_any others_ diff --git a/decoder/docs/prog_guide/prog_guide_main.md b/decoder/docs/prog_guide/prog_guide_main.md index 87afbf0225c6..d0e2e7c837b0 100644 --- a/decoder/docs/prog_guide/prog_guide_main.md +++ b/decoder/docs/prog_guide/prog_guide_main.md @@ -272,6 +272,7 @@ The different trace source types have different configuration structures, classe | protocol | config struct | class | name define | |:----------|:--------------------|:------------|:-----------------------------| +| __ETE__ | @ref ocsd_ete_cfg | ETEConfig | @ref OCSD_BUILTIN_DCD_ETE | | __ETMv4__ | @ref ocsd_etmv4_cfg | EtmV4Config | @ref OCSD_BUILTIN_DCD_ETMV4I | | __ETMv3__ | @ref ocsd_etmv3_cfg | EtmV3Config | @ref OCSD_BUILTIN_DCD_ETMV3 | | __PTM__ | @ref ocsd_ptm_cfg | PtmConfig | @ref OCSD_BUILTIN_DCD_PTM | diff --git a/decoder/include/opencsd/ocsd_if_version.h b/decoder/include/opencsd/ocsd_if_version.h index e0461dbdd0cd..1a932a26862f 100644 --- a/decoder/include/opencsd/ocsd_if_version.h +++ b/decoder/include/opencsd/ocsd_if_version.h @@ -42,9 +42,9 @@ /** @name Library Versioning @{*/ -#define OCSD_VER_MAJOR 0x0 /**< Library Major Version */ -#define OCSD_VER_MINOR 0xE /**< Library Minor Version */ -#define OCSD_VER_PATCH 0x4 /**< Library Patch Version */ +#define OCSD_VER_MAJOR 0x1 /**< Library Major Version */ +#define OCSD_VER_MINOR 0x0 /**< Library Minor Version */ +#define OCSD_VER_PATCH 0x0 /**< Library Patch Version */ /** Library version number - MMMMnnpp format. MMMM = major version, @@ -53,7 +53,7 @@ */ #define OCSD_VER_NUM ((OCSD_VER_MAJOR << 16) | (OCSD_VER_MINOR << 8) | OCSD_VER_PATCH) -#define OCSD_VER_STRING "0.14.4" /**< Library Version string */ +#define OCSD_VER_STRING "1.0.0" /**< Library Version string */ #define OCSD_LIB_NAME "OpenCSD Library" /**< Library name string */ #define OCSD_LIB_SHORT_NAME "OCSD" /**< Library Short name string */ /** @}*/ |