From b8845e420453531f92414b91828c58d6d4f90fff Mon Sep 17 00:00:00 2001 From: Atish Patra Date: Mon, 8 Nov 2021 10:53:07 -0800 Subject: lib: sbi: Fix initial value mask while updating the counters The first 32 bits of the initial value for the counter should be preserved while updating the mhpmcounter for 32bit. Fixes: 13d40f21d588e ("lib: sbi: Add PMU support") Signed-off-by: Atish Patra Reviewed-by: Bin Meng Reviewed-by: Dong Du Reviewed-by: Anup Patel --- lib/sbi/sbi_pmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/sbi/sbi_pmu.c') diff --git a/lib/sbi/sbi_pmu.c b/lib/sbi/sbi_pmu.c index e0303a7..a0eb359 100644 --- a/lib/sbi/sbi_pmu.c +++ b/lib/sbi/sbi_pmu.c @@ -270,7 +270,7 @@ static void pmu_ctr_write_hw(uint32_t cidx, uint64_t ival) { #if __riscv_xlen == 32 csr_write_num(CSR_MCYCLE + cidx, 0); - csr_write_num(CSR_MCYCLE + cidx, ival & 0xFFFF); + csr_write_num(CSR_MCYCLE + cidx, ival & 0xFFFFFFFF); csr_write_num(CSR_MCYCLEH + cidx, ival >> BITS_PER_LONG); #else csr_write_num(CSR_MCYCLE + cidx, ival); -- cgit v1.2.3