From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJctn-0007Sc-Kf for qemu-devel@nongnu.org; Thu, 14 Jan 2016 03:04:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJcti-0006Jf-NY for qemu-devel@nongnu.org; Thu, 14 Jan 2016 03:04:51 -0500 Received: from mail-wm0-x236.google.com ([2a00:1450:400c:c09::236]:36871) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJcti-0006I9-HF for qemu-devel@nongnu.org; Thu, 14 Jan 2016 03:04:46 -0500 Received: by mail-wm0-x236.google.com with SMTP id f206so414199497wmf.0 for ; Thu, 14 Jan 2016 00:04:46 -0800 (PST) From: David Kiarie Date: Thu, 14 Jan 2016 11:04:24 +0300 Message-Id: <1452758668-19284-1-git-send-email-davidkiarie4@gmail.com> Subject: [Qemu-devel] [V3 0/4] AMD IOMMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com, crosthwaitepeter@gmail.com, valentine.sinitsyn@gmail.com, jan.kiszka@web.de, marcel@redhat.com, David Kiarie David Kiarie (4): hw/core: Add AMD IO MMU to machine properties hw/i386: ACPI table for AMD IO MMU hw/pci-host: Emulate AMD IO MMU hw/core/machine.c | 17 +- hw/i386/Makefile.objs | 1 + hw/i386/acpi-build.c | 96 +++ hw/i386/amd_iommu.c | 1420 +++++++++++++++++++++++++++++++++++++++++++ hw/i386/amd_iommu.h | 399 ++++++++++++ hw/pci-host/piix.c | 11 + hw/pci-host/q35.c | 16 +- include/hw/acpi/acpi-defs.h | 55 ++ include/hw/boards.h | 3 +- include/hw/pci/pci.h | 2 + qemu-options.hx | 6 +- util/qemu-config.c | 4 +- 12 files changed, 2014 insertions(+), 16 deletions(-) create mode 100644 hw/i386/amd_iommu.c create mode 100644 hw/i386/amd_iommu.h Hello, This series introduces AMD IO MMU emulation to qemu. It's the third version. Changes since v2. -Coding style; fixed all errors reported by scripts/checkpatch.pl as suggested by Micheal -Implemented read/only and write 1/clear registers to IO MMU MMIO -Cleaned up dead code -Introduced a switch that controls IO MMU emulation and what type is emulated i.e q35,iommu=amd|intel as suggested by Marcel -Tested with audio device passthrough (ac97 with sound driver alsa) -Reserved memory for IO MMU MMIO via ACPI (I need someone to check this) I was supposed to implement interrupts related to w1/c registers but I decided to reserve everything to do with interrupts for later Testing procedure outlined here http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM -- 2.1.4