Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(dbltrp): fix sdt/dte interaction logic #3955

Merged
merged 2 commits into from
Nov 28, 2024
Merged

fix(dbltrp): fix sdt/dte interaction logic #3955

merged 2 commits into from
Nov 28, 2024

Conversation

lewislzh
Copy link
Contributor

  • menvcfg.DTE only control Smode dbltrp. Thus mstatus.sdt will not
    control by DTE.

  • as sstatus is alias of mstatus, when menvcfg.DTE close write
    sstatus.sdt cannot lead to shadow write of mstatus.sdt. As a result,
    we add wmask of sdt, when write source is from alias write.
    While vsstatus is not alias of any other CSR fields, so origin logic
    is correct.

  • align spike/nemu logic to xiangshan. see spike pr60, NEMU pr688 for detail.

* spike commit: ad9bf364c2067493a6e1c7fdd48db934be9dd81c
* spike config: CPU=XIANGSHAN

Including:
    fix(dbltrp): align logic of sdt with xiangshan

* NEMU commit: 0b75a4555a4cac16247a5fe3659f52ea900729e8
* NEMU configs:
    * riscv64-xs-ref_defconfig
    * riscv64-dual-xs-ref_defconfig

Including:
    * fix(dbltrp): fix sdt/dte interation logic
    * fix(henvcfg): fix read value for CSR henvcfg.
    * fix(hvip): fix the MASK of HVIP for LCOFI bit.
    * submodule(ready-to-run): bump spike ref (#686)
    * fix(dbltrp): fix difftest read logic of xstatus.SDT (#685)
    * fix(watchpoint): support set watchpoint on every 64 bits for vreg.
    * feat(watchpoint): add watchpoint of vector and floatponit
    * submodule(ready-to-run): bump spike ref in ready-to-run
    * config: enable Zimop, Zcmop and Zcb.
  * menvcfg.DTE only control Smode dbltrp. Thus mstatus.sdt will not
    control by DTE.
  * as sstatus is alias of mstatus, when menvcfg.DTE close write
    sstatus.sdt cannot lead to shadow write of mstatus.sdt. As a result,
    we add wmask of sdt, when write source is from alias write.
    While vsstatus is not alias of any other CSR fields, so origin logic
    is correct.
@lewislzh lewislzh linked an issue Nov 28, 2024 that may be closed by this pull request
4 tasks
@XiangShanRobot
Copy link

[Generated by IPC robot]
commit: e782efe

commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
e782efe 1.917 0.450 2.701 1.232 2.840 2.464 2.398 0.921 1.430 2.069 3.437 2.716 2.387 3.261

master branch:

commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
edb1dfa
72090f4 1.917 0.450 2.701 1.239 2.840 2.464 2.398 0.921 1.430 2.069 3.437 2.716 2.387 3.261
f6f8d1f 1.917 0.450 2.701 1.224 2.840 2.464 2.398 0.921 1.430 2.069 3.437 2.716 2.387 3.261
b00d582 1.917 0.450 2.701 1.230 2.840 2.464 2.398 0.921 1.430 2.069 3.437 2.716 2.387 3.261
e718f87

@huxuan0307 huxuan0307 merged commit 5e3dd63 into master Nov 28, 2024
9 checks passed
@huxuan0307 huxuan0307 deleted the fix-dbltrp branch November 28, 2024 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unexpected Modification of xstatus WPRI Field During menvcfg Reads/Writes
3 participants