-
Notifications
You must be signed in to change notification settings - Fork 173
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.
- Add support for Hypervisor. #612
- Add support for Vector Crypto. #234 #235 #236 #241 #245 #248
- Add support for all the other extensions. PRs are tagged with the
extension
label
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.