Skip to content

feat(ctrace): decode compressed Armv8-M DWT packets - #2593

Open
thorstendb-ARM wants to merge 1 commit into
mainfrom
dev-ctrace-dwt-compressed-packets
Open

feat(ctrace): decode compressed Armv8-M DWT packets#2593
thorstendb-ARM wants to merge 1 commit into
mainfrom
dev-ctrace-dwt-compressed-packets

Conversation

@thorstendb-ARM

Copy link
Copy Markdown
Contributor

Summary

Add support for compressed Armv8-M DWT Data Trace PC Value and Data Address packets.

Changes

  • Decode short, medium, and long DWT address payloads.
  • Reconstruct omitted address bits from the corresponding DWT_COMP<n> value.
  • Read comparator values from ctrace-run.yml register settings.
  • Support comparator metadata from data and instruction-address ranges.
  • Preserve existing Armv7-M packet handling.
  • Keep the existing CSV and CTF schemas unchanged.
  • Add unit tests and a synthetic Armv8-M integration trace covering:
    • short and medium PC Value packets
    • short and medium Data Address packets
    • missing comparator metadata
    • invalid payload sizes and PC match bits

The synthetic trace models PC compression using an instruction-address range and address compression using a data-address range.

Validation

  • 194 unit tests passed
  • 5 platform-specific unit tests skipped
  • 15 integration tests passed

Checklist

  • 🤖 This change is covered by unit tests (if applicable).
  • 🤹 Manual testing has been performed (if necessary).
  • 🛡️ Security impacts have been considered (if relevant).
  • 📖 Documentation updates are complete (if required).
  • 🧠 Third-party dependencies and TPIP updated (if required).

@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.16667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 72.67%. Comparing base (66cb607) to head (bfbd4e7).

Files with missing lines Patch % Lines
tools/ctrace/src/tracerun/CtraceRunMeta.cpp 97.22% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2593      +/-   ##
==========================================
+ Coverage   72.58%   72.67%   +0.08%     
==========================================
  Files         185      185              
  Lines       30602    30704     +102     
  Branches    18009    18071      +62     
==========================================
+ Hits        22213    22314     +101     
- Misses       6080     6081       +1     
  Partials     2309     2309              
Flag Coverage Δ
ctrace-cov 99.77% <99.16%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
tools/ctrace/src/control/FileDecodeJob.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/decode/CortexMPostDecoder.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/decode/CortexMStreamDecoder.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/decode/DecodePipeline.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/decode/DecodePipeline.h 100.00% <ø> (ø)
tools/ctrace/src/decode/DwtPacketDecoder.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/tracerun/TraceRunConfig.h 100.00% <ø> (ø)
...ls/ctrace/src/tracerun/YmlTraceRunConfigReader.cpp 100.00% <100.00%> (ø)
tools/ctrace/src/tracerun/CtraceRunMeta.cpp 99.19% <97.22%> (-0.22%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Test Results

  4 files    4 suites   2s ⏱️
214 tests 214 ✅ 0 💤 0 ❌
428 runs  421 ✅ 7 💤 0 ❌

Results for commit bfbd4e7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant