diff options
| author | Radim Krčmář <rkrcmar@ventanamicro.com> | 2025-05-15 16:37:25 +0200 |
|---|---|---|
| committer | Anup Patel <anup@brainfault.org> | 2025-05-21 09:34:57 +0530 |
| commit | 5b9db9c16f428ada473314ad1c49e55681be7a72 (patch) | |
| tree | e89a235c378da2980ae53a14ee9514b4cbc36fcb /include/uapi | |
| parent | RISC-V: KVM: Remove scounteren initialization (diff) | |
| download | linux-5b9db9c16f428ada473314ad1c49e55681be7a72.tar.gz linux-5b9db9c16f428ada473314ad1c49e55681be7a72.zip | |
RISC-V: KVM: add KVM_CAP_RISCV_MP_STATE_RESET
Add a toggleable VM capability to reset the VCPU from userspace by
setting MP_STATE_INIT_RECEIVED through IOCTL.
Reset through a mp_state to avoid adding a new IOCTL.
Do not reset on a transition from STOPPED to RUNNABLE, because it's
better to avoid side effects that would complicate userspace adoption.
The MP_STATE_INIT_RECEIVED is not a permanent mp_state -- IOCTL resets
the VCPU while preserving the original mp_state -- because we wouldn't
gain much from having a new state it in the rest of KVM, but it's a very
non-standard use of the IOCTL.
Signed-off-by: Radim Krčmář <rkrcmar@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20250515143723.2450630-5-rkrcmar@ventanamicro.com
Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/linux/kvm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index b6ae8ad8934b..454b7d4a0448 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -930,6 +930,7 @@ struct kvm_enable_cap { #define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237 #define KVM_CAP_X86_GUEST_MODE 238 #define KVM_CAP_ARM_WRITABLE_IMP_ID_REGS 239 +#define KVM_CAP_RISCV_MP_STATE_RESET 240 struct kvm_irq_routing_irqchip { __u32 irqchip; |
