On 3/20/25 11:41 AM, Andrew Jones wrote:
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.
That's the plan. We need to make the same treatment we're already doing with
the extensions with these CSRs.
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).
We can do that in case the proper fix turns out to be more complex than
we've anticipated and we'll miss the cut for the release. I think we have
time to do it properly, but let's see.
Thanks,
Daniel
Thanks,
drew