[PW_SID:1080955] Add Linux RISC-V trace support via CoreSight#1764
[PW_SID:1080955] Add Linux RISC-V trace support via CoreSight#1764linux-riscv-bot wants to merge 12 commits into
Conversation
Enable CoreSight tracing support on RISC-V architecture by: - Adding RISC-V to Kconfig dependencies for CoreSight - Replacing ARM-specific memory barriers (isb, dmb) with RISC-V equivalents (local_flush_icache_all, __mb) - Removing ARM-specific header dependencies: perf/arm_pmu.h, asm/smp_plat.h - Adding PMU format attribute macros for cross-architecture support This allows CoreSight tracing infrastructure to work on RISC-V systems while maintaining compatibility with existing ARM/ARM64 implementations. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Implement some common driver interfaces RISC-V trace where RISC-V trace components are instantiated by a common platform driver and a separate RISC-V trace driver for each type of RISC-V trace component. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add initial implementation of RISC-V trace encoder driver. The encoder is defined in the RISC-V Trace Control Interface specification. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add initial implementation of RISC-V trace funnel driver. The funnel is defined in the RISC-V Trace Control Interface specification. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add initial implementation of RISC-V trace ATB Bridge driver. The ATB Bridge is defined in the RISC-V Trace Control Interface specification. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
…nnel Implement timestamp as a configurable sub-component for both encoder and funnel drivers. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Define CORESIGHT_ETM_PMU_NAME based on architecture: - Set to "rvtrace" when CONFIG_RVTRACE is enabled - Default to "cs_etm" for ARM/ARM64 systems Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
This commit enhances the RISC-V performance tools by allowing the rvtrace PMU to be listed and selected when auxiliary trace support is enabled. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Introduce the required auxiliary API functions allowing the perf core to interact with RISC-V trace perf driver. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add support for RISC-V Nexus Trace decoder based on the reference implementation from the RISC-V Nexus Trace specification. This includes a CoreSight frame deformatter to remove the trace formatter overhead. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add PLT header and entry size definitions for RISC-V architecture. RISC-V uses: - PLT header size: 32 bytes - PLT entry size: 16 bytes This allows perf to correctly identify and display PLT symbols instead of showing them as [unknown]. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add RISC-V trace decoder implementation and integrate it into perf's auxtrace infrastructure. This enables processing of RISC-V Nexus trace data through the standard perf auxtrace pipeline. Signed-off-by: liangzhen <zhen.liang@spacemit.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 1: "[RFC,01/12] coresight: Add RISC-V support to CoreSight tracing" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 2: "[RFC,02/12] coresight: Initial implementation of RISC-V trace driver" |
|
Patch 10: "[RFC,10/12] perf tools: Add Nexus RISC-V Trace decoder" |
|
Patch 10: "[RFC,10/12] perf tools: Add Nexus RISC-V Trace decoder" |
|
Patch 10: "[RFC,10/12] perf tools: Add Nexus RISC-V Trace decoder" |
|
Patch 10: "[RFC,10/12] perf tools: Add Nexus RISC-V Trace decoder" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 11: "[RFC,11/12] perf symbols: Add RISC-V PLT entry sizes" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
|
Patch 12: "[RFC,12/12] perf tools: Integrate RISC-V trace decoder into auxtrace" |
PR for series 1080955 applied to workflow__riscv__fixes
Name: Add Linux RISC-V trace support via CoreSight
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1080955
Version: 1