On Thu, Mar 20, 2025 at 07:25:07AM -0700, Andrea Bolognani wrote: > On Mon, Mar 03, 2025 at 01:46:53PM +1000, Alistair Francis wrote: > > On Mon, Feb 24, 2025 at 10:32 PM Daniel Henrique Barboza > > <dbarb...@ventanamicro.com> wrote: > > > We're missing scounteren and senvcfg CSRs, both already present in the > > > KVM UAPI. > > > > > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > > > Reviewed-by: Andrew Jones <ajo...@ventanamicro.com> > > > > Acked-by: Alistair Francis <alistair.fran...@wdc.com> > > This patch seems to have broken KVM acceleration for me: > > $ ./build/qemu-system-riscv64 -display none -M virt,accel=kvm -cpu host > qemu-system-riscv64: Failed to put registers after init: No such > file or directory > > Reverting it makes QEMU work again. > > My host is a SiFive HiFive Premier P550 board running Fedora 41. Note > that, since the upstreaming effort for this SoC has just recently > started, I'm using the 6.6-based vendor kernel.
Ancient :-) > > Perhaps the KVM UAPI additions mentioned in the commit message are > more recent than that, and we need to make QEMU's use of them > conditional rather than unconditional? scounteren has been around since the dawn of riscv kvm, but senvcfg has only been there since 6.7 (just missed your ancient cut-off). The true fix for this is to start using get-reg-list, which should hopefully work with the 6.6 kernel too since get-reg-list support has been around since 6.6. A quick fix for this is to just drop senvcfg for now since nobody noticed it was missing before (well, I noticed it was missing, but by inspection, not test). Thanks, drew