Browse Source

Clear SDT in the temporary state variable

pull/2072/head
Ved Shanbhogue 11 months ago
parent
commit
743732c3e6
  1. 2
      riscv/insns/sret.h

2
riscv/insns/sret.h

@ -30,7 +30,7 @@ if (ZICFILP_xLPE(prev_virt, prev_prv)) {
if (STATE.prv == PRV_M) {
STATE.mstatus->write(STATE.mstatus->read() & ~MSTATUS_MDT);
if (prev_prv == PRV_U || prev_virt)
STATE.mstatus->write(STATE.mstatus->read() & ~MSTATUS_SDT);
s = set_field(s, SSTATUS_SDT, 0);
if (prev_virt && prev_prv == PRV_U)
STATE.vsstatus->write(STATE.vsstatus->read() & ~SSTATUS_SDT);
}

Loading…
Cancel
Save