All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [V10 0/4] AMD IOMMU
@ 2016-05-09 12:15 David Kiarie
  2016-05-09 12:15 ` [Qemu-devel] [V10 1/4] hw/i386: Introduce " David Kiarie
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: David Kiarie @ 2016-05-09 12:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: jan.kiszka, valentine.sinitsyn, peterx, marcel, mst, David Kiarie

Hi all,

This patches series adds basic AMD IOMMU emulation support to Qemu. It's
currently in it's 10th version. Changes since V9 include

   -amd_iommu prefixes have been renamed to a shorter 'amdvi' both in the macros
    and in the functions/code. The register macros have not been moved to the 
    implementation file since almost the macros there are basically macros and I 
    reckoned renaming them should suffice.
   -taken care of byte order in the use of 'dma_memory_read'[Michael]
   -Taken care of invalid DTE entries which is still subject discussion. I will 
    make any necessary changes based on discusion outcome.[Jan]
   -An issue with the emulate IOMMU defaulting to AMD_IOMMU has be fixed[Marcel]
   
You can test this patches by starting with parameters 
    qemu-system-x86_64 -M q35,iommu=on,x-iommu-type=amd -m 2G -enable-kvm -smp 4 -cpu host -hda file.img -soundhw ac97 
emulating whatever devices you want.

Not passing any command line parameters to linux should be enough to test this patches since the devices are basically
passes-through but to the 'host' (l1 guest). You can still go ahead pass command line parameter 'iommu=pt iommu=1'
and try to pass a device to L2 guest. This can also done without passing any iommu related parameters to the kernel. 

David Kiarie (4):
  hw/i386: Introduce AMD IOMMU
  hw/i386: ACPI IVRS table
  hw/core: provision for overriding emulated IOMMU
  hw/pci-host: Emulate AMD IOMMU

 hw/acpi/aml-build.c           |    2 +-
 hw/core/machine.c             |   29 +-
 hw/i386/Makefile.objs         |    1 +
 hw/i386/acpi-build.c          |   93 ++-
 hw/i386/amd_iommu.c           | 1405 +++++++++++++++++++++++++++++++++++++++++
 hw/i386/amd_iommu.h           |  340 ++++++++++
 hw/pci-host/q35.c             |   25 +-
 include/hw/acpi/acpi-defs.h   |   13 +
 include/hw/acpi/aml-build.h   |    1 +
 include/hw/boards.h           |    7 +
 include/hw/i386/intel_iommu.h |    1 +
 include/hw/pci/pci.h          |    2 +
 qemu-options.hx               |    7 +-
 util/qemu-config.c            |    8 +-
 14 files changed, 1912 insertions(+), 22 deletions(-)
 create mode 100644 hw/i386/amd_iommu.c
 create mode 100644 hw/i386/amd_iommu.h

-- 
2.1.4

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-05-16 21:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-09 12:15 [Qemu-devel] [V10 0/4] AMD IOMMU David Kiarie
2016-05-09 12:15 ` [Qemu-devel] [V10 1/4] hw/i386: Introduce " David Kiarie
2016-05-15 19:29   ` Jan Kiszka
2016-05-16  5:59     ` David Kiarie
2016-05-16  6:51       ` Jan Kiszka
2016-05-09 12:16 ` [Qemu-devel] [V10 2/4] hw/i386: ACPI IVRS table David Kiarie
2016-05-09 12:16 ` [Qemu-devel] [V10 3/4] hw/core: provision for overriding emulated IOMMU David Kiarie
2016-05-09 12:16 ` [Qemu-devel] [V10 4/4] hw/pci-host: Emulate AMD IOMMU David Kiarie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.