-
Notifications
You must be signed in to change notification settings - Fork 188
Roadmap
These are the main areas where work is happening. Indentation indicates dependencies.
The implementation defined behaviour in RISC-V is near limitless, but only a small number of configuration flags are exposed by the emulator currently because they are very tedious to wire in.
Alasdair Armstrong is working on adding a native configuration system to the Sail language which will be a lot easier to use.
- Move from using
sys_foo_enable()
style callbacks to Alasdair's new native config system, once implemented. #495- Add flags for all the options that are currently hard-coded.
- Clean up the organisation of the code & files so it makes sense. It's a bit of a tangled web at the moment.
- Add flags for all the options that are currently hard-coded.
- Fix misaligned accesses and add options for common behaviours. #49
- Add extensions for the (un)privileged spec versions. #319
Currently the code is not tested at all well. There's just a very old version of the riscv-tests in the repo. Ideally we would have unit tests written in Sail, and a wide range of ELF tests. It would also be beneficial to avoid requiring users to set up a cross-compiler, RISCOF, etc. to run the tests since that is quite onerous. But we don't want to store ELF binaries in the repo like we currently do. See Jessica's comment in #114.
The two biggest missing pieces are Hypervisor and Vector Crypto. There are a number of smaller extensions that are missing too. Relevant PRs are tagged with the extension
label
See Extension Roadmap for the full details.
Currently the only programmatic verification interface is RVFI-DII, but it only works over TCP and is quite limited. The goal is to expose a library interface, and a machine readable execution log.