SE_01_011 - QEMU RVA22 profiles support
About
A 'profile' consists on a set of extensions, some mandatory and some optional, aiming to facilitate application support and interoperability in RISC-V chips. Instead of an user application claim support to a certain set of specific extensions, it can claim support for the 'RVA22U64' and 'RVA22S64' profile. This means that any chip that has support for these profiles will be compatible with it.
Implementing profiles in QEMU will give users a more robust environment to test and develop applications, relieving users from having to track which extensions flags they need to enable in QEMU to make their applications work.
We'll start with RVA22U64 profile support since all its extensions are already implemented in QEMU. We have plans to keep adding more profiles as times goes by.
It's also expected that tooling such as libvirt will rely on enabling profiles, instead of enabling/disabling extensions, since it'll give users immediate value without the need of implementing support for each standalone extension.
Project Scope and Timelines
The project will take place during the QEMU 8.2 development cycle. Changes will be centered around target/riscv/cpu.c.
Components and Repos
Upstream Qemu.
Stakeholders and Partners
Other QEMU for RISC-V contributors, including:
- RISE
- Daniel Henrique Barboza
- External
- Alistair Francis (QEMU for RISC-V maintainer)
Dependencies
No dependencies.
Measure of Success
An accepted and tested design and implementation by end of 2H23 (slated for merging).
RISE Requirements
None (not accounting any of existing engineering investment against RISE resources).
Status
The table below is rolled up to the Simulator WG status page Simulator/Emulator 2023 Projects .