Browse Source

Merge pull request #2072 from ved-rivos/issue_2063

Clear SDT in the temporary state variable
pull/2077/head
Andrew Waterman 11 months ago
committed by GitHub
parent
commit
3d85f9af29
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  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