Skip to content

Commit 6391224

Browse files
wei-w-wangsean-jc
authored andcommitted
KVM: move KVM_CAP_DEVICE_CTRL to the generic check
KVM_CAP_DEVICE_CTRL allows userspace to check if the kvm_device framework (e.g. KVM_CREATE_DEVICE) is supported by KVM. Move KVM_CAP_DEVICE_CTRL to the generic check for the two reasons: 1) it already supports arch agnostic usages (i.e. KVM_DEV_TYPE_VFIO). For example, userspace VFIO implementation may needs to create KVM_DEV_TYPE_VFIO on x86, riscv, or arm etc. It is simpler to have it checked at the generic code than at each arch's code. 2) KVM_CREATE_DEVICE has been added to the generic code. Link: https://lore.kernel.org/all/20221215115207.14784-1-wei.w.wang@intel.com Signed-off-by: Wei Wang <wei.w.wang@intel.com> Reviewed-by: Sean Christopherson <seanjc@google.com> Acked-by: Anup Patel <anup@brainfault.org> (riscv) Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Link: https://lore.kernel.org/r/20230315101606.10636-1-wei.w.wang@intel.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent e9e60c8 commit 6391224

5 files changed

Lines changed: 1 addition & 4 deletions

File tree

arch/arm64/kvm/arm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
221221
r = vgic_present;
222222
break;
223223
case KVM_CAP_IOEVENTFD:
224-
case KVM_CAP_DEVICE_CTRL:
225224
case KVM_CAP_USER_MEMORY:
226225
case KVM_CAP_SYNC_MMU:
227226
case KVM_CAP_DESTROY_MEMORY_REGION_WORKS:

arch/powerpc/kvm/powerpc.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
528528
case KVM_CAP_ENABLE_CAP:
529529
case KVM_CAP_ONE_REG:
530530
case KVM_CAP_IOEVENTFD:
531-
case KVM_CAP_DEVICE_CTRL:
532531
case KVM_CAP_IMMEDIATE_EXIT:
533532
case KVM_CAP_SET_GUEST_DEBUG:
534533
r = 1;

arch/riscv/kvm/vm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
179179
r = kvm_riscv_aia_available();
180180
break;
181181
case KVM_CAP_IOEVENTFD:
182-
case KVM_CAP_DEVICE_CTRL:
183182
case KVM_CAP_USER_MEMORY:
184183
case KVM_CAP_SYNC_MMU:
185184
case KVM_CAP_DESTROY_MEMORY_REGION_WORKS:

arch/s390/kvm/kvm-s390.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,6 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
563563
case KVM_CAP_ENABLE_CAP:
564564
case KVM_CAP_S390_CSS_SUPPORT:
565565
case KVM_CAP_IOEVENTFD:
566-
case KVM_CAP_DEVICE_CTRL:
567566
case KVM_CAP_S390_IRQCHIP:
568567
case KVM_CAP_VM_ATTRIBUTES:
569568
case KVM_CAP_MP_STATE:

virt/kvm/kvm_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4873,6 +4873,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
48734873
#endif
48744874
case KVM_CAP_BINARY_STATS_FD:
48754875
case KVM_CAP_SYSTEM_EVENT_DATA:
4876+
case KVM_CAP_DEVICE_CTRL:
48764877
return 1;
48774878
#ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES
48784879
case KVM_CAP_MEMORY_ATTRIBUTES:

0 commit comments

Comments
 (0)