libsel4bench: Use privileged HPM counter CSRs This change is a work around for some Hifive boards which would freeze when accessing user mode CSRs.
diff --git a/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h b/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h index 61fe70b..c0591ac 100644 --- a/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h +++ b/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h
@@ -150,18 +150,18 @@ /* Reset and start the counter*/ #if __riscv_xlen == 32 - asm volatile("csrw hpmcounterh3, 0"); + asm volatile("csrw mhpmcounterh3, 0"); #endif - asm volatile("csrw hpmcounter3, 0\n" + asm volatile("csrw mhpmcounter3, 0\n" "csrw mhpmevent3, %0\n" :: "r"(event)); break; case 1: asm volatile("csrw mhpmevent4, 0"); #if __riscv_xlen == 32 - asm volatile("csrw hpmcounterh4, 0"); + asm volatile("csrw mhpmcounterh4, 0"); #endif - asm volatile("csrw hpmcounter4, 0\n" + asm volatile("csrw mhpmcounter4, 0\n" "csrw mhpmevent4, %0\n" :: "r"(event)); break;