20: move doc comments inside macro invocations r=Disasm a=euclio
[rust-lang/rust#57882](https://github.com/rust-lang/rust/pull/57882) is modifying the `unused_doc_comments` lint to fire on mistakenly documented macro expansions. Note that these doc comments are not currently used, since they are eliminated when the macro is expanded. A crater run detected that this crate will break due to this change, likely because of the use of `deny(unused_doc_comments)` or `deny(warnings)`.
While this kind of breakage is allowed under Rust's stability guarantees, I am opening PRs to affected crates to reduce the impact.
This PR protects your crate from future breakage by moving the offending doc comments inside the macro invocations.
Co-authored-by: Andy Russell <arussell123@gmail.com>
18: remove the unused 'const-fn' feature r=Disasm a=japaric
note that is technically a breaking change
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
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](273f0d4f70/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>
10: these raw instructions are unsafe r=dvc94ch a=strake
`wfi` is safe, but the rest are not. Let's make them all unsafe until we have a better idea — the return types are wrong anyhow.
Co-authored-by: M Farkas-Dyck <strake888@gmail.com>
In the original riscv-rust fork the target arch was simply named
"riscv", but RISC-V support landed in Rust with "riscv32" as the arch
name instead.
Include "riscv64" optimistically for future-proofing.