]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: adding vfio-ccw to nodedev tests
authorBoris Fiuczynski <fiuczy@linux.ibm.com>
Fri, 4 Feb 2022 15:32:17 +0000 (16:32 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 4 Feb 2022 16:50:53 +0000 (17:50 +0100)
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv [new file with mode: 0644]
tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json [new file with mode: 0644]
tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv [new file with mode: 0644]
tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json [new file with mode: 0644]
tests/nodedevmdevctldata/mdevctl-list-multiple.json
tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
tests/nodedevmdevctltest.c
tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml [new file with mode: 0644]

diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv
new file mode 100644 (file)
index 0000000..6d5c6e1
--- /dev/null
@@ -0,0 +1,5 @@
+mdevctl \
+start \
+--parent=0.0.0052 \
+--jsonfile=/dev/stdin \
+--uuid=cc000052-9b13-9b13-9b13-cc23009b1326
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json
new file mode 100644 (file)
index 0000000..2dced5c
--- /dev/null
@@ -0,0 +1 @@
+{"mdev_type":"vfio_ccw-io","start":"manual"}
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv
new file mode 100644 (file)
index 0000000..997ce08
--- /dev/null
@@ -0,0 +1,5 @@
+mdevctl \
+define \
+--parent=0.0.0052 \
+--jsonfile=/dev/stdin \
+--uuid=cc000052-9b13-9b13-9b13-cc23009b1326
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json
new file mode 100644 (file)
index 0000000..2dced5c
--- /dev/null
@@ -0,0 +1 @@
+{"mdev_type":"vfio_ccw-io","start":"manual"}
index 98e46584a0410fabe27f0823bed63c99e678eda1..ee6641df6fa86aeb679f32bc5025b99c6fd982bc 100644 (file)
           ]
         }
       }
+    ],
+    "0.0.0052": [
+      {
+        "cc000052-9b13-9b13-9b13-cc23009b1326": {
+          "mdev_type": "vfio_ccw-io",
+          "start": "manual",
+          "attrs": []
+        }
+      }
     ]
   }
 ]
index 4b558a146441ffeaf7745539c18680690a1257ef..4df5f4f43cbb6c545321b15ba620166bf342a5ac 100644 (file)
     <attr name='assign_control_domain' value='4'/>
   </capability>
 </device>
+<device>
+  <name>mdev_cc000052_9b13_9b13_9b13_cc23009b1326_0_0_0052</name>
+  <parent>css_0_0_0052</parent>
+  <capability type='mdev'>
+    <type id='vfio_ccw-io'/>
+    <uuid>cc000052-9b13-9b13-9b13-cc23009b1326</uuid>
+    <iommuGroup number='0'/>
+  </capability>
+</device>
index 92d3c75766490bdbd2b26a2c96b8ecfc8e78176b..d660d4cc2169c1348501c0402bb5173f8810ca75 100644 (file)
@@ -331,6 +331,32 @@ fakeMatrixDevice(void)
 
     return def;
 }
+
+/* Add a fake css device that can be used as a parent device for mediated
+ * devices. For our purposes, it only needs to have a name that matches the
+ * parent of the mdev, and it needs the proper name
+ */
+static virNodeDeviceDef *
+fakeCSSDevice(void)
+{
+    virNodeDeviceDef *def = NULL;
+    virNodeDevCapCCW *css_dev;
+
+    def = g_new0(virNodeDeviceDef, 1);
+    def->caps = g_new0(virNodeDevCapsDef, 1);
+
+    def->name = g_strdup("css_0_0_0052");
+    def->parent = g_strdup("computer");
+
+    def->caps->data.type = VIR_NODE_DEV_CAP_CSS_DEV;
+    css_dev = &def->caps->data.ccw_dev;
+    css_dev->cssid = 0;
+    css_dev->ssid = 0;
+    css_dev->devno = 82;
+
+    return def;
+}
+
 static int
 addDevice(virNodeDeviceDef *def)
 {
@@ -354,7 +380,8 @@ nodedevTestDriverAddTestDevices(void)
 {
     if (addDevice(fakeRootDevice()) < 0 ||
         addDevice(fakePCIDevice()) < 0 ||
-        addDevice(fakeMatrixDevice()) < 0)
+        addDevice(fakeMatrixDevice()) < 0 ||
+        addDevice(fakeCSSDevice()) < 0)
         return -1;
 
     return 0;
@@ -437,6 +464,7 @@ mymain(void)
     DO_TEST_CREATE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
     DO_TEST_CREATE("mdev_fedc4916_1ca8_49ac_b176_871d16c13076");
     DO_TEST_CREATE("mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9");
+    DO_TEST_CREATE("mdev_cc000052_9b13_9b13_9b13_cc23009b1326");
 
     /* Test mdevctl stop command, pass an arbitrary uuid */
     DO_TEST_STOP("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
@@ -449,6 +477,7 @@ mymain(void)
     DO_TEST_DEFINE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
     DO_TEST_DEFINE("mdev_fedc4916_1ca8_49ac_b176_871d16c13076");
     DO_TEST_DEFINE("mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9");
+    DO_TEST_DEFINE("mdev_cc000052_9b13_9b13_9b13_cc23009b1326");
 
     DO_TEST_UNDEFINE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
 
diff --git a/tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml b/tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml
new file mode 100644 (file)
index 0000000..8a77946
--- /dev/null
@@ -0,0 +1,8 @@
+<device>
+  <name>mdev_cc000052_9b13_9b13_9b13_cc23009b1326</name>
+  <parent>css_0_0_0052</parent>
+  <capability type='mdev'>
+    <type id='vfio_ccw-io'/>
+    <uuid>cc000052-9b13-9b13-9b13-cc23009b1326</uuid>
+  </capability>
+</device>