[PATCH 2/3] tests: add capabilities for QEMU 9.2.0 on s390x

Boris Fiuczynski posted 3 patches 2 weeks ago
There is a newer version of this series
[PATCH 2/3] tests: add capabilities for QEMU 9.2.0 on s390x
Posted by Boris Fiuczynski 2 weeks ago
Let us introduce the xml and reply files for QEMU 9.2.0 on s390x.

Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
---
 tests/domaincapsdata/qemu_9.2.0.s390x.xml     |   311 +
 .../caps_9.2.0_s390x.replies                  | 36741 ++++++++++++++++
 .../qemucapabilitiesdata/caps_9.2.0_s390x.xml |  3752 ++
 3 files changed, 40804 insertions(+)
 create mode 100644 tests/domaincapsdata/qemu_9.2.0.s390x.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml

diff --git a/tests/domaincapsdata/qemu_9.2.0.s390x.xml b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
new file mode 100644
index 0000000000..e13809bc63
--- /dev/null
+++ b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
@@ -0,0 +1,311 @@
+<domainCapabilities>
+  <path>/usr/bin/qemu-system-s390x</path>
+  <domain>kvm</domain>
+  <machine>s390-ccw-virtio-9.2</machine>
+  <arch>s390x</arch>
+  <vcpu max='248'/>
+  <iothreads supported='yes'/>
+  <os supported='yes'>
+    <enum name='firmware'/>
+    <loader supported='yes'>
+      <value>/obviously/fake/firmware1.fd</value>
+      <value>/obviously/fake/firmware2.fd</value>
+      <enum name='type'>
+        <value>rom</value>
+        <value>pflash</value>
+      </enum>
+      <enum name='readonly'>
+        <value>yes</value>
+        <value>no</value>
+      </enum>
+      <enum name='secure'>
+        <value>no</value>
+      </enum>
+    </loader>
+  </os>
+  <cpu>
+    <mode name='host-passthrough' supported='yes'>
+      <enum name='hostPassthroughMigratable'>
+        <value>off</value>
+      </enum>
+    </mode>
+    <mode name='maximum' supported='yes'>
+      <enum name='maximumMigratable'>
+        <value>on</value>
+        <value>off</value>
+      </enum>
+    </mode>
+    <mode name='host-model' supported='yes'>
+      <model fallback='forbid'>gen16a-base</model>
+      <feature policy='require' name='nnpa'/>
+      <feature policy='require' name='aen'/>
+      <feature policy='require' name='cmmnt'/>
+      <feature policy='require' name='vxpdeh'/>
+      <feature policy='require' name='aefsi'/>
+      <feature policy='require' name='diag318'/>
+      <feature policy='require' name='csske'/>
+      <feature policy='require' name='mepoch'/>
+      <feature policy='require' name='msa9'/>
+      <feature policy='require' name='msa8'/>
+      <feature policy='require' name='msa7'/>
+      <feature policy='require' name='msa6'/>
+      <feature policy='require' name='msa5'/>
+      <feature policy='require' name='msa4'/>
+      <feature policy='require' name='msa3'/>
+      <feature policy='require' name='msa2'/>
+      <feature policy='require' name='msa1'/>
+      <feature policy='require' name='sthyi'/>
+      <feature policy='require' name='edat'/>
+      <feature policy='require' name='ri'/>
+      <feature policy='require' name='deflate'/>
+      <feature policy='require' name='edat2'/>
+      <feature policy='require' name='etoken'/>
+      <feature policy='require' name='vx'/>
+      <feature policy='require' name='ipter'/>
+      <feature policy='require' name='pai'/>
+      <feature policy='require' name='paie'/>
+      <feature policy='require' name='mepochptff'/>
+      <feature policy='require' name='ap'/>
+      <feature policy='require' name='vxeh'/>
+      <feature policy='require' name='vxpd'/>
+      <feature policy='require' name='esop'/>
+      <feature policy='require' name='msa9_pckmo'/>
+      <feature policy='require' name='vxeh2'/>
+      <feature policy='require' name='esort'/>
+      <feature policy='require' name='appv'/>
+      <feature policy='require' name='apqi'/>
+      <feature policy='require' name='apft'/>
+      <feature policy='require' name='els'/>
+      <feature policy='require' name='iep'/>
+      <feature policy='require' name='appvi'/>
+      <feature policy='require' name='apqci'/>
+      <feature policy='require' name='cte'/>
+      <feature policy='require' name='ais'/>
+      <feature policy='require' name='bpb'/>
+      <feature policy='require' name='ctop'/>
+      <feature policy='require' name='gs'/>
+      <feature policy='require' name='ppa15'/>
+      <feature policy='require' name='zpci'/>
+      <feature policy='require' name='rdp'/>
+      <feature policy='require' name='sea_esop2'/>
+      <feature policy='require' name='beareh'/>
+      <feature policy='require' name='te'/>
+      <feature policy='require' name='cmm'/>
+      <feature policy='require' name='vxpdeh2'/>
+    </mode>
+    <mode name='custom' supported='yes'>
+      <model usable='yes' vendor='IBM'>gen15a</model>
+      <model usable='yes' vendor='IBM'>gen15a-base</model>
+      <model usable='yes' vendor='IBM'>gen15b</model>
+      <model usable='yes' vendor='IBM'>gen15b-base</model>
+      <model usable='yes' vendor='IBM'>gen16a</model>
+      <model usable='yes' vendor='IBM'>gen16a-base</model>
+      <model usable='yes' vendor='IBM'>gen16b</model>
+      <model usable='yes' vendor='IBM'>gen16b-base</model>
+      <model usable='yes' vendor='unknown'>max</model>
+      <model usable='yes' vendor='unknown'>qemu</model>
+      <model usable='yes' vendor='IBM'>z10BC</model>
+      <model usable='yes' vendor='IBM'>z10BC-base</model>
+      <model usable='yes' vendor='IBM'>z10BC.2</model>
+      <model usable='yes' vendor='IBM'>z10BC.2-base</model>
+      <model usable='yes' vendor='IBM'>z10EC</model>
+      <model usable='yes' vendor='IBM'>z10EC-base</model>
+      <model usable='yes' vendor='IBM'>z10EC.2</model>
+      <model usable='yes' vendor='IBM'>z10EC.2-base</model>
+      <model usable='yes' vendor='IBM'>z10EC.3</model>
+      <model usable='yes' vendor='IBM'>z10EC.3-base</model>
+      <model usable='yes' vendor='IBM'>z114</model>
+      <model usable='yes' vendor='IBM'>z114-base</model>
+      <model usable='yes' vendor='IBM'>z13</model>
+      <model usable='yes' vendor='IBM'>z13-base</model>
+      <model usable='yes' vendor='IBM'>z13.2</model>
+      <model usable='yes' vendor='IBM'>z13.2-base</model>
+      <model usable='yes' vendor='IBM'>z13s</model>
+      <model usable='yes' vendor='IBM'>z13s-base</model>
+      <model usable='yes' vendor='IBM'>z14</model>
+      <model usable='yes' vendor='IBM'>z14-base</model>
+      <model usable='yes' vendor='IBM'>z14.2</model>
+      <model usable='yes' vendor='IBM'>z14.2-base</model>
+      <model usable='yes' vendor='IBM'>z14ZR1</model>
+      <model usable='yes' vendor='IBM'>z14ZR1-base</model>
+      <model usable='yes' vendor='IBM'>z196</model>
+      <model usable='yes' vendor='IBM'>z196-base</model>
+      <model usable='yes' vendor='IBM'>z196.2</model>
+      <model usable='yes' vendor='IBM'>z196.2-base</model>
+      <model usable='yes' vendor='IBM'>z800</model>
+      <model usable='yes' vendor='IBM'>z800-base</model>
+      <model usable='yes' vendor='IBM'>z890</model>
+      <model usable='yes' vendor='IBM'>z890-base</model>
+      <model usable='yes' vendor='IBM'>z890.2</model>
+      <model usable='yes' vendor='IBM'>z890.2-base</model>
+      <model usable='yes' vendor='IBM'>z890.3</model>
+      <model usable='yes' vendor='IBM'>z890.3-base</model>
+      <model usable='yes' vendor='IBM'>z900</model>
+      <model usable='yes' vendor='IBM'>z900-base</model>
+      <model usable='yes' vendor='IBM'>z900.2</model>
+      <model usable='yes' vendor='IBM'>z900.2-base</model>
+      <model usable='yes' vendor='IBM'>z900.3</model>
+      <model usable='yes' vendor='IBM'>z900.3-base</model>
+      <model usable='yes' vendor='IBM'>z990</model>
+      <model usable='yes' vendor='IBM'>z990-base</model>
+      <model usable='yes' vendor='IBM'>z990.2</model>
+      <model usable='yes' vendor='IBM'>z990.2-base</model>
+      <model usable='yes' vendor='IBM'>z990.3</model>
+      <model usable='yes' vendor='IBM'>z990.3-base</model>
+      <model usable='yes' vendor='IBM'>z990.4</model>
+      <model usable='yes' vendor='IBM'>z990.4-base</model>
+      <model usable='yes' vendor='IBM'>z990.5</model>
+      <model usable='yes' vendor='IBM'>z990.5-base</model>
+      <model usable='yes' vendor='IBM'>z9BC</model>
+      <model usable='yes' vendor='IBM'>z9BC-base</model>
+      <model usable='yes' vendor='IBM'>z9BC.2</model>
+      <model usable='yes' vendor='IBM'>z9BC.2-base</model>
+      <model usable='yes' vendor='IBM'>z9EC</model>
+      <model usable='yes' vendor='IBM'>z9EC-base</model>
+      <model usable='yes' vendor='IBM'>z9EC.2</model>
+      <model usable='yes' vendor='IBM'>z9EC.2-base</model>
+      <model usable='yes' vendor='IBM'>z9EC.3</model>
+      <model usable='yes' vendor='IBM'>z9EC.3-base</model>
+      <model usable='yes' vendor='IBM'>zBC12</model>
+      <model usable='yes' vendor='IBM'>zBC12-base</model>
+      <model usable='yes' vendor='IBM'>zEC12</model>
+      <model usable='yes' vendor='IBM'>zEC12-base</model>
+      <model usable='yes' vendor='IBM'>zEC12.2</model>
+      <model usable='yes' vendor='IBM'>zEC12.2-base</model>
+    </mode>
+  </cpu>
+  <memoryBacking supported='yes'>
+    <enum name='sourceType'>
+      <value>file</value>
+      <value>anonymous</value>
+      <value>memfd</value>
+    </enum>
+  </memoryBacking>
+  <devices>
+    <disk supported='yes'>
+      <enum name='diskDevice'>
+        <value>disk</value>
+        <value>cdrom</value>
+        <value>floppy</value>
+        <value>lun</value>
+      </enum>
+      <enum name='bus'>
+        <value>fdc</value>
+        <value>scsi</value>
+        <value>virtio</value>
+        <value>usb</value>
+      </enum>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
+    </disk>
+    <graphics supported='yes'>
+      <enum name='type'>
+        <value>sdl</value>
+        <value>vnc</value>
+        <value>egl-headless</value>
+        <value>dbus</value>
+      </enum>
+    </graphics>
+    <video supported='yes'>
+      <enum name='modelType'>
+        <value>virtio</value>
+        <value>none</value>
+      </enum>
+    </video>
+    <hostdev supported='yes'>
+      <enum name='mode'>
+        <value>subsystem</value>
+      </enum>
+      <enum name='startupPolicy'>
+        <value>default</value>
+        <value>mandatory</value>
+        <value>requisite</value>
+        <value>optional</value>
+      </enum>
+      <enum name='subsysType'>
+        <value>usb</value>
+        <value>pci</value>
+        <value>scsi</value>
+      </enum>
+      <enum name='capsType'/>
+      <enum name='pciBackend'>
+        <value>default</value>
+        <value>vfio</value>
+      </enum>
+    </hostdev>
+    <rng supported='yes'>
+      <enum name='model'>
+        <value>virtio</value>
+        <value>virtio-transitional</value>
+        <value>virtio-non-transitional</value>
+      </enum>
+      <enum name='backendModel'>
+        <value>random</value>
+        <value>egd</value>
+        <value>builtin</value>
+      </enum>
+    </rng>
+    <filesystem supported='yes'>
+      <enum name='driverType'>
+        <value>path</value>
+        <value>handle</value>
+        <value>virtiofs</value>
+      </enum>
+    </filesystem>
+    <tpm supported='no'/>
+    <redirdev supported='yes'>
+      <enum name='bus'>
+        <value>usb</value>
+      </enum>
+    </redirdev>
+    <channel supported='yes'>
+      <enum name='type'>
+        <value>pty</value>
+        <value>unix</value>
+      </enum>
+    </channel>
+    <crypto supported='yes'>
+      <enum name='model'>
+        <value>virtio</value>
+      </enum>
+      <enum name='type'>
+        <value>qemu</value>
+      </enum>
+      <enum name='backendModel'>
+        <value>builtin</value>
+        <value>lkcf</value>
+      </enum>
+    </crypto>
+    <interface supported='yes'>
+      <enum name='backendType'>
+        <value>default</value>
+        <value>passt</value>
+      </enum>
+    </interface>
+    <panic supported='yes'>
+      <enum name='model'>
+        <value>s390</value>
+      </enum>
+    </panic>
+  </devices>
+  <features>
+    <gic supported='no'/>
+    <vmcoreinfo supported='no'/>
+    <genid supported='no'/>
+    <backingStoreInput supported='yes'/>
+    <backup supported='yes'/>
+    <async-teardown supported='yes'/>
+    <s390-pv supported='yes'/>
+    <ps2 supported='no'/>
+    <sev supported='no'/>
+    <sgx supported='no'/>
+    <launchSecurity supported='yes'>
+      <enum name='sectype'>
+        <value>s390-pv</value>
+      </enum>
+    </launchSecurity>
+  </features>
+</domainCapabilities>
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
new file mode 100644
index 0000000000..0f97cd3499
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
@@ -0,0 +1,36741 @@
[...]
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
new file mode 100644
index 0000000000..8a6a516fa3
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
@@ -0,0 +1,3752 @@
[...]
-- 
2.45.0
Re: [PATCH 2/3] tests: add capabilities for QEMU 9.2.0 on s390x
Posted by Peter Krempa 1 week, 6 days ago
On Wed, Nov 06, 2024 at 15:31:56 +0100, Boris Fiuczynski wrote:
> Let us introduce the xml and reply files for QEMU 9.2.0 on s390x.

qemu-9.2 is not yet out ...

> 
> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
> Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
> ---
>  tests/domaincapsdata/qemu_9.2.0.s390x.xml     |   311 +
>  .../caps_9.2.0_s390x.replies                  | 36741 ++++++++++++++++
>  .../qemucapabilitiesdata/caps_9.2.0_s390x.xml |  3752 ++
>  3 files changed, 40804 insertions(+)
>  create mode 100644 tests/domaincapsdata/qemu_9.2.0.s390x.xml
>  create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
>  create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml

...

but your .replies file claims:

+  "return": {
+    "qemu": {
+      "micro": 0,
+      "minor": 2,
+      "major": 9
+    },
+    "package": "v9.2.0"
+  },
+  "id": "libvirt-2"
+}
+

So that seems doctored. We're okay with in development versions but they
must be captured from a real qemu build without any shenanigans.

Also don't forget to mention in the commit message which exact commit
this was based on.

Additionally if you want to commit an in-development version you also
need to volunteer to update this once the real qemu-9.2 is released.
Re: [PATCH 2/3] tests: add capabilities for QEMU 9.2.0 on s390x
Posted by Boris Fiuczynski 1 week, 6 days ago
On 11/7/24 17:19, Peter Krempa wrote:
> On Wed, Nov 06, 2024 at 15:31:56 +0100, Boris Fiuczynski wrote:
>> Let us introduce the xml and reply files for QEMU 9.2.0 on s390x.
> 
> qemu-9.2 is not yet out ...
> 
>>
>> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
>> Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
>> ---
>>   tests/domaincapsdata/qemu_9.2.0.s390x.xml     |   311 +
>>   .../caps_9.2.0_s390x.replies                  | 36741 ++++++++++++++++
>>   .../qemucapabilitiesdata/caps_9.2.0_s390x.xml |  3752 ++
>>   3 files changed, 40804 insertions(+)
>>   create mode 100644 tests/domaincapsdata/qemu_9.2.0.s390x.xml
>>   create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
>>   create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
> 
> ...
> 
> but your .replies file claims:
> 
> +  "return": {
> +    "qemu": {
> +      "micro": 0,
> +      "minor": 2,
> +      "major": 9
> +    },
> +    "package": "v9.2.0"
> +  },
> +  "id": "libvirt-2"
> +}
> +
> 
> So that seems doctored. We're okay with in development versions but they
> must be captured from a real qemu build without any shenanigans.
> 
> Also don't forget to mention in the commit message which exact commit
> this was based on.
> 
> Additionally if you want to commit an in-development version you also
> need to volunteer to update this once the real qemu-9.2 is released.

I will look up the QEMU commit id we used to generate the replies file 
and add it to the package returned as well as mention it in the commit 
message. We plan to update these files with the future GA qemu-9.2.

-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Wolfgang Wendt
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294