Thread (36 messages) 36 messages, 5 authors, 2025-07-18

Re: [PATCH v3 9/9] RISC-V: KVM: Upgrade the supported SBI version to 3.0

From: Atish Patra <atish.patra@linux.dev>
Date: 2025-05-28 14:16:31
Also in: kvm, kvm-riscv, linux-riscv, lkml

On 5/26/25 4:13 AM, Andrew Jones wrote:
On Mon, May 26, 2025 at 11:00:30AM +0200, Radim Krčmář wrote:
quoted
2025-05-23T10:16:11-07:00, Atish Patra [off-list ref]:
quoted
On 5/23/25 6:31 AM, Radim Krčmář wrote:
quoted
2025-05-22T12:03:43-07:00, Atish Patra [off-list ref]:
quoted
Upgrade the SBI version to v3.0 so that corresponding features
can be enabled in the guest.

Signed-off-by: Atish Patra <redacted>
---
diff --git a/arch/riscv/include/asm/kvm_vcpu_sbi.h b/arch/riscv/include/asm/kvm_vcpu_sbi.h
-#define KVM_SBI_VERSION_MAJOR 2
+#define KVM_SBI_VERSION_MAJOR 3
I think it's time to add versioning to KVM SBI implementation.
Userspace should be able to select the desired SBI version and KVM would
tell the guest that newer features are not supported.
We need new code for this, but it's a good idea.
quoted
quoted
We can achieve that through onereg interface by disabling individual SBI
extensions.
We can extend the existing onereg interface to disable a specific SBI
version directly
instead of individual ones to save those IOCTL as well.
Yes, I am all in favor of letting userspace provide all values in the
BASE extension.
We already support vendorid/archid/impid through one reg. I think we 
just need to add the SBI version support to that so that user space can 
set it.
This is covered by your recent patch that provides userspace_sbi.
Why do we need to invent new IOCTL for this ? Once the user space sets 
the SBI version, KVM can enforce it.
With that, userspace can disable all extensions that aren't
supported by a given spec version, disable BASE and then provide
a BASE that advertises the version it wants. The new code is needed
for extensions that userspace still wants KVM to accelerate, but then
KVM needs to be informed it should deny all functions not included in
the selected spec version.

Thanks,
drew

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help