opensbi/lib/sbi
Atish Patra 867c65360d lib: sbi: Detect Sscofpmf extension at run time
Sscofpmf ISA extension introduces PMU counter overflow and filtering support.
It introduces a read only `scountovf` csr that can be used to detect if
a hart supports this extension at runtime. However, this feature is only
useful if the hart already supports mcounteren and mcountinhibit.

Add a dynamic detection mechanism and boot time print message if sscofpmf
is present.

Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
2021-11-11 17:42:59 +05:30
..
objects.mk lib: sbi: Implement SBI PMU extension 2021-07-11 10:38:02 +05:30
riscv_asm.c lib: sbi: Update csr_read/write_num for PMU 2021-11-11 17:39:38 +05:30
riscv_atomic.c lib: sbi: fix atomic_add_return 2021-04-09 18:51:02 +05:30
riscv_hardfp.S lib: Move sbi core library to lib/sbi 2019-06-19 09:48:51 +05:30
riscv_locks.c lib: sbi: Have spinlock checks return bool 2021-05-14 17:05:20 +05:30
sbi_bitmap.c lib: Simple bitmap library 2020-03-11 15:29:45 +05:30
sbi_bitops.c lib: sbi: Fix coding style issues 2020-03-10 10:27:28 +05:30
sbi_console.c lib: sbi: protect dprintf output with spinlock 2021-08-30 09:12:37 +05:30
sbi_domain.c lib: sbi: Refine addr format in sbi_printf 2021-11-02 10:42:01 +05:30
sbi_ecall.c lib: sbi: Implement SBI PMU extension 2021-07-11 10:38:02 +05:30
sbi_ecall_base.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_ecall_hsm.c lib: sbi: Implement SBI HSM suspend function 2021-03-03 13:51:15 +05:30
sbi_ecall_legacy.c lib: sbi: Rename sbi_hsm_hart_started_mask() function 2021-03-03 10:17:45 +05:30
sbi_ecall_pmu.c lib: sbi: Implement SBI PMU extension 2021-07-11 10:38:02 +05:30
sbi_ecall_replace.c lib: sbi: system reset with invalid parameters 2021-10-18 16:07:21 +05:30
sbi_ecall_vendor.c lib: sbi: Replace args with trap registers in ecall handler 2021-01-07 09:53:14 +05:30
sbi_emulate_csr.c lib: sbi: illegal CSR 0x306 access in hpm_allowed() 2021-03-22 09:18:56 +05:30
sbi_expected_trap.S lib: Rename unprivileged trap handler 2020-05-10 09:59:16 +05:30
sbi_fifo.c lib: sbi: Checking fifo validness in sbi_fifo_is_empty and is_full 2021-09-03 11:59:35 +05:30
sbi_hart.c lib: sbi: Detect Sscofpmf extension at run time 2021-11-11 17:42:59 +05:30
sbi_hfence.S lib: sbi: Fix GPA passed to __sbi_hfence_gvma_xyz() functions 2021-11-02 16:02:08 +05:30
sbi_hsm.c lib: sbi: Save context for all non-retentive suspend types 2021-10-18 16:07:16 +05:30
sbi_illegal_insn.c lib: sbi: Implement firmware counters 2021-07-11 10:38:23 +05:30
sbi_init.c lib: sbi: move sbi_boot_print_general() 2021-11-08 10:39:31 +05:30
sbi_ipi.c lib: sbi: Implement firmware counters 2021-07-11 10:38:23 +05:30
sbi_math.c lib: Create a separate math helper function file 2020-05-10 09:59:24 +05:30
sbi_misaligned_ldst.c lib: sbi: Implement firmware counters 2021-07-11 10:38:23 +05:30
sbi_platform.c lib: sbi: Refine the way to construct platform features 2021-09-03 12:16:01 +05:30
sbi_pmu.c lib: sbi: Fix sbi_pmu_exit() for systems not having MCOUNTINHIBIT csr 2021-07-11 14:31:21 +05:30
sbi_scratch.c lib: sbi_scratch: zero out scratch memory on all harts 2021-06-11 13:59:48 +05:30
sbi_string.c lib: sbi: Fix bug in strncmp function when count is 0 2021-08-07 15:40:40 +05:30
sbi_system.c lib: sbi: add priority for reset handler 2021-10-11 10:32:26 +05:30
sbi_timer.c lib: sbi: Add generic timer delay loop function 2021-09-26 19:52:15 +05:30
sbi_tlb.c lib: sbi: Fix GPA passed to __sbi_hfence_gvma_xyz() functions 2021-11-02 16:02:08 +05:30
sbi_trap.c lib: sbi_trap: Restore redirect for access faults 2021-08-20 09:47:40 +05:30
sbi_unpriv.c lib: Optimize inline assembly for unprivilege access functions 2020-05-16 17:52:42 +05:30