From 7776bac8b54557bfb3b1e56c1e39a2a3b257f6a6 Mon Sep 17 00:00:00 2001 From: Jessica Clarke Date: Tue, 23 Feb 2021 20:35:18 +0000 Subject: [PATCH] Exec: Enable non-ASR access to HPMCOUNTERn These are now defined, and needed for benchmarking. --- src_Core/RISCY_OOO/procs/lib/Exec.bsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_Core/RISCY_OOO/procs/lib/Exec.bsv b/src_Core/RISCY_OOO/procs/lib/Exec.bsv index c270bb9..d38a1e6 100755 --- a/src_Core/RISCY_OOO/procs/lib/Exec.bsv +++ b/src_Core/RISCY_OOO/procs/lib/Exec.bsv @@ -518,7 +518,7 @@ function Maybe#(Trap) checkForException( Bool read_only = (csr [11:10] == 2'b11); Bool write_deny = (writes_csr && read_only); Bool asr_allow = getHardPerms(pcc).accessSysRegs - //|| ((csr_addr_hpmcounter3 <= csr) && (csr <= csr_addr_hpmcounter31) && !writes_csr) // TODO seems these aren't implemented? + || ((pack(csrAddrHPMCOUNTER3) <= csr) && (csr <= pack(csrAddrHPMCOUNTER31)) && !writes_csr) || (csr == pack(csrAddrFFLAGS)) || (csr == pack(csrAddrFRM)) || (csr == pack(csrAddrFCSR))