diff options
author | David Kiarie | 2016-09-20 17:42:34 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2016-09-24 00:02:01 +0200 |
commit | fb9f592623b0f9bb82a88d68d7921fb581918ef5 (patch) | |
tree | 5e727dd26add4568812f6dda16cb927dc64494b0 /hw/i386/amd_iommu.c | |
parent | hw/i386: Introduce AMD IOMMU (diff) | |
download | qemu-fb9f592623b0f9bb82a88d68d7921fb581918ef5.tar.gz qemu-fb9f592623b0f9bb82a88d68d7921fb581918ef5.tar.xz 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 'hw/i386/amd_iommu.c')
-rw-r--r-- | hw/i386/amd_iommu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 4eec9b80ed..a91a1798cb 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -1130,11 +1130,13 @@ static void amdvi_reset(DeviceState *dev) static void amdvi_realize(DeviceState *dev, Error **err) { AMDVIState *s = AMD_IOMMU_DEVICE(dev); + X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(dev); PCIBus *bus = PC_MACHINE(qdev_get_machine())->bus; s->iotlb = g_hash_table_new_full(amdvi_uint64_hash, amdvi_uint64_equal, g_free, g_free); /* This device should take care of IOMMU PCI properties */ + x86_iommu->type = TYPE_AMD; qdev_set_parent_bus(DEVICE(&s->pci), &bus->qbus); object_property_set_bool(OBJECT(&s->pci), true, "realized", err); s->capab_offset = pci_add_capability(&s->pci.dev, AMDVI_CAPAB_ID_SEC, 0, |