Merge #12 #14
12: Add some S-Mode CSRs r=dvc94ch a=wangrunji0408 Add these S-Mode CSRs: - `sstatus` - `stvec` - `sie` - `sip` - `scause` - `stval` - `sscratch` - `sepc` - `satp` as well as: - `time` - `timeh` and S-Mode instructions: - `sfence.vma` Most of the code have been tested in the [RustOS](https://github.com/wangrunji0408/RustOS) project. 14: Remove ecall and *ret instructions from riscv::asm r=dvc94ch a=Disasm * *ret instructions should not be used directly in Rust code, they should be used in handlers, written in asm ([example](https://github.com/rust-embedded/riscv-rt/blob/273f0d4f70418a7602678632dcc78dbe24208fe2/src/lib.rs#L294-L340) ). * ecall instruction should be wrapped into something like syscall(), which should be declared in another platform-specific crate. Co-authored-by:WangRunji <wangrunji0408@163.com> Co-authored-by:
Vadim Kaushan <admin@disasm.info>
Please register or sign in to comment