summaryrefslogtreecommitdiff
path: root/rvcontroller.lua
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-11-06 16:04:48 -0600
committercheapie <cheapiephp@gmail.com>2026-11-06 16:05:30 -0600
commit69111aaf1a2b936bfa9d9ba53a4653f27c93312d (patch)
tree740c2c03e16b3330ae7fc431186a474082fd27f3 /rvcontroller.lua
parent155623f85f728b0a5042063b4d43c0255e4748fa (diff)
downloadrvcontroller-69111aaf1a2b936bfa9d9ba53a4653f27c93312d.tar
rvcontroller-69111aaf1a2b936bfa9d9ba53a4653f27c93312d.tar.gz
rvcontroller-69111aaf1a2b936bfa9d9ba53a4653f27c93312d.tar.bz2
rvcontroller-69111aaf1a2b936bfa9d9ba53a4653f27c93312d.tar.xz
rvcontroller-69111aaf1a2b936bfa9d9ba53a4653f27c93312d.zip
Add hpmcounter CSRs to CSR list and fix reading mtvec
Diffstat (limited to 'rvcontroller.lua')
-rw-r--r--rvcontroller.lua2
1 files changed, 2 insertions, 0 deletions
diff --git a/rvcontroller.lua b/rvcontroller.lua
index 9d9a337..7d6a211 100644
--- a/rvcontroller.lua
+++ b/rvcontroller.lua
@@ -414,6 +414,8 @@ local function readcsr(address)
bits[11] = mem.mpp%2 == 1
bits[12] = mem.mpp >= 2
return implodebits(bits,32)
+ elseif address == 0x305 then --mtvec
+ return mem.mtvecwritten and mem.trapbase+mem.trapmode or 0
elseif address == 0x310 then --mstatush
local bits = {}
bits[5] = mem.mbe