Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 8 +
src/qemu/qemu_capabilities.h | 1 +
.../caps_2.12.0.aarch64.replies | 24 ++-
.../caps_2.12.0.aarch64.xml | 2 +-
.../caps_2.12.0.ppc64.replies | 175 +++++++++++++++++-
.../caps_2.12.0.ppc64.xml | 2 +-
.../caps_2.12.0.s390x.replies | 26 ++-
.../caps_2.12.0.s390x.xml | 2 +-
.../caps_2.12.0.x86_64.replies | 30 +--
.../caps_2.12.0.x86_64.xml | 2 +-
10 files changed, 233 insertions(+), 39 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 8a63db5f4f..ab034b7693 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -489,6 +489,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
"screendump_device",
"hda-output",
"blockdev-del",
+ "machine.pseries.cap-hpt-mps",
);
@@ -1401,10 +1402,17 @@ static struct virQEMUCapsStringFlags
virQEMUCapsObjectPropsMemoryBackendFile[] =
{ "discard-data", QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD },
};
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsSPAPRMachine[] = {
+ { "cap-hpt-mps", QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MPS },
+};
+
static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
{ "memory-backend-file", virQEMUCapsObjectPropsMemoryBackendFile,
ARRAY_CARDINALITY(virQEMUCapsObjectPropsMemoryBackendFile),
QEMU_CAPS_OBJECT_MEMORY_FILE },
+ { "spapr-machine", virQEMUCapsObjectPropsSPAPRMachine,
+ ARRAY_CARDINALITY(virQEMUCapsObjectPropsSPAPRMachine),
+ -1 },
};
static void
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 3e120e64c0..fecf966f05 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -473,6 +473,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check
*/
QEMU_CAPS_SCREENDUMP_DEVICE, /* screendump command accepts device & head */
QEMU_CAPS_HDA_OUTPUT, /* -device hda-output */
QEMU_CAPS_BLOCKDEV_DEL, /* blockdev-del is supported */
+ QEMU_CAPS_MACHINE_PSERIES_CAP_HPT_MPS, /* -machine pseries,cap-hpt-mps= */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
index 3ca0ea13fa..5bcbc3e9b7 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
@@ -5329,6 +5329,14 @@
"id": "libvirt-36"
}
+{
+ "id": "libvirt-37",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Class 'spapr-machine' not found"
+ }
+}
+
{
"return": [
{
@@ -5623,7 +5631,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -5799,20 +5807,20 @@
"static": false
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
"emulator"
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -6973,7 +6981,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -7035,7 +7043,7 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -18403,7 +18411,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -18419,7 +18427,7 @@
"kernel": false
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index 0dbd354887..6efd4b4147 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -168,7 +168,7 @@
<flag name='blockdev-del'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>343099</microcodeVersion>
+ <microcodeVersion>343234</microcodeVersion>
<package>v2.12.0-rc0</package>
<arch>aarch64</arch>
<cpu type='kvm' name='pxa262'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
index 1e93cd6dca..e71d69519d 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
@@ -5376,6 +5376,167 @@
"id": "libvirt-37"
}
+{
+ "return": [
+ {
+ "name": "graphics",
+ "description": "Set on/off to enable/disable graphics
emulation",
+ "type": "bool"
+ },
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate
dynamically",
+ "type": "int"
+ },
+ {
+ "name": "dump-guest-core",
+ "description": "Include guest memory in a core dump",
+ "type": "bool"
+ },
+ {
+ "name": "kernel-irqchip",
+ "description": "Configure KVM in-kernel irqchip",
+ "type": "on|off|split"
+ },
+ {
+ "name": "accel",
+ "description": "Accelerator list",
+ "type": "string"
+ },
+ {
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
+ },
+ {
+ "name": "dumpdtb",
+ "description": "Dump current dtb to a file and quit",
+ "type": "string"
+ },
+ {
+ "name": "memory-encryption",
+ "description": "Set memory encyption object to use",
+ "type": "string"
+ },
+ {
+ "name": "igd-passthru",
+ "description": "Set on/off to enable/disable igd passthrou",
+ "type": "bool"
+ },
+ {
+ "name": "dt-compatible",
+ "description": "Overrides the \"compatible\" property of
the dt root node",
+ "type": "string"
+ },
+ {
+ "name": "kernel",
+ "description": "Linux kernel image file",
+ "type": "string"
+ },
+ {
+ "name": "usb",
+ "description": "Set on/off to enable/disable usb",
+ "type": "bool"
+ },
+ {
+ "name": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
+ {
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
+ "type": "string"
+ },
+ {
+ "name": "firmware",
+ "description": "Firmware image",
+ "type": "string"
+ },
+ {
+ "name": "mem-merge",
+ "description": "Enable/disable memory merge support",
+ "type": "bool"
+ },
+ {
+ "name": "initrd",
+ "description": "Linux initial ramdisk file",
+ "type": "string"
+ },
+ {
+ "name": "enforce-config-section",
+ "description": "Set on to enforce configuration section
migration",
+ "type": "bool"
+ },
+ {
+ "name": "kvm-shadow-mem",
+ "description": "KVM shadow MMU size",
+ "type": "int"
+ },
+ {
+ "name": "cap-ibs",
+ "description": "Indirect Branch Speculation (broken, fixed-ibs,
fixed-ccd)",
+ "type": "string"
+ },
+ {
+ "name": "cap-cfpc",
+ "description": "Cache Flush on Privilege Change (broken, workaround,
fixed)",
+ "type": "string"
+ },
+ {
+ "name": "cap-sbbc",
+ "description": "Speculation Barrier Bounds Checking (broken,
workaround, fixed)",
+ "type": "string"
+ },
+ {
+ "name": "cap-dfp",
+ "description": "Allow Decimal Floating Point (DFP)",
+ "type": "bool"
+ },
+ {
+ "name": "cap-htm",
+ "description": "Allow Hardware Transactional Memory (HTM)",
+ "type": "bool"
+ },
+ {
+ "name": "cap-vsx",
+ "description": "Allow Vector Scalar Extensions (VSX)",
+ "type": "bool"
+ },
+ {
+ "name": "cap-ibs",
+ "description": "Indirect Branch Speculation (broken, fixed-ibs,
fixed-ccd)",
+ "type": "string"
+ },
+ {
+ "name": "cap-cfpc",
+ "description": "Cache Flush on Privilege Change (broken, workaround,
fixed)",
+ "type": "string"
+ },
+ {
+ "name": "cap-sbbc",
+ "description": "Speculation Barrier Bounds Checking (broken,
workaround, fixed)",
+ "type": "string"
+ },
+ {
+ "name": "cap-dfp",
+ "description": "Allow Decimal Floating Point (DFP)",
+ "type": "bool"
+ },
+ {
+ "name": "cap-htm",
+ "description": "Allow Hardware Transactional Memory (HTM)",
+ "type": "bool"
+ },
+ {
+ "name": "cap-vsx",
+ "description": "Allow Vector Scalar Extensions (VSX)",
+ "type": "bool"
+ }
+ ],
+ "id": "libvirt-38"
+}
+
{
"return": [
{
@@ -5511,7 +5672,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
@@ -7707,20 +7868,20 @@
"static": false
}
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
"return": [
"emulator"
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -8876,7 +9037,7 @@
"option": "drive"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -8938,7 +9099,7 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -20306,7 +20467,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index 9b08993b7e..eb89c6cd2d 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -165,7 +165,7 @@
<flag name='blockdev-del'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>419968</microcodeVersion>
+ <microcodeVersion>423940</microcodeVersion>
<package>v2.12.0-rc0</package>
<arch>ppc64</arch>
<cpu type='kvm' name='default'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies
index 29c3403550..6591843515 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies
@@ -3682,6 +3682,14 @@
"id": "libvirt-36"
}
+{
+ "id": "libvirt-37",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Class 'spapr-machine' not found"
+ }
+}
+
{
"return": [
{
@@ -3737,7 +3745,7 @@
"alias": "s390-ccw-virtio"
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -4272,20 +4280,20 @@
"migration-safe": true
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
"emulator"
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -5410,7 +5418,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -5472,7 +5480,7 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -16840,7 +16848,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -16878,11 +16886,11 @@
}
}
},
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
- "id": "libvirt-45",
+ "id": "libvirt-46",
"error": {
"class": "GenericError",
"desc": "Property '.migratable' not found"
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index df0f6e4eba..47aed54958 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -132,7 +132,7 @@
<flag name='blockdev-del'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>371055</microcodeVersion>
+ <microcodeVersion>371190</microcodeVersion>
<package></package>
<arch>s390x</arch>
<hostCPU type='kvm' model='z14-base' migratability='no'>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
index c40046beef..34cd884f2c 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
@@ -4659,6 +4659,14 @@
"id": "libvirt-40"
}
+{
+ "id": "libvirt-41",
+ "error": {
+ "class": "DeviceNotFound",
+ "desc": "Class 'spapr-machine' not found"
+ }
+}
+
{
"return": [
{
@@ -4855,7 +4863,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -5369,7 +5377,7 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -5377,7 +5385,7 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -5385,7 +5393,7 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -6672,7 +6680,7 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -6734,7 +6742,7 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -18102,7 +18110,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -18292,7 +18300,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -18547,7 +18555,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -18737,7 +18745,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -18992,7 +19000,7 @@
}
}
},
- "id": "libvirt-51"
+ "id": "libvirt-52"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index 3c7dadffcd..7ebc894a0c 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -206,7 +206,7 @@
<flag name='blockdev-del'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>390813</microcodeVersion>
+ <microcodeVersion>390948</microcodeVersion>
<package>v2.12.0-rc0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
--
2.17.0