This patchset adds more information about the final instuction in the Instruction Range generic packet.
i) A flag is set if the last instruction is conditional [last_instr_cond].
ii) for A32/T32 ISA, the instruction subtype will be set to 'Implied Return' [OCSD_S_INSTR_V7_IMPLIED_RET] if it is one of the instructions: mov pc,lr bx r14 pop {...,pc} ldr pc,[sp], #offset
These are used by the CPU return predictor and in general by compilers when a return is required.
The patchset also removes the uint32_t casts in the version #define OCSD_VER_NUM to enable correct use with pre-processor.
updates for v2: i) Instruction matching for implied return tightened to focus correctly on specific instructions ii) Typos in help / printed text corrected.
Mike Leach (4): opencsd: Generic output packet - add additional instruction info opencsd: Typo Fixes. opencsd: docs: Update documents for new generic packet field opencsd: Update README etc for version 0.10.0
README.md | 6 ++- decoder/docs/doxygen_config.dox | 2 +- decoder/docs/prog_guide/prog_guide_generic_pkts.md | 3 +- decoder/include/common/trc_gen_elem.h | 1 + .../include/opencsd/etmv4/trc_pkt_decode_etmv4i.h | 2 + decoder/include/opencsd/ocsd_if_types.h | 1 + decoder/include/opencsd/ocsd_if_version.h | 8 ++-- decoder/include/opencsd/trc_gen_elem_types.h | 1 + decoder/source/etmv3/trc_pkt_decode_etmv3.cpp | 1 + decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp | 29 ++++++-------- decoder/source/i_dec/trc_i_decode.cpp | 1 + decoder/source/i_dec/trc_idec_arminst.cpp | 46 +++++++++++----------- decoder/source/ocsd_dcd_tree.cpp | 1 - decoder/source/ptm/trc_pkt_decode_ptm.cpp | 2 + decoder/source/trc_gen_elem.cpp | 7 +++- decoder/tests/source/trc_pkt_lister.cpp | 2 +- 16 files changed, 61 insertions(+), 52 deletions(-)