[libvirt PATCH 18/21] tests: Add test for virtio-iommu address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



virtio-iommu needs to be an integrated device, and our address
assignment code will make sure that is the case. If the user has
provided an explicit address, however, we should make sure any
addresses pointing to a different bus are rejected.

Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx>
---
 ...io-iommu-invalid-address.x86_64-latest.err |  1 +
 .../virtio-iommu-invalid-address.xml          | 20 +++++++++++++++++++
 tests/qemuxml2argvtest.c                      |  1 +
 3 files changed, 22 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/virtio-iommu-invalid-address.x86_64-latest.err
 create mode 100644 tests/qemuxml2argvdata/virtio-iommu-invalid-address.xml

diff --git a/tests/qemuxml2argvdata/virtio-iommu-invalid-address.x86_64-latest.err b/tests/qemuxml2argvdata/virtio-iommu-invalid-address.x86_64-latest.err
new file mode 100644
index 0000000000..997948e91f
--- /dev/null
+++ b/tests/qemuxml2argvdata/virtio-iommu-invalid-address.x86_64-latest.err
@@ -0,0 +1 @@
+XML error: The device at PCI address 0000:01:00.0 needs to be an integrated device (bus=0)
diff --git a/tests/qemuxml2argvdata/virtio-iommu-invalid-address.xml b/tests/qemuxml2argvdata/virtio-iommu-invalid-address.xml
new file mode 100644
index 0000000000..0daa58e3e7
--- /dev/null
+++ b/tests/qemuxml2argvdata/virtio-iommu-invalid-address.xml
@@ -0,0 +1,20 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>219100</memory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='x86_64' machine='q35'>hvm</type>
+  </os>
+  <features>
+    <acpi/>
+  </features>
+  <devices>
+    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <controller type='usb' model='none'/>
+    <memballoon model='none'/>
+    <iommu model='virtio'>
+      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
+    </iommu>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 0d349567a5..8a5b986e1b 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -3244,6 +3244,7 @@ mymain(void)
     DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-wrong-machine");
     DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-no-acpi");
     DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-invalid-address-type");
+    DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-invalid-address");
 
     DO_TEST("cpu-hotplug-startup", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS);
     DO_TEST_PARSE_ERROR("cpu-hotplug-granularity",
-- 
2.31.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux