[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 4/7] intel-iommu: exit on invalid configuraton ea
From: |
Radim Krčmář |
Subject: |
[Qemu-devel] [PATCH v2 4/7] intel-iommu: exit on invalid configuraton earlier |
Date: |
Thu, 29 Sep 2016 13:23:26 +0200 |
No point in configuring the device if realization is going to fail.
Signed-off-by: Radim Krčmář <address@hidden>
---
hw/i386/intel_iommu.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index c39b62b898d8..eb488c14625d 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2457,6 +2457,15 @@ static void vtd_realize(DeviceState *dev, Error **errp)
VTD_DPRINTF(GENERAL, "");
x86_iommu->type = TYPE_INTEL;
+
+ /* Currently Intel IOMMU IR only support "kernel-irqchip={off|split}" */
+ if (x86_iommu->intr_supported && kvm_irqchip_in_kernel() &&
+ !kvm_irqchip_is_split()) {
+ error_report("Intel Interrupt Remapping cannot work with "
+ "kernel-irqchip=on, please use 'split|off'.");
+ exit(1);
+ }
+
memset(s->vtd_as_by_bus_num, 0, sizeof(s->vtd_as_by_bus_num));
memory_region_init_io(&s->csrmem, OBJECT(s), &vtd_mem_ops, s,
"intel_iommu", DMAR_REG_SIZE);
@@ -2471,14 +2480,6 @@ static void vtd_realize(DeviceState *dev, Error **errp)
pci_setup_iommu(bus, vtd_host_dma_iommu, dev);
/* Pseudo address space under root PCI bus. */
pcms->ioapic_as = vtd_host_dma_iommu(bus, s, Q35_PSEUDO_DEVFN_IOAPIC);
-
- /* Currently Intel IOMMU IR only support "kernel-irqchip={off|split}" */
- if (x86_iommu->intr_supported && kvm_irqchip_in_kernel() &&
- !kvm_irqchip_is_split()) {
- error_report("Intel Interrupt Remapping cannot work with "
- "kernel-irqchip=on, please use 'split|off'.");
- exit(1);
- }
}
static void vtd_class_init(ObjectClass *klass, void *data)
--
2.10.0
- [Qemu-devel] [PATCH v2 0/7] intel_iommu: fix EIM, Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 2/7] apic: add send_msi() to APICCommonClass, Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 1/7] apic: add global apic_get_class(), Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 3/7] intel_iommu: pass whole remapped addresses to apic, Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 4/7] intel-iommu: exit on invalid configuraton earlier,
Radim Krčmář <=
- [Qemu-devel] [PATCH v2 7/7] intel-iommu: keep buggy EIM enabled in 2.7 machine type, Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 5/7] intel-iommu: add OnOffAuto intr_eim as "eim" property, Radim Krčmář, 2016/09/29
- [Qemu-devel] [PATCH v2 6/7] intel_iommu: reject broken EIM, Radim Krčmář, 2016/09/29