diff options
author | Scott Johnson <scott.johnson@arilinc.com> | 2021-03-08 22:20:32 -0800 |
---|---|---|
committer | Andrew Waterman <aswaterman@gmail.com> | 2021-09-08 07:59:02 -0700 |
commit | ba6f0dc65c14780683f2248274a3395dc7df02fa (patch) | |
tree | c1dc74a47bf81d0de8182f05bc8ad6a3b2bd45e6 /riscv/insns/sret.h | |
parent | 96aed2f5745e2effc173dc6cd2d2d24fa0d49c2f (diff) | |
download | spike-ba6f0dc65c14780683f2248274a3395dc7df02fa.zip spike-ba6f0dc65c14780683f2248274a3395dc7df02fa.tar.gz spike-ba6f0dc65c14780683f2248274a3395dc7df02fa.tar.bz2 |
Convert hstatus to csr_t family
Diffstat (limited to 'riscv/insns/sret.h')
-rw-r--r-- | riscv/insns/sret.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/riscv/insns/sret.h b/riscv/insns/sret.h index 8436cda..72b44ef 100644 --- a/riscv/insns/sret.h +++ b/riscv/insns/sret.h @@ -1,6 +1,6 @@ require_extension('S'); if (STATE.v) { - if (STATE.prv == PRV_U || get_field(STATE.hstatus, HSTATUS_VTSR)) + if (STATE.prv == PRV_U || get_field(STATE.hstatus->read(), HSTATUS_VTSR)) require_novirt(); } else { require_privilege(get_field(STATE.mstatus->read(), MSTATUS_TSR) ? PRV_M : PRV_S); @@ -17,6 +17,6 @@ s = set_field(s, MSTATUS_SPP, PRV_U); STATE.sstatus->write(s); p->set_privilege(prev_prv); if (!STATE.v) { - reg_t prev_virt = get_field(STATE.hstatus, HSTATUS_SPV); + reg_t prev_virt = get_field(STATE.hstatus->read(), HSTATUS_SPV); p->set_virt(prev_virt); } |