fix(dbltrp): fix sdt/dte interaction logic #3955
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.