aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-03opencsd: Update version info and README for 1.5.2v1.5.2ocsd-mainMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-04-03build: win: Fix name for ocsd-perr utility in windows buildMike Leach
Windows version of this test utility was named perr.exe. Change to match linux as ocsd-perr.exe. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-04-02opencsd: docs: Update docs for test programsMike Leach
Add more information on trc_pkt_lister, and add in list of development only test utilities. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-03-28opencsd: docs: Update trc_pkt_lister man fileMike Leach
The trc_pkt_lister man file was out of date. Update to contain all the latest relevant information. Adjust the makefile to install / clean man file separately from library. Reported-by: Wookey <wookey@wookware.org> Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-03-28tests: Fix typo in trc_pkt_lister help outputMike Leach
Fix missing ')' When listing options, put dev only ones in separate section. Reported-by: Wookey <wookey@wookware.org> Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-03-28build: Fix clean of mem_acc_testMike Leach
Build of mem_acc_test app has no corresponding clean operation, which can cause subsequent builds to fail. Add clean operation. Reported-by: Wookey <wookey@wookware.org> Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-03-28opencsd: stm: Fix build warning in 64 bit build of STMMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-03-28opencsd: etmv4: Fix build warning on decoderMike Leach
Fixes a build warning on the decoder source. Reported-by: Wookey <wookey@wookware.org> Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-01-19docs: Fix formatting in README.mdMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2024-01-19opencsd: Update README and version info for 1.5.1v1.5.1Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Add tests for ARM Arch v9.5 Feat_PAuth_lrMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: ete: Add new instructions for Arch v9.5Mike Leach
Add in new instructions from Arch 9.5 Feat_PAuth_LR, RETA<k>SPPC <label> and RETA<k>SPPC <Rm> to iinstruction decoder to recognise these as indirect branches. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: Update version info and README for 1.4.2v1.4.2Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Additional ETE snapshot with multi session buffers.Mike Leach
Add snapshot to test multi-session decode Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Update test program to support multi-session snapshots.Mike Leach
Snapshots can declare multiple buffer in trace.ini: [trace_buffers] buffers=buffer1,buffer2 Update test program to process all listed buffers into single file. Assumes config of first buffer valid for all. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: Enhance output for OCSD_GEN_TRC_ELEM_ADDR_NACC packetMike Leach
The memory space used when requesting memory that results in the _NACC packet is now output as part of the packet printed string. string Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: docs: Fix arm-cs-trace-disasm.py file path error (github #60)yuxiangyang
cs-trace-disasm.py is pushed to linux kernel repo, and file path is tools/perf/scripts/python/arm-cs-trace-disasm.py. Fixes docs HOWTO.md and test script perf-test-script.bash Reported as Github pull request #60 Signed-off-by: yuxiangyang <yuxiangyang326@gmail.com>
2023-12-18opencsd: stm: Fix init of Master and Channel IDs (github #61)Mike Leach
Master and channel IDs were not being correctly set when decoder was reset. Additionally they were not reset when a VERSION packet is received (Github issue #61) Reported-by: MommeSherif on github.com Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18build: Update GCC directory version handlingMike Leach
Setting GCCDIR=1 when using makefile.dev will cause the output directory to be of the form builddir/<arch>/GCC_<ver> Fix makefile to allow for version numbers longer than 3 characters. e.g. 11.3 Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Add snapshot for RME memory areas,Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18docs: Update docs for new features.Mike Leach
Add docs for caching and instruction run limit on etmv4 / ete decoder. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: update test scripts to handle debug optionsMike Leach
Test updates to check the debug features enabled by the OPENCSD_INSTR_RANGE_LIMIT and OPENCSD_ERR_ON_AA64_BAD_OPCODE env vars. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Update snapshot reader "dump" section handlingMike Leach
The snapshot reader is updated to use the 'space' key in the [dump] section of the snapshot files. This sets the memory space used when registering the memory dump file with the decoder. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Add test for mem-acc infrastructureMike Leach
Test mem-acc mapper, accessors and caching Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: update trace packet lister to control memacc cachingMike Leach
Packet lister test program adds command line parameters to adjust memacc caching parameters Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: Update decode tree to use memacc caching.Mike Leach
Decode tree will read any OPENCSD_xx env vars and adjust caching accordingly Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: memacc: update caching for accessors to allow runtime flexibilityMike Leach
Caching of memory data is now tunable either from the client by API, or via runtime environment variables. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: memacc: Updates to memory accessors and mapperMike Leach
Add default constructor and initialise function to mem-acc-buf and mem-acc-cb to allow declaration as local stack objects. Fix memory issue in mapper - do not destroy accessors on clear, code that adds then must delete them after removal from mapper. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: memacc: add in Realm and Root memory spacesMike Leach
Decode defines memory spaces used to access program image. RME requires that new spaces for Realm and Root are required. New types defined to allow clients to set memory blocks / handle callbacks for these memory spaces. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: etmv4: Optional limit on number of instructions in range.Mike Leach
Adds an optional limit on the number of instructions that will be allow in a single instruciton range. Limit not used unless an environment variable "OPENCSD_INSTR_RANGE_LIMIT" is set. Use to debug possible decoder runaway if incorrect program image supplied to decoder is suspected. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: etmv4: Handle M class tail chained exceptionsMike Leach
M class exceptions can be tail chained with the address set to a fixed indicator value and not being the preferred return address. Fix this be handling that value and not trying to walk to the address. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18opencsd: aarch64 instruction decode - error if opcode in illegal rangeMike Leach
AArch64 instructions have an illegal opcode range when top 16 bits or 0x0000 Return error if one of these opcodes is seen. Help debug issues when incorrect memory is provided to the decoder. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18tests: Add util to quickly list error codes.Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18build: remove VS2015 supportMike Leach
VS2015 is deprecated as product no longer supported. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-12-18build: Remove the VS2010 workaroundsMike Leach
Remove residual VS2010 workarounds as support for VS2010 is no longer supported. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-08-17opencsd: Update version info and README for 1.4.1v1.4.1Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-08-17buid: remove some vs2022 generated files from repo and update .gitignoreMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-08-17opencsd: test: add test mode to trc_pkt_lister to mute outputMike Leach
Add option to mute printed output to allow tests of library performance Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-08-16opencsd: etm4: fix overrun error in p0 stack erase from front. (github #53, #58)Mike Leach
Possible overrun error when using iterators in mispredictAtoms. Fix p0 stack to ensure iterator cannot run past end() element & correctly take reference on element for later deleting after iterator is erased. Reported-by yabinc <yabinc@google.com> (github issue #53, #58) Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-08-15opencsd: Fix memory leak for C-API output object (github #55)Mike Leach
Need local copy of Generic output object to correctly return via get func and delete on C-API destroy decode tree. Reported-by: 'holio0' (github issue #55) Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-01-19opencsd: Update version info and README for 1.4.0v1.4.0Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-01-19tests: ete: Add ETE test for FEAT_ITE supportMike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-01-19opencsd: ete: Add support for Arch v9.4 FEAT_ITE.Mike Leach
Adds in support for cores with FEAT_ITE (arch v9.4, ETE p1v3), which allows a PE to inject instumentation data directly into the ETE trace stream. This new packet is decoded and passed through to the decoder. This generates a new generic packet type OCSD_GEN_TRC_ELEM_INSTRUMENTATION containing the instrumentation payload. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-01-19opencsd: etm4: Fix memory leak in mispredict handling. (github #52)Mike Leach
Mispredict handler was removing unneeded addresses between the mispredict packet and the atom packet, without deleting the item afterwards. Erase now also deletes the unwanted item. Fixes issue #52 from github Signed-off-by: Mike Leach <mike.leach@linaro.org>
2023-01-19build: win32: debug: Enable ASAN for debug buildMike Leach
ocsdlib has ASAN enabled for this build - follow suit with test progs to allow use of ASAN checks in debug. Signed-off-by: Mike Leach <mike.leach@linaro.org>
2022-10-31opencsd: Update version info and README for 1.3.3v1.3.3Mike Leach
Signed-off-by: Mike Leach <mike.leach@linaro.org>
2022-10-31opencsd: frame demux: fix handling of stream with HSYNC and FSYNC (github #50)Mike Leach
The handling for trace streams using HSYNC and FSYNC packets was not correctly accounting for an odd number of HSYNC packets in a stream, which could result in read past end of buffer. Routine changed to ensure handling of 2 byte aligned end of buffer, and FSYNC across a pair of input buffers. Reported-by: yabinc <yabinc@google.com> (github issue #50) Signed-off-by: Mike Leach <mike.leach@linaro.org>
2022-10-31opencsd: frame demux: Fix 4xFSYNC scanner (Github #49)Mike Leach
The reset on 4xFSYNC for frame aligned input data blocks was not correctly throwing an error on bad input, resulting in subsequent block overruns Additionally, a 4XFSYNC at the end of block could also result in an read past end of block. Reported-by: yabinc <yabinc@google.com> (github issue #49) Signed-off-by: Mike Leach <mike.leach@linaro.org>
2022-10-31opencsd: frame demux: Fix missing errors on incorrect config flagsMike Leach
Currently setting incorrect configuration flags on initialising the decode tree for the demux formatter does not result in error messages being seen Fix adjusts the demux module to split init and configure to allow attachement of logger before configure. Also reversed the priority of HSYNC and FSYNC alignment values. Always 2 byte multiples on HSYNC or HSYNC + FSYNC, 4 byte if FSYNC only Signed-off-by: Mike Leach <mike.leach@linaro.org>
2022-10-31opencsd: frame demux: Issue with 7 IDs in single frame (github #51)Mike Leach
Pathalogical case where 7 ID changes in a frame. all with data associated with previous ID, may cause buffer overrun issue. Fix by adding in additional buffer for final data element. Highly unlikely / impossible to occur in valid system generated frame data but could be triggered by corrupt / invalid input data. Reported-by: yabinc <yabinc@google.com> (github issue #51) Signed-off-by: Mike Leach <mike.leach@linaro.org>