Blob Blame History Raw
From e26a52e067bfeeab95f6cd4bb0717e202ffd7279 Mon Sep 17 00:00:00 2001
Message-Id: <e26a52e067bfeeab95f6cd4bb0717e202ffd7279@dist-git>
From: Jiri Denemark <jdenemar@redhat.com>
Date: Fri, 21 Jun 2019 09:25:52 +0200
Subject: [PATCH] qemu: Probe for max-x86_64-cpu type
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We will use it to check whether QEMU supports a specific CPU property.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
(cherry picked from commit 2a4c23210674b453f91569f0f4b9fd5ebe8d7906)

https://bugzilla.redhat.com/show_bug.cgi?id=1697627

Conflicts:
	src/qemu/qemu_capabilities.c
	src/qemu/qemu_capabilities.h
	tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
	tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
	tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
	tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
	tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
            - several capabilities are missing

	tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
	tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
            - test files are missing

	tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
            - several capabilities are missing

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Message-Id: <5b1c1caf31b481ba608cc850463ff02b2381c382.1561068591.git.jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
 src/qemu/qemu_capabilities.c                      | 2 ++
 src/qemu/qemu_capabilities.h                      | 1 +
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
 tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 +
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml  | 1 +
 8 files changed, 9 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index d2a2f7418a..4515da4b91 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -514,6 +514,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "vfio-ap",
               "zpci",
               "machine.pseries.cap-nested-hv",
+              "x86-max-cpu",
     );
 
 
@@ -1155,6 +1156,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "sev-guest", QEMU_CAPS_SEV_GUEST },
     { "vfio-ap", QEMU_CAPS_DEVICE_VFIO_AP },
     { "zpci", QEMU_CAPS_DEVICE_ZPCI },
+    { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 8a27acd8a4..25ed5064b9 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -494,6 +494,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_DEVICE_VFIO_AP, /* -device vfio-ap */
     QEMU_CAPS_DEVICE_ZPCI, /* -device zpci */
     QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV, /* -machine pseries.cap-nested-hv */
+    QEMU_CAPS_X86_MAX_CPU, /* max-x86_64-cpu type exists */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index d69a148cd2..bb4c2abdeb 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -204,6 +204,7 @@
   <flag name='vhost-vsock'/>
   <flag name='mch'/>
   <flag name='egl-headless'/>
+  <flag name='x86-max-cpu'/>
   <version>2010000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>367995</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index 210f774c4e..32268b29d2 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -208,6 +208,7 @@
   <flag name='mch'/>
   <flag name='mch.extended-tseg-mbytes'/>
   <flag name='egl-headless'/>
+  <flag name='x86-max-cpu'/>
   <version>2011000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>371455</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index f0dc082640..f4416e7b55 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -213,6 +213,7 @@
   <flag name='sev-guest'/>
   <flag name='egl-headless'/>
   <flag name='vfio-pci.display'/>
+  <flag name='x86-max-cpu'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>416196</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 31ce52c787..e84d153d9a 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -198,6 +198,7 @@
   <flag name='vmgenid'/>
   <flag name='vhost-vsock'/>
   <flag name='mch'/>
+  <flag name='x86-max-cpu'/>
   <version>2009000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>343984</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index 8992d645e7..dceb719fcf 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -215,6 +215,7 @@
   <flag name='usb-storage.werror'/>
   <flag name='egl-headless'/>
   <flag name='vfio-pci.display'/>
+  <flag name='x86-max-cpu'/>
   <version>2012090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>438109</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
index 93c5da537a..4836dbb8a4 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
@@ -214,6 +214,7 @@
   <flag name='usb-storage.werror'/>
   <flag name='egl-headless'/>
   <flag name='vfio-pci.display'/>
+  <flag name='x86-max-cpu'/>
   <version>4000050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>456805</microcodeVersion>
-- 
2.22.0