On Mon, Oct 27, 2025 at 06:23:55PM -0300, Daniel Henrique Barboza wrote:
On 10/27/25 4:49 PM, Andrea Bolognani wrote:
I'm also wondering how the riscv-aia KVM feature you're introducing will interact with the existing aia feature. The latter is documented somewhat extensively in
https://gitlab.com/qemu-project/qemu/-/blob/master/docs/specs/riscv-aia.rst
but AFAICT there barely is any documentation at all for the former at the QEMU level. Maybe Daniel (CC'd), who introduced the other feature into libvirt, knows more.
Having a 'riscv-aia' KVM accel prop and an 'aia' board property is confusing indeed ...
What we added in libvirt is the 'virt' board AIA support (aplic and aplic-imsic). It interacts with the current accelerator capabilities (kvm, tcg) like the QEMU doc above describes.
The 'riscv-aia' accelerator property attempts to configure the capabilities of the in-kernel KVM AIA chip, if present.
[...]
Note that these are properties implemented by the KVM module, not QEMU, e.g. they depend on host KVM support.
[...]
As far as libvirt goes I wouldn't add 'auto' support. Not only it is already the QEMU default value but it also means "give me either hwaccel or emul". Might as well just leave the option alone then.
I am also under the impression that modeling that value explicitly is probably not useful.
Hope this helps. I'll send a patch adding the riscv-aia info to the QEMU docs.
Thanks. Having better documentation on the QEMU side will not only guide our decisions on the libvirt side, but obviously also benefit people who run QEMU directly. If you have any opinion on what the libvirt interface should look like, please do share. You clearly understand the problem space much better than I do :) -- Andrea Bolognani / Red Hat / Virtualization