aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Leach <mike.leach@linaro.org>2020-12-16 12:49:58 +0000
committerMike Leach <mike.leach@linaro.org>2021-01-08 17:05:25 +0000
commit01d44a34f8fc057f4b041c01f8d9502d77fe612f (patch)
tree8ca433317e322e8fe752e3a7e1f79d55551b2cd1
parenta983e7bfa3db6a2b0bbbcc3e6fbd55bcc786a3e3 (diff)
opencsd: Update Docs, README and versions for v1.0.0v1.0.0
Signed-off-by: Mike Leach <mike.leach@linaro.org>
-rw-r--r--README.md17
-rw-r--r--decoder/docs/doxygen_config.dox5
-rw-r--r--decoder/docs/prog_guide/prog_guide_generic_pkts.md20
-rw-r--r--decoder/docs/prog_guide/prog_guide_main.md1
-rw-r--r--decoder/include/opencsd/ocsd_if_version.h8
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 */
/** @}*/