From: "Collin L. Walling" <walling(a)linux.vnet.ibm.com>
Tests the domain capabilities on s390x using the Qemu 2.8 capabilities data.
Signed-off-by: Collin L. Walling <walling(a)linux.vnet.ibm.com>
Signed-off-by: Jason J. Herne <jjherne(a)linux.vnet.ibm.com>
---
tests/domaincapsschemadata/qemu_2.8.0.s390x.xml | 159 ++++++++++++++++++++++++
tests/domaincapstest.c | 14 +++
2 files changed, 173 insertions(+)
create mode 100644 tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
diff --git a/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
new file mode 100644
index 0000000..efe3459
--- /dev/null
+++ b/tests/domaincapsschemadata/qemu_2.8.0.s390x.xml
@@ -0,0 +1,159 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-s390x</path>
+ <domain>kvm</domain>
+ <machine>s390-ccw-virtio-2.8</machine>
+ <arch>s390x</arch>
+ <vcpu max='248'/>
+ <os supported='yes'>
+ <loader supported='yes'>
+ <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
+ <value>/usr/share/OVMF/OVMF_CODE.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'/>
+ <mode name='host-model' supported='yes'>
+ <model fallback='allow'>zEC12.2-base</model>
+ <feature policy='require' name='aefsi'/>
+ <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='edat2'/>
+ <feature policy='require' name='ipter'/>
+ <feature policy='require' name='esop'/>
+ <feature policy='require' name='cte'/>
+ <feature policy='require' name='te'/>
+ <feature policy='require' name='cmm'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='unknown'>z10EC-base</model>
+ <model usable='unknown'>z9EC-base</model>
+ <model usable='unknown'>z196.2-base</model>
+ <model usable='unknown'>z900-base</model>
+ <model usable='unknown'>z990</model>
+ <model usable='unknown'>z900.2-base</model>
+ <model usable='unknown'>z900.3</model>
+ <model usable='unknown'>z114</model>
+ <model usable='unknown'>z890-base</model>
+ <model usable='unknown'>z13.2-base</model>
+ <model usable='unknown'>zEC12.2</model>
+ <model usable='unknown'>z900.2</model>
+ <model usable='unknown'>z10BC</model>
+ <model usable='unknown'>z10BC.2</model>
+ <model usable='unknown'>z196</model>
+ <model usable='unknown'>z9EC</model>
+ <model usable='unknown'>z990-base</model>
+ <model usable='unknown'>z10EC.3</model>
+ <model usable='unknown'>z900</model>
+ <model usable='unknown'>z9EC.3-base</model>
+ <model usable='unknown'>z990.5-base</model>
+ <model usable='unknown'>z10EC.2</model>
+ <model usable='unknown'>z9BC.2</model>
+ <model usable='unknown'>z10EC</model>
+ <model usable='unknown'>z990.3-base</model>
+ <model usable='unknown'>z13s</model>
+ <model usable='unknown'>z10EC.3-base</model>
+ <model usable='unknown'>zEC12.2-base</model>
+ <model usable='unknown'>z890.3-base</model>
+ <model usable='unknown'>z9EC.3</model>
+ <model usable='unknown'>z990.5</model>
+ <model usable='unknown'>z13</model>
+ <model usable='unknown'>z13s-base</model>
+ <model usable='unknown'>z9EC.2</model>
+ <model usable='unknown'>z990.4</model>
+ <model usable='unknown'>zEC12-base</model>
+ <model usable='unknown'>z9EC.2-base</model>
+ <model usable='unknown'>zBC12</model>
+ <model usable='unknown'>z196.2</model>
+ <model usable='unknown'>z990.3</model>
+ <model usable='unknown'>z990.2-base</model>
+ <model usable='unknown'>z900.3-base</model>
+ <model usable='unknown'>z890.3</model>
+ <model usable='unknown'>z10EC.2-base</model>
+ <model usable='unknown'>z990.2</model>
+ <model usable='unknown'>z890.2</model>
+ <model usable='unknown'>zBC12-base</model>
+ <model usable='unknown'>z800-base</model>
+ <model usable='unknown'>zEC12</model>
+ <model usable='unknown'>z9BC.2-base</model>
+ <model usable='unknown'>z9BC</model>
+ <model usable='unknown'>z10BC.2-base</model>
+ <model usable='unknown'>z990.4-base</model>
+ <model usable='unknown'>qemu</model>
+ <model usable='unknown'>z10BC-base</model>
+ <model usable='unknown'>z9BC-base</model>
+ <model usable='unknown'>z800</model>
+ <model usable='unknown'>z890.2-base</model>
+ <model usable='unknown'>z13.2</model>
+ <model usable='unknown'>z114-base</model>
+ <model usable='unknown'>z196-base</model>
+ <model usable='unknown'>z13-base</model>
+ <model usable='unknown'>z890</model>
+ </mode>
+ </cpu>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>virtio</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>kvm</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ </features>
+</domainCapabilities>
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
index fea5120..9ba26db 100644
--- a/tests/domaincapstest.c
+++ b/tests/domaincapstest.c
@@ -134,6 +134,12 @@ static virCPUDef x86Cpu = {
NULL, 0, NULL, 1, 1, 1, 0, 0, NULL,
};
+static virCPUDef s390Cpu = {
+ VIR_CPU_TYPE_HOST, 0, 0,
+ VIR_ARCH_S390X, (char *) "zEC12.2-base",
+ NULL, 0, NULL, 1, 1, 1, 0, 0, NULL,
+};
+
static int
fakeHostCPU(virCapsPtr caps,
virArch arch)
@@ -153,6 +159,10 @@ fakeHostCPU(virCapsPtr caps,
cpu = &x86Cpu;
break;
+ case VIR_ARCH_S390X:
+ cpu = &s390Cpu;
+ break;
+
default:
virReportError(VIR_ERR_INTERNAL_ERROR,
"cannot fake host CPU for arch %s",
@@ -443,6 +453,10 @@ mymain(void)
"/usr/bin/qemu-system-x86_64", NULL,
"x86_64", VIR_DOMAIN_VIRT_QEMU);
+ DO_TEST_QEMU("2.8.0", "caps_2.8.0",
+ "/usr/bin/qemu-system-s390x", NULL,
+ "s390x", VIR_DOMAIN_VIRT_KVM);
+
#endif /* WITH_QEMU */
#if WITH_LIBXL
--
2.7.4