summary refs log tree commit diff stats
path: root/include/hw/i386/x86-iommu.h
diff options
context:
space:
mode:
authorDavid Kiarie <davidkiarie4@gmail.com>2016-09-20 18:42:34 +0300
committerMichael S. Tsirkin <mst@redhat.com>2016-09-24 01:02:01 +0300
commitfb9f592623b0f9bb82a88d68d7921fb581918ef5 (patch)
tree5e727dd26add4568812f6dda16cb927dc64494b0 /include/hw/i386/x86-iommu.h
parentd29a09ca68428b5708024ea2e9143de0a031081d (diff)
downloadfocaccia-qemu-fb9f592623b0f9bb82a88d68d7921fb581918ef5.tar.gz
focaccia-qemu-fb9f592623b0f9bb82a88d68d7921fb581918ef5.zip
hw/i386: AMD IOMMU IVRS table
Add IVRS table for AMD IOMMU. Generate IVRS or DMAR
depending on emulated IOMMU.

Signed-off-by: David Kiarie <davidkiarie4@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/i386/x86-iommu.h')
-rw-r--r--include/hw/i386/x86-iommu.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/hw/i386/x86-iommu.h b/include/hw/i386/x86-iommu.h
index c48e8dd597..0c89d9835b 100644
--- a/include/hw/i386/x86-iommu.h
+++ b/include/hw/i386/x86-iommu.h
@@ -37,6 +37,12 @@
 typedef struct X86IOMMUState X86IOMMUState;
 typedef struct X86IOMMUClass X86IOMMUClass;
 
+typedef enum IommuType {
+    TYPE_INTEL,
+    TYPE_AMD,
+    TYPE_NONE
+} IommuType;
+
 struct X86IOMMUClass {
     SysBusDeviceClass parent;
     /* Intel/AMD specific realize() hook */
@@ -67,6 +73,7 @@ typedef struct IEC_Notifier IEC_Notifier;
 struct X86IOMMUState {
     SysBusDevice busdev;
     bool intr_supported;        /* Whether vIOMMU supports IR */
+    IommuType type;             /* IOMMU type - AMD/Intel     */
     QLIST_HEAD(, IEC_Notifier) iec_notifiers; /* IEC notify list */
 };
 
@@ -76,6 +83,11 @@ struct X86IOMMUState {
  */
 X86IOMMUState *x86_iommu_get_default(void);
 
+/*
+ * x86_iommu_get_type - get IOMMU type
+ */
+IommuType x86_iommu_get_type(void);
+
 /**
  * x86_iommu_iec_register_notifier - register IEC (Interrupt Entry
  *                                   Cache) notifiers