summaryrefslogtreecommitdiff
path: root/lib/riscv_atomic.c
diff options
context:
space:
mode:
authorDavid E. Garcia Porras <[email protected]>2026-08-18 15:00:23 -0600
committerAnup Patel <[email protected]>2026-09-04 11:43:53 +0530
commitc5077d497d0f7c7c9a74218ef2c448bc1a6d8a31 (patch)
treed75e27ed638ed00a654dda62b3dbd78cbe908819 /lib/riscv_atomic.c
parentd34a39df779aa55a2dd929717a32e48c3a80df66 (diff)
lib: sbi_pmu: Fix counter and event info error codes as per SBI v3.0 specHEADmaster
Align the PMU extension implementation with the error codes required by the SBI v3.0 specification, chapter 11: - sbi_pmu_counter_start and sbi_pmu_counter_stop (secs 11.9-11.10, tables 39-42): the start_flags/stop_flags bits 2:(XLEN-1) are reserved and must be zero, so return SBI_ERR_INVALID_PARAM when any reserved flag bit is set. Introduce SBI_PMU_START_FLAGS_MASK and SBI_PMU_STOP_FLAGS_MASK for the valid bits of each function. - sbi_pmu_counter_start and sbi_pmu_counter_stop (tables 40 and 42): return SBI_ERR_ALREADY_STARTED / SBI_ERR_ALREADY_STOPPED when the set of counters includes a counter which is already started or stopped, instead of ignoring the error returned for each counter. - sbi_pmu_event_get_info (sec 11.14, table 47): the output word must indicate whether the event is supported, but firmware events were only matched against the hardware event map and were always reported as unsupported. Report a validated firmware event as supported. Signed-off-by: David E. Garcia Porras <[email protected]> Reviewed-by: Anup Patel <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Anup Patel <[email protected]>
Diffstat (limited to 'lib/riscv_atomic.c')
0 files changed, 0 insertions, 0 deletions