diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-07-31 13:37:33 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-07-31 13:37:33 -0700 |
commit | 7a05cbde1789c7cf65b9c2b03c9529ab99dc97e6 (patch) | |
tree | dac7572bcf686d13fbec114754e6b6e2cb3e5862 /riscv | |
parent | d148b8aac3a3296fcc403e246c26928e311ef492 (diff) | |
download | riscv-isa-sim-7a05cbde1789c7cf65b9c2b03c9529ab99dc97e6.zip riscv-isa-sim-7a05cbde1789c7cf65b9c2b03c9529ab99dc97e6.tar.gz riscv-isa-sim-7a05cbde1789c7cf65b9c2b03c9529ab99dc97e6.tar.bz2 |
Fix dumb ERET bug
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/insns/eret.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/riscv/insns/eret.h b/riscv/insns/eret.h index 96d951c..deed103 100644 --- a/riscv/insns/eret.h +++ b/riscv/insns/eret.h @@ -1,5 +1,5 @@ require_supervisor; -set_pcr(PCR_SR, ((sr & ~(SR_PS | SR_EI)) | +set_pcr(PCR_SR, ((sr & ~(SR_S | SR_EI)) | ((sr & SR_PS) ? 0 : SR_S)) | ((sr & SR_PEI) ? SR_EI : 0)); set_pc(epc); |