Hello there, This series adds AMD IOMMU emulation support to Qemu.
The only main change since V6 is: -Fixed a cache bug that caused the issue reported by Jan I have assummed that we are running one IOMMU and users don't have the freedom to run many IOMMUs. For instance, I've decided to stick with 'pci_create_simple' since if I change this and manually create the the device inorder to set the addr, I'll be repeating exactly what 'pci_create_simple' does while there is no immediate benefit. Being able to run multiple IOMMUs is a plus but at the moment I experience a few problems with the code while there is no immediate benefit. Other than these patches there's also an planned GSoC project to add features to feature-limited AMD IO MMU listed here[1]. It could also look at the the possibility of running multiple IOMMUs. GSoC is a program that offers students stipends to work on open source projects. You can read more about GSoC here[2]. Am a student and am willing to take up this IO MMU related project but I've not got a full mentor. Yeah, you're right, there are mentors listed on the project's details but they would only want to co-mentor as they may not have much time. They were listed there mainly for purposes of listing the project. I'd like to know if anyone is willing to mentor this project mainly the people involved in the review process or anyone else! David Kiarie (4): hw/i386: Introduce AMD IOMMU hw/i386: ACPI table for AMD IOMMU hw/core: Add AMD IOMMU to machine properties hw/pci-host: Emulate AMD IOMMU hw/core/machine.c | 27 +- hw/i386/Makefile.objs | 1 + hw/i386/acpi-build.c | 98 ++- hw/i386/amd_iommu.c | 1431 +++++++++++++++++++++++++++++++++++++++++ hw/i386/amd_iommu.h | 398 ++++++++++++ hw/pci-host/q35.c | 21 +- include/hw/acpi/acpi-defs.h | 55 ++ include/hw/boards.h | 1 + include/hw/i386/intel_iommu.h | 2 + include/hw/pci/pci.h | 2 + qemu-options.hx | 7 +- util/qemu-config.c | 4 +- 12 files changed, 2027 insertions(+), 20 deletions(-) create mode 100644 hw/i386/amd_iommu.c create mode 100644 hw/i386/amd_iommu.h [1]http://qemu-project.org/Google_Summer_of_Code_2016#Qemu_AMD_IO_MMU_emulation [2]https://summerofcode.withgoogle.com/ -- 2.1.4