c480ed
From d5a656f2fe0e7aea8f56a4b4c59dcc3d5e906411 Mon Sep 17 00:00:00 2001
c480ed
Message-Id: <d5a656f2fe0e7aea8f56a4b4c59dcc3d5e906411@dist-git>
c480ed
From: Jiri Denemark <jdenemar@redhat.com>
c480ed
Date: Fri, 21 Jun 2019 09:25:49 +0200
c480ed
Subject: [PATCH] tests: Add domain capabilities case for QEMU 4.1.0
c480ed
MIME-Version: 1.0
c480ed
Content-Type: text/plain; charset=UTF-8
c480ed
Content-Transfer-Encoding: 8bit
c480ed
c480ed
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
c480ed
Reviewed-by: Ján Tomko <jtomko@redhat.com>
c480ed
(cherry picked from commit 9ceee2f4bb5d6cefa24c3aedcb7addbe7907c60b)
c480ed
c480ed
https://bugzilla.redhat.com/show_bug.cgi?id=1697627
c480ed
c480ed
Conflicts:
c480ed
	tests/domaincapstest.c
c480ed
            - several cases are missing
c480ed
c480ed
	tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
c480ed
            - some capabilities are not reported in domaincaps
c480ed
c480ed
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
c480ed
Message-Id: <87edadf46f7d4d7ad161b2ab433632f9d0f66920.1561068591.git.jdenemar@redhat.com>
c480ed
Reviewed-by: Ján Tomko <jtomko@redhat.com>
c480ed
---
c480ed
 .../qemu_4.1.0.x86_64.xml                     | 148 ++++++++++++++++++
c480ed
 tests/domaincapstest.c                        |   4 +
c480ed
 2 files changed, 152 insertions(+)
c480ed
 create mode 100644 tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
c480ed
c480ed
diff --git a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
c480ed
new file mode 100644
c480ed
index 0000000000..47aed6a43a
c480ed
--- /dev/null
c480ed
+++ b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
c480ed
@@ -0,0 +1,148 @@
c480ed
+<domainCapabilities>
c480ed
+  <path>/usr/bin/qemu-system-x86_64</path>
c480ed
+  <domain>kvm</domain>
c480ed
+  <machine>pc-i440fx-4.1</machine>
c480ed
+  <arch>x86_64</arch>
c480ed
+  <vcpu max='255'/>
c480ed
+  <iothreads supported='yes'/>
c480ed
+  <os supported='yes'>
c480ed
+    <loader supported='yes'>
c480ed
+      <value>/usr/share/AAVMF/AAVMF_CODE.fd</value>
c480ed
+      <value>/usr/share/AAVMF/AAVMF32_CODE.fd</value>
c480ed
+      <value>/usr/share/OVMF/OVMF_CODE.fd</value>
c480ed
+      <enum name='type'>
c480ed
+        <value>rom</value>
c480ed
+        <value>pflash</value>
c480ed
+      </enum>
c480ed
+      <enum name='readonly'>
c480ed
+        <value>yes</value>
c480ed
+        <value>no</value>
c480ed
+      </enum>
c480ed
+    </loader>
c480ed
+  </os>
c480ed
+  <cpu>
c480ed
+    <mode name='host-passthrough' supported='yes'/>
c480ed
+    <mode name='host-model' supported='yes'>
c480ed
+      <model fallback='forbid'>Skylake-Client</model>
c480ed
+      <vendor>Intel</vendor>
c480ed
+      <feature policy='require' name='ss'/>
c480ed
+      <feature policy='require' name='vmx'/>
c480ed
+      <feature policy='require' name='hypervisor'/>
c480ed
+      <feature policy='require' name='tsc_adjust'/>
c480ed
+      <feature policy='require' name='clflushopt'/>
c480ed
+      <feature policy='require' name='umip'/>
c480ed
+      <feature policy='require' name='arch-capabilities'/>
c480ed
+      <feature policy='require' name='xsaves'/>
c480ed
+      <feature policy='require' name='pdpe1gb'/>
c480ed
+    </mode>
c480ed
+    <mode name='custom' supported='yes'>
c480ed
+      <model usable='yes'>qemu64</model>
c480ed
+      <model usable='yes'>qemu32</model>
c480ed
+      <model usable='no'>phenom</model>
c480ed
+      <model usable='yes'>pentium3</model>
c480ed
+      <model usable='yes'>pentium2</model>
c480ed
+      <model usable='yes'>pentium</model>
c480ed
+      <model usable='yes'>n270</model>
c480ed
+      <model usable='yes'>kvm64</model>
c480ed
+      <model usable='yes'>kvm32</model>
c480ed
+      <model usable='yes'>coreduo</model>
c480ed
+      <model usable='yes'>core2duo</model>
c480ed
+      <model usable='no'>athlon</model>
c480ed
+      <model usable='no'>Westmere-IBRS</model>
c480ed
+      <model usable='yes'>Westmere</model>
c480ed
+      <model usable='no'>Skylake-Server-IBRS</model>
c480ed
+      <model usable='no'>Skylake-Server</model>
c480ed
+      <model usable='no'>Skylake-Client-IBRS</model>
c480ed
+      <model usable='yes'>Skylake-Client</model>
c480ed
+      <model usable='no'>SandyBridge-IBRS</model>
c480ed
+      <model usable='yes'>SandyBridge</model>
c480ed
+      <model usable='yes'>Penryn</model>
c480ed
+      <model usable='no'>Opteron_G5</model>
c480ed
+      <model usable='no'>Opteron_G4</model>
c480ed
+      <model usable='no'>Opteron_G3</model>
c480ed
+      <model usable='yes'>Opteron_G2</model>
c480ed
+      <model usable='yes'>Opteron_G1</model>
c480ed
+      <model usable='no'>Nehalem-IBRS</model>
c480ed
+      <model usable='yes'>Nehalem</model>
c480ed
+      <model usable='no'>IvyBridge-IBRS</model>
c480ed
+      <model usable='yes'>IvyBridge</model>
c480ed
+      <model usable='no'>Icelake-Server</model>
c480ed
+      <model usable='no'>Icelake-Client</model>
c480ed
+      <model usable='no'>Haswell-noTSX-IBRS</model>
c480ed
+      <model usable='yes'>Haswell-noTSX</model>
c480ed
+      <model usable='no'>Haswell-IBRS</model>
c480ed
+      <model usable='yes'>Haswell</model>
c480ed
+      <model usable='no'>EPYC-IBPB</model>
c480ed
+      <model usable='no'>EPYC</model>
c480ed
+      <model usable='yes'>Conroe</model>
c480ed
+      <model usable='no'>Cascadelake-Server</model>
c480ed
+      <model usable='no'>Broadwell-noTSX-IBRS</model>
c480ed
+      <model usable='yes'>Broadwell-noTSX</model>
c480ed
+      <model usable='no'>Broadwell-IBRS</model>
c480ed
+      <model usable='yes'>Broadwell</model>
c480ed
+      <model usable='yes'>486</model>
c480ed
+    </mode>
c480ed
+  </cpu>
c480ed
+  <devices>
c480ed
+    <disk supported='yes'>
c480ed
+      <enum name='diskDevice'>
c480ed
+        <value>disk</value>
c480ed
+        <value>cdrom</value>
c480ed
+        <value>floppy</value>
c480ed
+        <value>lun</value>
c480ed
+      </enum>
c480ed
+      <enum name='bus'>
c480ed
+        <value>ide</value>
c480ed
+        <value>fdc</value>
c480ed
+        <value>scsi</value>
c480ed
+        <value>virtio</value>
c480ed
+        <value>usb</value>
c480ed
+        <value>sata</value>
c480ed
+      </enum>
c480ed
+    </disk>
c480ed
+    <graphics supported='yes'>
c480ed
+      <enum name='type'>
c480ed
+        <value>sdl</value>
c480ed
+        <value>vnc</value>
c480ed
+        <value>spice</value>
c480ed
+      </enum>
c480ed
+    </graphics>
c480ed
+    <video supported='yes'>
c480ed
+      <enum name='modelType'>
c480ed
+        <value>vga</value>
c480ed
+        <value>cirrus</value>
c480ed
+        <value>vmvga</value>
c480ed
+        <value>qxl</value>
c480ed
+        <value>virtio</value>
c480ed
+      </enum>
c480ed
+    </video>
c480ed
+    <hostdev supported='yes'>
c480ed
+      <enum name='mode'>
c480ed
+        <value>subsystem</value>
c480ed
+      </enum>
c480ed
+      <enum name='startupPolicy'>
c480ed
+        <value>default</value>
c480ed
+        <value>mandatory</value>
c480ed
+        <value>requisite</value>
c480ed
+        <value>optional</value>
c480ed
+      </enum>
c480ed
+      <enum name='subsysType'>
c480ed
+        <value>usb</value>
c480ed
+        <value>pci</value>
c480ed
+        <value>scsi</value>
c480ed
+      </enum>
c480ed
+      <enum name='capsType'/>
c480ed
+      <enum name='pciBackend'>
c480ed
+        <value>default</value>
c480ed
+        <value>kvm</value>
c480ed
+        <value>vfio</value>
c480ed
+      </enum>
c480ed
+    </hostdev>
c480ed
+  </devices>
c480ed
+  <features>
c480ed
+    <gic supported='no'/>
c480ed
+    <vmcoreinfo supported='yes'/>
c480ed
+    <genid supported='yes'/>
c480ed
+    <sev supported='no'/>
c480ed
+  </features>
c480ed
+</domainCapabilities>
c480ed
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
c480ed
index 06e77fd586..30e7eea3cb 100644
c480ed
--- a/tests/domaincapstest.c
c480ed
+++ b/tests/domaincapstest.c
c480ed
@@ -504,6 +504,10 @@ mymain(void)
c480ed
                  "/usr/bin/qemu-system-s390x", NULL,
c480ed
                  "s390x", VIR_DOMAIN_VIRT_KVM);
c480ed
 
c480ed
+    DO_TEST_QEMU("4.1.0", "caps_4.1.0",
c480ed
+                 "/usr/bin/qemu-system-x86_64", NULL,
c480ed
+                 "x86_64", VIR_DOMAIN_VIRT_KVM);
c480ed
+
c480ed
     virObjectUnref(cfg);
c480ed
 
c480ed
 #endif /* WITH_QEMU */
c480ed
-- 
c480ed
2.22.0
c480ed