summaryrefslogtreecommitdiffstats
path: root/include/hw/i386/intel_iommu.h
diff options
context:
space:
mode:
authorPeter Xu2016-07-14 07:56:18 +0200
committerMichael S. Tsirkin2016-07-20 18:30:27 +0200
commita58614391d52ef8240071c1db5db6aceaf66a3ea (patch)
tree0ff747faef350b3345a596ed7fe2c7578676602f /include/hw/i386/intel_iommu.h
parentacpi: add DMAR scope definition for root IOAPIC (diff)
downloadqemu-a58614391d52ef8240071c1db5db6aceaf66a3ea.tar.gz
qemu-a58614391d52ef8240071c1db5db6aceaf66a3ea.tar.xz
qemu-a58614391d52ef8240071c1db5db6aceaf66a3ea.zip
intel_iommu: define interrupt remap table addr register
Defined Interrupt Remap Table Address register to store IR table pointer. Also, do proper handling on global command register writes to store table pointer and its size. One more debug flag "DEBUG_IR" is added for interrupt remapping. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/i386/intel_iommu.h')
-rw-r--r--include/hw/i386/intel_iommu.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h
index 741242e1e6..ce515c42f2 100644
--- a/include/hw/i386/intel_iommu.h
+++ b/include/hw/i386/intel_iommu.h
@@ -125,6 +125,11 @@ struct IntelIOMMUState {
MemoryRegionIOMMUOps iommu_ops;
GHashTable *vtd_as_by_busptr; /* VTDBus objects indexed by PCIBus* reference */
VTDBus *vtd_as_by_bus_num[VTD_PCI_BUS_MAX]; /* VTDBus objects indexed by bus number */
+
+ /* interrupt remapping */
+ bool intr_enabled; /* Whether guest enabled IR */
+ dma_addr_t intr_root; /* Interrupt remapping table pointer */
+ uint32_t intr_size; /* Number of IR table entries */
};
/* Find the VTD Address space associated with the given bus pointer,