Feature patch set adding the ETMv3 instruction decoder to the main arm-dev branch.
Changes add the ETMV3 packet decode objects, along with updates to C-API and test programs
This patchset will be applied to the arm-dev trunk unless significant changes are warranted. Stable release branch opencsd-0v003 will then be created.
Mike Leach (9): OCSD response enum value name corrected. ETMv3 packet decoder Refactor etmv3 config class and etmv3 packet class to improve encapsulation. ETMv3 decoder - created code follower generic class. ETMv3 decoder updates. TC2 snapshot update. ETMv3 Decoder Updates ETMv3 : update to linux build makefile update readme to reflect correct decoder support.
README.md | 6 +- decoder/build/linux/ref_trace_decode_lib/makefile | 5 +- .../ref_trace_decode_lib.vcxproj | 6 +- .../ref_trace_decode_lib.vcxproj.filters | 18 +- decoder/include/c_api/opencsd_c_api.h | 13 + decoder/include/common/ocsd_code_follower.h | 231 + decoder/include/common/ocsd_dcd_tree_elem.h | 4 +- decoder/include/common/ocsd_gen_elem_list.h | 153 + decoder/include/common/ocsd_pe_context.h | 116 + decoder/include/common/trc_gen_elem.h | 82 +- decoder/include/etmv3/etmv3_decoder.h | 1 + decoder/include/etmv3/trc_cmp_cfg_etmv3.h | 58 +- decoder/include/etmv3/trc_pkt_decode_etmv3.h | 179 +- decoder/include/etmv3/trc_pkt_elem_etmv3.h | 115 +- decoder/include/etmv3/trc_pkt_types_etmv3.h | 12 +- decoder/include/ocsd_if_types.h | 8 +- decoder/include/trc_gen_elem_types.h | 4 +- decoder/include/trc_pkt_types.h | 2 +- decoder/source/c_api/ocsd_c_api.cpp | 21 +- decoder/source/etmv3/trc_cmp_cfg_etmv3.cpp | 17 +- decoder/source/etmv3/trc_pkt_decode_etmv3.cpp | 553 +- decoder/source/etmv3/trc_pkt_elem_etmv3.cpp | 267 +- decoder/source/etmv3/trc_pkt_proc_etmv3_impl.cpp | 9 +- decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp | 16 +- decoder/source/etmv4/trc_pkt_proc_etmv4i_impl.cpp | 2 +- decoder/source/ocsd_code_follower.cpp | 154 + decoder/source/ocsd_dcd_tree.cpp | 29 +- decoder/source/ocsd_error.cpp | 3 +- decoder/source/ocsd_gen_elem_list.cpp | 168 + decoder/source/ptm/trc_pkt_decode_ptm.cpp | 2 +- decoder/source/ptm/trc_pkt_proc_ptm.cpp | 2 +- decoder/source/stm/trc_pkt_proc_stm.cpp | 2 +- decoder/source/trc_frame_deformatter.cpp | 2 +- decoder/source/trc_gen_elem.cpp | 19 +- .../snapshot_parser_lib/source/ss_to_dcdtree.cpp | 13 +- decoder/tests/snapshots/TC2/ds5-dumps/etm_0.txt | 7379 ------------ decoder/tests/snapshots/TC2/ds5-dumps/etm_0x10.txt | 7381 ------------ decoder/tests/snapshots/TC2/ds5-dumps/etm_0x11.txt | 7612 ------------ decoder/tests/snapshots/TC2/ds5-dumps/etm_0x12.txt | 1980 ---- .../tests/snapshots/TC2/ds5-dumps/etmv3_0x10.txt | 7518 ++++++++++++ .../tests/snapshots/TC2/ds5-dumps/etmv3_0x11.txt | 7728 +++++++++++++ .../tests/snapshots/TC2/ds5-dumps/etmv3_0x12.txt | 2001 ++++ decoder/tests/snapshots/TC2/ds5-dumps/ptm_0x13.txt | 11553 ------------------- .../tests/snapshots/TC2/ds5-dumps/ptmv1_0x13.txt | 9913 ++++++++++++++++ decoder/tests/source/simple_pkt_c_api.c | 18 +- 45 files changed, 29197 insertions(+), 36178 deletions(-) create mode 100644 decoder/include/common/ocsd_code_follower.h create mode 100644 decoder/include/common/ocsd_gen_elem_list.h create mode 100644 decoder/include/common/ocsd_pe_context.h create mode 100644 decoder/source/ocsd_code_follower.cpp create mode 100644 decoder/source/ocsd_gen_elem_list.cpp delete mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etm_0.txt delete mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etm_0x10.txt delete mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etm_0x11.txt delete mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etm_0x12.txt create mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etmv3_0x10.txt create mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etmv3_0x11.txt create mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/etmv3_0x12.txt delete mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/ptm_0x13.txt create mode 100644 decoder/tests/snapshots/TC2/ds5-dumps/ptmv1_0x13.txt