Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c274e03a authored by Radim Krčmář's avatar Radim Krčmář Committed by Paolo Bonzini
Browse files

kvm: x86: move assigned-dev.c and iommu.c to arch/x86/



Now that ia64 is gone, we can hide deprecated device assignment in x86.

Notable changes:
 - kvm_vm_ioctl_assigned_device() was moved to x86/kvm_arch_vm_ioctl()

The easy parts were removed from generic kvm code, remaining
 - kvm_iommu_(un)map_pages() would require new code to be moved
 - struct kvm_assigned_dev_kernel depends on struct kvm_irq_ack_notifier

Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 6b397158
Loading
Loading
Loading
Loading
+23 −0
Original line number Original line Diff line number Diff line
@@ -1112,4 +1112,27 @@ int kvm_pmu_read_pmc(struct kvm_vcpu *vcpu, unsigned pmc, u64 *data);
void kvm_handle_pmu_event(struct kvm_vcpu *vcpu);
void kvm_handle_pmu_event(struct kvm_vcpu *vcpu);
void kvm_deliver_pmi(struct kvm_vcpu *vcpu);
void kvm_deliver_pmi(struct kvm_vcpu *vcpu);


#ifdef CONFIG_KVM_DEVICE_ASSIGNMENT
int kvm_iommu_map_guest(struct kvm *kvm);
int kvm_iommu_unmap_guest(struct kvm *kvm);

long kvm_vm_ioctl_assigned_device(struct kvm *kvm, unsigned ioctl,
				  unsigned long arg);

void kvm_free_all_assigned_devices(struct kvm *kvm);
#else
static inline int kvm_iommu_unmap_guest(struct kvm *kvm)
{
	return 0;
}

static inline long kvm_vm_ioctl_assigned_device(struct kvm *kvm, unsigned ioctl,
						unsigned long arg)
{
	return -ENOTTY;
}

static inline void kvm_free_all_assigned_devices(struct kvm *kvm) {}
#endif

#endif /* _ASM_X86_KVM_HOST_H */
#endif /* _ASM_X86_KVM_HOST_H */
+1 −1
Original line number Original line Diff line number Diff line
@@ -9,11 +9,11 @@ KVM := ../../../virt/kvm


kvm-y			+= $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
kvm-y			+= $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
				$(KVM)/eventfd.o $(KVM)/irqchip.o $(KVM)/vfio.o
				$(KVM)/eventfd.o $(KVM)/irqchip.o $(KVM)/vfio.o
kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT)	+= $(KVM)/assigned-dev.o $(KVM)/iommu.o
kvm-$(CONFIG_KVM_ASYNC_PF)	+= $(KVM)/async_pf.o
kvm-$(CONFIG_KVM_ASYNC_PF)	+= $(KVM)/async_pf.o


kvm-y			+= x86.o mmu.o emulate.o i8259.o irq.o lapic.o \
kvm-y			+= x86.o mmu.o emulate.o i8259.o irq.o lapic.o \
			   i8254.o ioapic.o irq_comm.o cpuid.o pmu.o
			   i8254.o ioapic.o irq_comm.o cpuid.o pmu.o
kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT)	+= assigned-dev.o iommu.o
kvm-intel-y		+= vmx.o
kvm-intel-y		+= vmx.o
kvm-amd-y		+= svm.o
kvm-amd-y		+= svm.o


+0 −0

File moved.

+0 −0

File moved.

+1 −1
Original line number Original line Diff line number Diff line
@@ -4007,7 +4007,7 @@ long kvm_arch_vm_ioctl(struct file *filp,
	}
	}


	default:
	default:
		;
		r = kvm_vm_ioctl_assigned_device(kvm, ioctl, arg);
	}
	}
out:
out:
	return r;
	return r;
Loading