Hi,
This series continues to implement RISC-V N-Trace subsystem.
This work implements initial instruction N-trace filtering from
RISC-V N-Trace (Nexus-based Trace) [1] and
RISC-V Trace Control Interface Specification [2]
This is the third patchset of several upcoming patchset series,
that will ultimately provide full support for N-Trace HTM tracing.
Patches based on N-Trace messages patchset [3],
which provides support for basic N-Trace messages.
[1] https://docs.riscv.org/reference/nexus-trace/_attachments/RISC-V-N-Trace.pdf
[2] https://docs.riscv.org/reference/trace-control-interface/_attachments/RISC-V-Trace-Control-Interface.pdf
[3] https://lore.kernel.org/qemu-devel/20260918-upstream-ntrace_msg-v1-0-16a56ad8e0ef@gmail.com/
Based-on: <20260918-upstream-ntrace_msg-v1-0-16a56ad8e0ef@gmail.com>
---
Konstantin Semichastnov (6):
hw/riscv/trace-encoder.c: move trace_running setting location
hw/riscv/trace-encoder.c: encapsulate icnt counting
hw/riscv/ntrace: do not use gen_updiscon to gen IndirectBranch message
hw/riscv/trace-encoder.c: add N-trace filtering definitions
hw/riscv, target/riscv: support initial N-trace filtering
hw/riscv/trace-encoder.c: emit PTC message when trace started disabled
hw/riscv/trace-encoder.c | 475 ++++++++++++++++++++++++++++++--
hw/riscv/trace-encoder.h | 63 ++++-
target/riscv/cpu_helper.c | 8 +-
target/riscv/helper.h | 1 +
target/riscv/insn_trans/trans_rvi.c.inc | 1 +
target/riscv/op_helper.c | 8 +-
target/riscv/trace_helper.c | 34 ++-
target/riscv/translate.c | 10 +
8 files changed, 569 insertions(+), 31 deletions(-)
---
base-commit: 898044eefb4ad0904adca95c325ab7cca772320b
change-id: 20261009-upstream-ntrace_filter-c8e0af3a5dfa
Best regards,
--
Konstantin Semichastnov <antikostya2@gmail.com>