On 2016-06-07 22:36, Alex Williamson wrote: > On Sun, 22 May 2016 13:21:51 +0300 > David Kiarie wrote: > >> Add AMD IOMMU emulaton to Qemu in addition to Intel IOMMU >> The IOMMU does basic translation, error checking and has a >> minimal IOTLB implementation. This IOMMU bypassed the need >> for target aborts by responding with IOMMU_NONE access rights >> and exempts the region 0xfee00000-0xfeefffff from translation >> as it is the q35 interrupt region. We also advertise features >> that are not yet implemented to please the Linux IOMMU driver. >> >> IOTLB aims at implementing commands on real IOMMUs which is >> essential for debugging and may not offer any performance >> benefits >> >> Signed-off-by: David Kiarie >> --- >> hw/i386/Makefile.objs | 1 + >> hw/i386/amd_iommu.c | 1401 +++++++++++++++++++++++++++++++++++++++++++++++++ >> hw/i386/amd_iommu.h | 340 ++++++++++++ >> include/hw/pci/pci.h | 2 + >> 4 files changed, 1744 insertions(+) >> create mode 100644 hw/i386/amd_iommu.c >> create mode 100644 hw/i386/amd_iommu.h > > I don't see any callouts to memory_region_notify_iommu() here, so this > won't yet support assigned devices. Do you have any plans to add that > support? Thanks, One after the other: correct emulation of all key features is the primary goal, adding support for assigned devices a bonus. However, it's not a simple one as we will probably need shadow page tables. So GSoC is likely not long enough for this. Jan