linux-loongson/tools/perf/pmu-events/arch/riscv/sifive/p650/microarch.json
Eric Lin 6dad43bb11 perf vendor events riscv: Add SiFive P650 events
The SiFive Performance P650 core (including the vector-enabled P670 and
area-optimized P450/P470 variants) updates the P550 microarchitecture.
It brings in the debug, trace, and counter events from newer Bullet
cores, and adds new events for iTLB and dTLB multi-hits.

All other PMU events are unchanged from the P550 core.

Signed-off-by: Eric Lin <eric.lin@sifive.com>
Co-developed-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Tested-by: Ian Rogers <irogers@google.com>
Tested-by: Atish Patra <atishp@rivosinc.com>
Link: https://lore.kernel.org/r/20250213220341.3215660-8-samuel.holland@sifive.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-03-10 14:15:38 -07:00

63 lines
1.9 KiB
JSON

[
{
"EventName": "ADDRESSGEN_INTERLOCK",
"EventCode": "0x101",
"BriefDescription": "Counts cycles with an address-generation interlock"
},
{
"EventName": "LONGLATENCY_INTERLOCK",
"EventCode": "0x201",
"BriefDescription": "Counts cycles with a long-latency interlock"
},
{
"EventName": "CSR_INTERLOCK",
"EventCode": "0x401",
"BriefDescription": "Counts cycles with a CSR interlock"
},
{
"EventName": "ICACHE_BLOCKED",
"EventCode": "0x801",
"BriefDescription": "Counts cycles in which the instruction cache was not able to provide an instruction"
},
{
"EventName": "DCACHE_BLOCKED",
"EventCode": "0x1001",
"BriefDescription": "Counts cycles in which the data cache blocked an instruction"
},
{
"EventName": "BRANCH_DIRECTION_MISPREDICTION",
"EventCode": "0x2001",
"BriefDescription": "Counts mispredictions of conditional branch direction (taken/not taken)"
},
{
"EventName": "BRANCH_TARGET_MISPREDICTION",
"EventCode": "0x4001",
"BriefDescription": "Counts mispredictions of the target PC of control-flow instructions"
},
{
"EventName": "PIPELINE_FLUSH",
"EventCode": "0x8001",
"BriefDescription": "Counts flushes of the core pipeline. Common causes include fence.i and CSR accesses"
},
{
"EventName": "REPLAY",
"EventCode": "0x10001",
"BriefDescription": "Counts instruction replays"
},
{
"EventName": "INTEGER_MUL_DIV_INTERLOCK",
"EventCode": "0x20001",
"BriefDescription": "Counts cycles with a multiply or divide interlock"
},
{
"EventName": "FP_INTERLOCK",
"EventCode": "0x40001",
"BriefDescription": "Counts cycles with a floating-point interlock"
},
{
"EventName": "TRACE_STALL",
"EventCode": "0x80001",
"BriefDescription": "Counts cycles in which the core pipeline is stalled due to backpressure from the Trace Encoder"
}
]