3a9410
From ea4976de7bccfe8016950d040629a6818a58db4e Mon Sep 17 00:00:00 2001
3a9410
Message-Id: <ea4976de7bccfe8016950d040629a6818a58db4e@dist-git>
3a9410
From: Boris Fiuczynski <fiuczy@linux.ibm.com>
3a9410
Date: Fri, 13 May 2022 12:31:16 +0200
3a9410
Subject: [PATCH] nodedev: add tests for optional device address to css device
3a9410
3a9410
Add nodedev schema parsing and format tests for the optional new device
3a9410
address on the css devices.
3a9410
3a9410
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
3a9410
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
3a9410
(cherry picked from commit 127fda5e84790af2c5a16b61a87e339391cccb3b)
3a9410
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2165011
3a9410
Signed-off-by: Thomas Huth <thuth@redhat.com>
3a9410
---
3a9410
 .../css_0_0_10000-invalid.xml                 | 10 +++++++++
3a9410
 ...s_0_0_fffe_mdev_types_channel_dev_addr.xml | 22 +++++++++++++++++++
3a9410
 .../css_0_0_ffff_channel_dev_addr-invalid.xml | 15 +++++++++++++
3a9410
 .../css_0_0_ffff_channel_dev_addr.xml         | 15 +++++++++++++
3a9410
 ...s_0_0_fffe_mdev_types_channel_dev_addr.xml |  1 +
3a9410
 .../css_0_0_ffff_channel_dev_addr.xml         |  1 +
3a9410
 tests/nodedevxml2xmltest.c                    |  2 ++
3a9410
 7 files changed, 66 insertions(+)
3a9410
 create mode 100644 tests/nodedevschemadata/css_0_0_10000-invalid.xml
3a9410
 create mode 100644 tests/nodedevschemadata/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
 create mode 100644 tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr-invalid.xml
3a9410
 create mode 100644 tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr.xml
3a9410
 create mode 120000 tests/nodedevxml2xmlout/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
 create mode 120000 tests/nodedevxml2xmlout/css_0_0_ffff_channel_dev_addr.xml
3a9410
3a9410
diff --git a/tests/nodedevschemadata/css_0_0_10000-invalid.xml b/tests/nodedevschemadata/css_0_0_10000-invalid.xml
3a9410
new file mode 100644
3a9410
index 0000000000..740bb489a7
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevschemadata/css_0_0_10000-invalid.xml
3a9410
@@ -0,0 +1,10 @@
3a9410
+<device>
3a9410
+  <name>css_0_0_10000</name>
3a9410
+  <path>/sys/devices/css0/0.0.10000</path>
3a9410
+  <parent>computer</parent>
3a9410
+  <capability type='css'>
3a9410
+    <cssid>0x0</cssid>
3a9410
+    <ssid>0x0</ssid>
3a9410
+    <devno>0x10000</devno>
3a9410
+  </capability>
3a9410
+</device>
3a9410
diff --git a/tests/nodedevschemadata/css_0_0_fffe_mdev_types_channel_dev_addr.xml b/tests/nodedevschemadata/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
new file mode 100644
3a9410
index 0000000000..198dcb0cb0
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevschemadata/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
@@ -0,0 +1,22 @@
3a9410
+<device>
3a9410
+  <name>css_0_0_fffe</name>
3a9410
+  <path>/sys/devices/css0/0.0.fffe</path>
3a9410
+  <parent>computer</parent>
3a9410
+  <capability type='css'>
3a9410
+    <cssid>0x0</cssid>
3a9410
+    <ssid>0x0</ssid>
3a9410
+    <devno>0xfffe</devno>
3a9410
+    <channel_dev_addr>
3a9410
+      <cssid>0x0</cssid>
3a9410
+      <ssid>0x0</ssid>
3a9410
+      <devno>0x0815</devno>
3a9410
+    </channel_dev_addr>
3a9410
+    <capability type='mdev_types'>
3a9410
+      <type id='vfio_ccw-io'>
3a9410
+        <name>I/O subchannel (Non-QDIO)</name>
3a9410
+        <deviceAPI>vfio-ccw</deviceAPI>
3a9410
+        <availableInstances>1</availableInstances>
3a9410
+      </type>
3a9410
+    </capability>
3a9410
+  </capability>
3a9410
+</device>
3a9410
diff --git a/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr-invalid.xml b/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr-invalid.xml
3a9410
new file mode 100644
3a9410
index 0000000000..3f2c5558c7
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr-invalid.xml
3a9410
@@ -0,0 +1,15 @@
3a9410
+<device>
3a9410
+  <name>css_0_0_ffff</name>
3a9410
+  <path>/sys/devices/css0/0.0.ffff</path>
3a9410
+  <parent>computer</parent>
3a9410
+  <capability type='css'>
3a9410
+    <cssid>0x0</cssid>
3a9410
+    <ssid>0x0</ssid>
3a9410
+    <devno>0xffff</devno>
3a9410
+    <channel_dev_addr>
3a9410
+      <cssid>0x0</cssid>
3a9410
+      <ssid>0x0</ssid>
3a9410
+      <devno>0x10000</devno>
3a9410
+    </channel_dev_addr>
3a9410
+  </capability>
3a9410
+</device>
3a9410
diff --git a/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr.xml b/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr.xml
3a9410
new file mode 100644
3a9410
index 0000000000..17a77cb282
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevschemadata/css_0_0_ffff_channel_dev_addr.xml
3a9410
@@ -0,0 +1,15 @@
3a9410
+<device>
3a9410
+  <name>css_0_0_ffff</name>
3a9410
+  <path>/sys/devices/css0/0.0.ffff</path>
3a9410
+  <parent>computer</parent>
3a9410
+  <capability type='css'>
3a9410
+    <cssid>0x0</cssid>
3a9410
+    <ssid>0x0</ssid>
3a9410
+    <devno>0xffff</devno>
3a9410
+    <channel_dev_addr>
3a9410
+      <cssid>0x0</cssid>
3a9410
+      <ssid>0x0</ssid>
3a9410
+      <devno>0x0815</devno>
3a9410
+    </channel_dev_addr>
3a9410
+  </capability>
3a9410
+</device>
3a9410
diff --git a/tests/nodedevxml2xmlout/css_0_0_fffe_mdev_types_channel_dev_addr.xml b/tests/nodedevxml2xmlout/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
new file mode 120000
3a9410
index 0000000000..65ab582ee8
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevxml2xmlout/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
@@ -0,0 +1 @@
3a9410
+../nodedevschemadata/css_0_0_fffe_mdev_types_channel_dev_addr.xml
3a9410
\ No newline at end of file
3a9410
diff --git a/tests/nodedevxml2xmlout/css_0_0_ffff_channel_dev_addr.xml b/tests/nodedevxml2xmlout/css_0_0_ffff_channel_dev_addr.xml
3a9410
new file mode 120000
3a9410
index 0000000000..cbfe719777
3a9410
--- /dev/null
3a9410
+++ b/tests/nodedevxml2xmlout/css_0_0_ffff_channel_dev_addr.xml
3a9410
@@ -0,0 +1 @@
3a9410
+../nodedevschemadata/css_0_0_ffff_channel_dev_addr.xml
3a9410
\ No newline at end of file
3a9410
diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c
3a9410
index 557347fb07..ad9562cc82 100644
3a9410
--- a/tests/nodedevxml2xmltest.c
3a9410
+++ b/tests/nodedevxml2xmltest.c
3a9410
@@ -125,7 +125,9 @@ mymain(void)
3a9410
     DO_TEST("mdev_3627463d_b7f0_4fea_b468_f1da537d301b");
3a9410
     DO_TEST("ccw_0_0_ffff");
3a9410
     DO_TEST("css_0_0_ffff");
3a9410
+    DO_TEST("css_0_0_ffff_channel_dev_addr");
3a9410
     DO_TEST("css_0_0_fffe_mdev_types");
3a9410
+    DO_TEST("css_0_0_fffe_mdev_types_channel_dev_addr");
3a9410
     DO_TEST("ap_card07");
3a9410
     DO_TEST("ap_07_0038");
3a9410
     DO_TEST("ap_matrix");
3a9410
-- 
3a9410
2.39.1
3a9410