mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
KVM: Make support for kvm_arch_vcpu_async_ioctl() mandatory
Implement kvm_arch_vcpu_async_ioctl() "natively" in x86 and arm64 instead of relying on an #ifdef'd stub, and drop HAVE_KVM_VCPU_ASYNC_IOCTL in anticipation of using the API on x86. Once x86 uses the API, providing a stub for one architecture and having all other architectures opt-in requires more code than simply implementing the API in the lone holdout. Eliminating the Kconfig will also reduce churn if the API is renamed in the future (spoiler alert). No functional change intended. Acked-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Reviewed-by: Yan Zhao <yan.y.zhao@intel.com> Tested-by: Yan Zhao <yan.y.zhao@intel.com> Tested-by: Kai Huang <kai.huang@intel.com> Link: https://patch.msgid.link/20251030200951.3402865-2-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
6146a0f1df
commit
0a0da3f921
9 changed files with 12 additions and 18 deletions
|
|
@ -1835,6 +1835,12 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
|
|||
return r;
|
||||
}
|
||||
|
||||
long kvm_arch_vcpu_async_ioctl(struct file *filp, unsigned int ioctl,
|
||||
unsigned long arg)
|
||||
{
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
|
||||
void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot)
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ config KVM
|
|||
select HAVE_KVM_IRQCHIP
|
||||
select HAVE_KVM_MSI
|
||||
select HAVE_KVM_READONLY_MEM
|
||||
select HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
select KVM_COMMON
|
||||
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
|
||||
select KVM_GENERIC_HARDWARE_ENABLING
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ config KVM
|
|||
select EXPORT_UASM
|
||||
select KVM_COMMON
|
||||
select KVM_GENERIC_DIRTYLOG_READ_PROTECT
|
||||
select HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
select KVM_MMIO
|
||||
select KVM_GENERIC_MMU_NOTIFIER
|
||||
select KVM_GENERIC_HARDWARE_ENABLING
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ if VIRTUALIZATION
|
|||
config KVM
|
||||
bool
|
||||
select KVM_COMMON
|
||||
select HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
select KVM_VFIO
|
||||
select HAVE_KVM_IRQ_BYPASS
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ config KVM
|
|||
select HAVE_KVM_IRQCHIP
|
||||
select HAVE_KVM_IRQ_ROUTING
|
||||
select HAVE_KVM_MSI
|
||||
select HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
select HAVE_KVM_READONLY_MEM
|
||||
select HAVE_KVM_DIRTY_RING_ACQ_REL
|
||||
select KVM_COMMON
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ config KVM
|
|||
def_tristate y
|
||||
prompt "Kernel-based Virtual Machine (KVM) support"
|
||||
select HAVE_KVM_CPU_RELAX_INTERCEPT
|
||||
select HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
select KVM_ASYNC_PF
|
||||
select KVM_ASYNC_PF_SYNC
|
||||
select KVM_COMMON
|
||||
|
|
|
|||
|
|
@ -7240,6 +7240,12 @@ static int kvm_vm_ioctl_set_clock(struct kvm *kvm, void __user *argp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
long kvm_arch_vcpu_async_ioctl(struct file *filp, unsigned int ioctl,
|
||||
unsigned long arg)
|
||||
{
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
|
||||
int kvm_arch_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
|
||||
{
|
||||
struct kvm *kvm = filp->private_data;
|
||||
|
|
|
|||
|
|
@ -2437,18 +2437,8 @@ static inline bool kvm_arch_no_poll(struct kvm_vcpu *vcpu)
|
|||
}
|
||||
#endif /* CONFIG_HAVE_KVM_NO_POLL */
|
||||
|
||||
#ifdef CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
long kvm_arch_vcpu_async_ioctl(struct file *filp,
|
||||
unsigned int ioctl, unsigned long arg);
|
||||
#else
|
||||
static inline long kvm_arch_vcpu_async_ioctl(struct file *filp,
|
||||
unsigned int ioctl,
|
||||
unsigned long arg)
|
||||
{
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
#endif /* CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL */
|
||||
|
||||
void kvm_arch_guest_memory_reclaimed(struct kvm *kvm);
|
||||
|
||||
#ifdef CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE
|
||||
|
|
|
|||
|
|
@ -78,9 +78,6 @@ config HAVE_KVM_IRQ_BYPASS
|
|||
tristate
|
||||
select IRQ_BYPASS_MANAGER
|
||||
|
||||
config HAVE_KVM_VCPU_ASYNC_IOCTL
|
||||
bool
|
||||
|
||||
config HAVE_KVM_VCPU_RUN_PID_CHANGE
|
||||
bool
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue