riscv / sail-riscv

Sail RISC-V model
https://lists.riscv.org/g/tech-golden-model
Other
467 stars 169 forks source link

Remove N extension (user mode interrupts) #531

Closed KotorinMinami closed 1 month ago

KotorinMinami commented 3 months ago

Since the RISC-V N extension draft was removed in the priv spec 1.2 version, the CSR sedeleg is also not listed in the CSR table in the spec. Therefore, it should be removed.

By the way, the implementation of the N extension in the master branch of Sail might be redundant or confusing and lack rigor. I believe it may need to be removed or moved to another branch.

github-actions[bot] commented 3 months ago

Test Results

712 tests  ±0   712 :white_check_mark: ±0   0s :stopwatch: ±0s   6 suites ±0     0 :zzz: ±0    1 files   ±0     0 :x: ±0 

Results for commit d79e0bab. ± Comparison against base commit c61351e1.

:recycle: This comment has been updated with latest results.

Timmmm commented 3 months ago

Seems to inconsistently remove sedeleg and sideleg. And why only remove those aspects of the N extension? Either remove the entire N extension or none of it surely?

arichardson commented 3 months ago

Seems to inconsistently remove sedeleg and sideleg. And why only remove those aspects of the N extension? Either remove the entire N extension or none of it surely?

Agreed, I think it would make more sense to completely remove the N extension support. I don't believe this was ever used?

KotorinMinami commented 2 months ago

@Timmmm Of course I would like to remove the entire N extension. However, some matters have been occupying my time, and due to some unresolved issues in the execution flow of SAIL and in the privileged level interrupt permissions, I haven't been able to complete the work until now. It may be finished at the moment. Could you please spend a convenient time to review my code?

Timmmm commented 1 month ago

Err sorry, I didn't mean to close this, but Git didn't do what I expect - apparently if you do git push -f KotorinMinami master it will push master to KotorinMinami/master even if you are on a different branch. I should have done git push -f KotorinMinami HEAD:master. Who knew.

Unfortunately now Github thinks your master branch isn't a PR so it won't let me push to it. I'll open a new PR... sorry about that!