From: David Kiarie <davidkiarie4@gmail.com>
To: qemu-devel@nongnu.org
Cc: jan.kiszka@web.de, mst@redhat.com, marcel@redhat.com,
peterx@redhat.com, valentine.sinitsyn@gmail.com,
David Kiarie <davidkiarie4@gmail.com>
Subject: [Qemu-devel] [V11 0/4] AMD IOMMU
Date: Sun, 22 May 2016 13:21:50 +0300 [thread overview]
Message-ID: <1463912514-12658-1-git-send-email-davidkiarie4@gmail.com> (raw)
Hi all,
This patches series adds basic AMD IOMMU emulation support to Qemu. It's
currently in it's 11th version.
Michael(or any other person who can merge this patchset) can you please look at the possibility of merging this patches ?Are there more issues with these patches since the last version barely attracted any comments ?
Changes since V10 include
-Support for huge pages including some obscure AMD IOMMU feature that allows default page size override[Jan].
-Fixed an issue with generation of interrupts. We noted that AMD IOMMU has BusMaster- and is therefore not able to generate interrupts like any other PCI device. We have resulted in writing directly to system address but this could be fixed by some patches which have not been merged yet.
Changes since v9
-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 | 1401 +++++++++++++++++++++++++++++++++++++++++
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, 1908 insertions(+), 22 deletions(-)
create mode 100644 hw/i386/amd_iommu.c
create mode 100644 hw/i386/amd_iommu.h
--
2.1.4
next reply other threads:[~2016-05-22 10:22 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-22 10:21 David Kiarie [this message]
2016-05-22 10:21 ` [Qemu-devel] [V11 1/4] hw/i386: Introduce AMD IOMMU David Kiarie
2016-05-22 17:47 ` Jan Kiszka
2016-05-22 18:12 ` Jan Kiszka
2016-05-22 18:17 ` Jan Kiszka
2016-05-22 18:48 ` Alex Bennée
2016-05-24 12:35 ` Peter Xu
2016-05-24 13:11 ` David Kiarie
2016-06-07 20:36 ` Alex Williamson
2016-06-08 5:18 ` Jan Kiszka
2016-05-22 10:21 ` [Qemu-devel] [V11 2/4] hw/i386: ACPI IVRS table David Kiarie
2016-05-24 6:54 ` Peter Xu
2016-05-24 7:06 ` Valentine Sinitsyn
2016-06-18 8:18 ` David Kiarie
2016-06-18 12:32 ` Peter Xu
2016-06-18 12:34 ` Jan Kiszka
2016-06-20 3:36 ` Peter Xu
2016-05-22 10:21 ` [Qemu-devel] [V11 3/4] hw/core: provision for overriding emulated IOMMU David Kiarie
2016-05-24 6:51 ` Peter Xu
2016-05-24 11:49 ` Michael S. Tsirkin
2016-05-24 13:01 ` Jan Kiszka
2016-05-24 14:23 ` Marcel Apfelbaum
2016-05-22 10:21 ` [Qemu-devel] [V11 4/4] hw/pci-host: Emulate AMD IOMMU David Kiarie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1463912514-12658-1-git-send-email-davidkiarie4@gmail.com \
--to=davidkiarie4@gmail.com \
--cc=jan.kiszka@web.de \
--cc=marcel@redhat.com \
--cc=mst@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=valentine.sinitsyn@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.