Message ID | 20220214212950.1776943-1-aaronlewis@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: Add KVM_CAP_ENABLE_CAP to x86 | expand |
On Mon, Feb 14, 2022 at 1:30 PM Aaron Lewis <aaronlewis@google.com> wrote: > > Add the capability KVM_CAP_ENABLE_CAP to x86 so userspace can ensure > KVM_ENABLE_CAP is available on a vcpu before using it. That's a bit terse. Maybe something like: Follow the precedent set by other architectures that support the VCPU ioctl, KVM_ENABLE_CAP, and advertise the VM extension, KVM_CAP_ENABLE_CAP.
On 2/14/22 22:48, Jim Mattson wrote: > On Mon, Feb 14, 2022 at 1:30 PM Aaron Lewis <aaronlewis@google.com> wrote: >> >> Add the capability KVM_CAP_ENABLE_CAP to x86 so userspace can ensure >> KVM_ENABLE_CAP is available on a vcpu before using it. > > That's a bit terse. > > Maybe something like: > > Follow the precedent set by other architectures that support the VCPU > ioctl, KVM_ENABLE_CAP, and advertise the VM extension, > KVM_CAP_ENABLE_CAP. > Thanks, queued with updated changelog. Paolo
diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst index a4267104db50..3b4da6c7b25f 100644 --- a/Documentation/virt/kvm/api.rst +++ b/Documentation/virt/kvm/api.rst @@ -1394,7 +1394,7 @@ documentation when it pops into existence). ------------------- :Capability: KVM_CAP_ENABLE_CAP -:Architectures: mips, ppc, s390 +:Architectures: mips, ppc, s390, x86 :Type: vcpu ioctl :Parameters: struct kvm_enable_cap (in) :Returns: 0 on success; -1 on error diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 7131d735b1ef..757da29e98f3 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -4233,6 +4233,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) case KVM_CAP_EXIT_ON_EMULATION_FAILURE: case KVM_CAP_VCPU_ATTRIBUTES: case KVM_CAP_SYS_ATTRIBUTES: + case KVM_CAP_ENABLE_CAP: r = 1; break; case KVM_CAP_EXIT_HYPERCALL:
Add the capability KVM_CAP_ENABLE_CAP to x86 so userspace can ensure KVM_ENABLE_CAP is available on a vcpu before using it. Fixes: 5c919412fe61 ("kvm/x86: Hyper-V synthetic interrupt controller") Signed-off-by: Aaron Lewis <aaronlewis@google.com> --- Documentation/virt/kvm/api.rst | 2 +- arch/x86/kvm/x86.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)