From: Jean-Philippe Brucker <jean-philippe@linaro.org> To: mst@redhat.com, imammedo@redhat.com Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>, ehabkost@redhat.com, jasowang@redhat.com, richard.henderson@linaro.org, qemu-devel@nongnu.org, peterx@redhat.com, eric.auger@redhat.com, ani@anisinha.ca, pbonzini@redhat.com Subject: [PATCH v6 0/7] virtio-iommu: Add ACPI support (x86 part) Date: Tue, 26 Oct 2021 19:20:19 +0100 [thread overview] Message-ID: <20211026182024.2642038-1-jean-philippe@linaro.org> (raw) Allow instantiating a virtio-iommu device on ACPI systems by adding a Virtual I/O Translation table (VIOT). Enable x86 support for VIOT. Changes since v5 [1]: * Split the series into x86 and arm parts. This patchset contains only the VIOT table (patch 1) and the x86 support. * Rebased onto master to fix a merge conflict * Added review and acks, thanks! The boot-bypass series [2] isn't a hard requirement for this series but will be needed for complete support. In the meantime, storage accessed by firmware needs to bypass the IOMMU some other way, using either a virtio-blk device without the iommu_platform property, or a bypass bridge (docs/iommu-bypass.txt). You can find a description of the VIOT table, which will be included in next ACPI version, here: https://jpbrucker.net/virtio-iommu/viot/viot-v9.pdf [1] https://lore.kernel.org/qemu-devel/20211020172745.620101-1-jean-philippe@linaro.org/ [2] https://lore.kernel.org/qemu-devel/20210930185050.262759-1-jean-philippe@linaro.org/ Jean-Philippe Brucker (7): hw/acpi: Add VIOT table hw/i386/pc: Remove x86_iommu_get_type() hw/i386/pc: Move IOMMU singleton into PCMachineState hw/i386/pc: Allow instantiating a virtio-iommu device tests/acpi: allow updates of VIOT expected data files on q35 machine tests/acpi: add test case for VIOT on q35 machine tests/acpi: add expected blobs for VIOT test on q35 machine hw/acpi/viot.h | 13 ++++ include/hw/i386/pc.h | 1 + include/hw/i386/x86-iommu.h | 12 ---- hw/acpi/viot.c | 114 +++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 28 ++++---- hw/i386/amd_iommu.c | 2 - hw/i386/intel_iommu.c | 3 - hw/i386/pc.c | 26 +++++++- hw/i386/x86-iommu-stub.c | 5 -- hw/i386/x86-iommu.c | 31 +++------ tests/qtest/bios-tables-test.c | 21 ++++++ hw/acpi/Kconfig | 4 ++ hw/acpi/meson.build | 1 + hw/i386/Kconfig | 1 + tests/data/acpi/q35/DSDT.viot | Bin 0 -> 9398 bytes tests/data/acpi/q35/VIOT.viot | Bin 0 -> 112 bytes 16 files changed, 205 insertions(+), 57 deletions(-) create mode 100644 hw/acpi/viot.h create mode 100644 hw/acpi/viot.c create mode 100644 tests/data/acpi/q35/DSDT.viot create mode 100644 tests/data/acpi/q35/VIOT.viot -- 2.33.0
next reply other threads:[~2021-10-26 18:31 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-26 18:20 Jean-Philippe Brucker [this message] 2021-10-26 18:20 ` [PATCH v6 1/7] hw/acpi: Add VIOT table Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 2/7] hw/i386/pc: Remove x86_iommu_get_type() Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 3/7] hw/i386/pc: Move IOMMU singleton into PCMachineState Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 4/7] hw/i386/pc: Allow instantiating a virtio-iommu device Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 5/7] tests/acpi: allow updates of VIOT expected data files on q35 machine Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 6/7] tests/acpi: add test case for VIOT " Jean-Philippe Brucker 2021-11-01 23:35 ` Michael S. Tsirkin 2021-11-04 7:49 ` Jean-Philippe Brucker 2021-11-04 7:56 ` Michael S. Tsirkin 2021-11-04 8:20 ` Jean-Philippe Brucker 2021-10-26 18:20 ` [PATCH v6 7/7] tests/acpi: add expected blobs for VIOT test " Jean-Philippe Brucker
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=20211026182024.2642038-1-jean-philippe@linaro.org \ --to=jean-philippe@linaro.org \ --cc=ani@anisinha.ca \ --cc=ehabkost@redhat.com \ --cc=eric.auger@redhat.com \ --cc=imammedo@redhat.com \ --cc=jasowang@redhat.com \ --cc=mst@redhat.com \ --cc=pbonzini@redhat.com \ --cc=peterx@redhat.com \ --cc=qemu-devel@nongnu.org \ --cc=richard.henderson@linaro.org \ --subject='Re: [PATCH v6 0/7] virtio-iommu: Add ACPI support (x86 part)' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).