qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 6/7] tests/acpi: add test case for VIOT on q35 machine
Date: Tue, 26 Oct 2021 19:20:25 +0100	[thread overview]
Message-ID: <20211026182024.2642038-7-jean-philippe@linaro.org> (raw)
In-Reply-To: <20211026182024.2642038-1-jean-philippe@linaro.org>

Add a test case for VIOT on the q35 machine. To test complex topologies
it has two PCIe buses that bypass the IOMMU (and are therefore not
described by VIOT), and two buses that are translated by virtio-iommu.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
---
 tests/qtest/bios-tables-test.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 258874167e..a5e0fab9d5 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1465,6 +1465,26 @@ static void test_acpi_virt_tcg(void)
     free_test_data(&data);
 }
 
+static void test_acpi_q35_viot(void)
+{
+    test_data data = {
+        .machine = MACHINE_Q35,
+        .variant = ".viot",
+    };
+
+    /*
+     * To keep things interesting, two buses bypass the IOMMU.
+     * VIOT should only describes the other two buses.
+     */
+    test_acpi_one("-machine default_bus_bypass_iommu=on "
+                  "-device virtio-iommu-pci "
+                  "-device pxb-pcie,bus_nr=0x10,id=pcie.100,bus=pcie.0 "
+                  "-device pxb-pcie,bus_nr=0x20,id=pcie.200,bus=pcie.0,bypass_iommu=on "
+                  "-device pxb-pcie,bus_nr=0x30,id=pcie.300,bus=pcie.0",
+                  &data);
+    free_test_data(&data);
+}
+
 static void test_oem_fields(test_data *data)
 {
     int i;
@@ -1639,6 +1659,7 @@ int main(int argc, char *argv[])
             qtest_add_func("acpi/q35/kvm/xapic", test_acpi_q35_kvm_xapic);
             qtest_add_func("acpi/q35/kvm/dmar", test_acpi_q35_kvm_dmar);
         }
+        qtest_add_func("acpi/q35/viot", test_acpi_q35_viot);
     } else if (strcmp(arch, "aarch64") == 0) {
         if (has_tcg) {
             qtest_add_func("acpi/virt", test_acpi_virt_tcg);
-- 
2.33.0



  parent reply	other threads:[~2021-10-26 18:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-26 18:20 [PATCH v6 0/7] virtio-iommu: Add ACPI support (x86 part) Jean-Philippe Brucker
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 ` Jean-Philippe Brucker [this message]
2021-11-01 23:35   ` [PATCH v6 6/7] tests/acpi: add test case for VIOT " 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-7-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 \
    /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 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).