[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 6/7] tests/acpi: add test case for VIOT on q35 machine
From: |
Jean-Philippe Brucker |
Subject: |
[PATCH v6 6/7] tests/acpi: add test case for VIOT on q35 machine |
Date: |
Tue, 26 Oct 2021 19:20:25 +0100 |
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
- [PATCH v6 0/7] virtio-iommu: Add ACPI support (x86 part), Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 1/7] hw/acpi: Add VIOT table, Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 2/7] hw/i386/pc: Remove x86_iommu_get_type(), Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 4/7] hw/i386/pc: Allow instantiating a virtio-iommu device, Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 6/7] tests/acpi: add test case for VIOT on q35 machine,
Jean-Philippe Brucker <=
- [PATCH v6 5/7] tests/acpi: allow updates of VIOT expected data files on q35 machine, Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 3/7] hw/i386/pc: Move IOMMU singleton into PCMachineState, Jean-Philippe Brucker, 2021/10/26
- [PATCH v6 7/7] tests/acpi: add expected blobs for VIOT test on q35 machine, Jean-Philippe Brucker, 2021/10/26