Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
---
src/qemu/qemu_capabilities.c | 10 +++
src/qemu/qemu_capabilities.h | 2 +
.../caps_1.5.3.x86_64.replies | 38 +++++++++--
.../caps_1.5.3.x86_64.xml | 3 +-
.../caps_1.6.0.x86_64.replies | 38 +++++++++--
.../caps_1.6.0.x86_64.xml | 3 +-
.../caps_1.7.0.x86_64.replies | 38 +++++++++--
.../caps_1.7.0.x86_64.xml | 3 +-
.../caps_2.1.1.x86_64.replies | 38 +++++++++--
.../caps_2.1.1.x86_64.xml | 3 +-
.../caps_2.10.0.x86_64.replies | 48 ++++++++++---
.../caps_2.10.0.x86_64.xml | 3 +-
.../caps_2.12.0.x86_64.replies | 67 +++++++++++++++----
.../caps_2.12.0.x86_64.xml | 4 +-
.../caps_2.4.0.x86_64.replies | 38 +++++++++--
.../caps_2.4.0.x86_64.xml | 3 +-
.../caps_2.5.0.x86_64.replies | 40 +++++++++--
.../caps_2.5.0.x86_64.xml | 3 +-
.../caps_2.6.0.x86_64.replies | 40 +++++++++--
.../caps_2.6.0.x86_64.xml | 3 +-
.../caps_2.7.0.x86_64.replies | 40 +++++++++--
.../caps_2.7.0.x86_64.xml | 3 +-
.../caps_2.8.0.x86_64.replies | 40 +++++++++--
.../caps_2.8.0.x86_64.xml | 3 +-
.../caps_2.9.0.x86_64.replies | 48 ++++++++++---
.../caps_2.9.0.x86_64.xml | 3 +-
26 files changed, 458 insertions(+), 104 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index ebe35573e7cd..025f3617fee5 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -487,6 +487,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
/* 300 */
"sdl-gl",
"screendump_device",
+ "mch",
+ "mch.extended-tseg-mbytes",
);
@@ -1117,6 +1119,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "pr-manager-helper", QEMU_CAPS_PR_MANAGER_HELPER },
{ "virtual-css-bridge", QEMU_CAPS_CCW },
{ "vfio-ccw", QEMU_CAPS_DEVICE_VFIO_CCW },
+ { "mch", QEMU_CAPS_DEVICE_MCH },
};
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
@@ -1262,6 +1265,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtualCSSBridge[] =
{ "cssid-unrestricted", QEMU_CAPS_CCW_CSSID_UNRESTRICTED },
};
+static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsMCH[] = {
+ { "extended-tseg-mbytes", QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES },
+};
+
/* see documentation for virQEMUQAPISchemaPathGet for the query format */
static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
@@ -1391,6 +1398,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = {
{ "virtual-css-bridge", virQEMUCapsObjectPropsVirtualCSSBridge,
ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtualCSSBridge),
QEMU_CAPS_CCW },
+ { "mch", virQEMUCapsDevicePropsMCH,
+ ARRAY_CARDINALITY(virQEMUCapsDevicePropsMCH),
+ QEMU_CAPS_DEVICE_MCH },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 8b6c0c89f4f5..5c4b83d83a1e 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -471,6 +471,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 300 */
QEMU_CAPS_SDL_GL, /* -sdl gl */
QEMU_CAPS_SCREENDUMP_DEVICE, /* screendump command accepts device & head */
+ QEMU_CAPS_DEVICE_MCH, /* Northbridge in q35 machine types */
+ QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES, /* -global mch.extended-tseg-mbytes */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
index 8da1b149d09f..dd501221ade9 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
@@ -2044,6 +2044,32 @@
"id": "libvirt-36"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
{
"return": [
{
@@ -2114,7 +2140,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -2192,19 +2218,19 @@
"name": "qemu64"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -2905,7 +2931,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -2915,7 +2941,7 @@
"capability": "xbzrle"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index e7c2e9a181aa..556466b858aa 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
@@ -105,9 +105,10 @@
<flag name='query-cpu-definitions'/>
<flag name='kernel-irqchip'/>
<flag name='isa-serial'/>
+ <flag name='mch'/>
<version>1005003</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>46523</microcodeVersion>
+ <microcodeVersion>46889</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
index d53fb576d266..09b2b9d4a4fa 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
@@ -2089,6 +2089,32 @@
"id": "libvirt-36"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
{
"return": [
{
@@ -2167,7 +2193,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -2245,19 +2271,19 @@
"name": "qemu64"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -2860,7 +2886,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -2882,7 +2908,7 @@
"capability": "zero-blocks"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
index e57dec321d4c..9a7ad7c3e6ee 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
@@ -110,9 +110,10 @@
<flag name='query-cpu-definitions'/>
<flag name='kernel-irqchip'/>
<flag name='isa-serial'/>
+ <flag name='mch'/>
<version>1006000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>44752</microcodeVersion>
+ <microcodeVersion>45118</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
index 4fcc7aa25a2e..72ba4c27e833 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
@@ -2106,6 +2106,32 @@
"id": "libvirt-36"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
{
"return": [
{
@@ -2192,7 +2218,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -2270,19 +2296,19 @@
"name": "qemu64"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3075,7 +3101,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -3097,7 +3123,7 @@
"capability": "zero-blocks"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
index 39ec8f9b1d71..5f83d26045bf 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
@@ -112,9 +112,10 @@
<flag name='query-cpu-definitions'/>
<flag name='kernel-irqchip'/>
<flag name='isa-serial'/>
+ <flag name='mch'/>
<version>1007000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>50196</microcodeVersion>
+ <microcodeVersion>50562</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
index 543bce9defc1..1a21b7e8d9a7 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
@@ -2523,6 +2523,32 @@
"id": "libvirt-36"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-37"
+}
+
{
"return": [
{
@@ -2625,7 +2651,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -2706,21 +2732,21 @@
"name": "qemu64"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3580,7 +3606,7 @@
"option": "drive"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -3602,7 +3628,7 @@
"capability": "zero-blocks"
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
index afe0882dde28..e3c168de2428 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
@@ -128,9 +128,10 @@
<flag name='query-named-block-nodes'/>
<flag name='kernel-irqchip'/>
<flag name='isa-serial'/>
+ <flag name='mch'/>
<version>2001001</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>58992</microcodeVersion>
+ <microcodeVersion>59358</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
index 6c6ecc26874c..a32bcc7ba0fa 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
@@ -4471,6 +4471,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -4657,7 +4683,7 @@
"alias": "q35"
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -4992,21 +5018,21 @@
"migration-safe": true
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -6285,7 +6311,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -6335,7 +6361,7 @@
"capability": "return-path"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -16058,7 +16084,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -16237,7 +16263,7 @@
}
}
},
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -16480,7 +16506,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -16659,7 +16685,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -16902,7 +16928,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 77ca3013b5ab..1fea178f2b68 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -197,9 +197,10 @@
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>344938</microcodeVersion>
+ <microcodeVersion>345304</microcodeVersion>
<package> (v2.10.0)</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
index c40046beef6b..78e1b450cda3 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
@@ -4605,6 +4605,49 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "x-pcie-lnksta-dllla",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "multifunction",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "extended-tseg-mbytes",
+ "type": "uint16"
+ },
+ {
+ "name": "romfile",
+ "type": "str"
+ },
+ {
+ "name": "x-pcie-extcap-init",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "command_serr_enable",
+ "description": "on/off",
+ "type": "bool"
+ },
+ {
+ "name": "addr",
+ "description": "Slot and optional function number, example: 06.0 or 06",
+ "type": "int32"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -4656,7 +4699,7 @@
"type": "string"
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -4855,7 +4898,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
@@ -5369,7 +5412,7 @@
"migration-safe": true
}
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
@@ -5377,7 +5420,7 @@
"tpm-crb",
"tpm-tis"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -5385,7 +5428,7 @@
"passthrough",
"emulator"
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -6672,7 +6715,7 @@
"option": "drive"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -6734,7 +6777,7 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -18102,7 +18145,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -18292,7 +18335,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -18547,7 +18590,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -18737,7 +18780,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
@@ -18992,7 +19035,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 820b3ef75984..3c4bdcfd9094 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -201,9 +201,11 @@
<flag name='memory-backend-file.discard-data'/>
<flag name='sdl-gl'/>
<flag name='screendump_device'/>
+ <flag name='mch'/>
+ <flag name='mch.extended-tseg-mbytes'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>390813</microcodeVersion>
+ <microcodeVersion>391586</microcodeVersion>
<package>v2.12.0-rc0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
index 68ecb0c17dc7..bf8e7b4379ff 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
@@ -3114,6 +3114,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -3240,7 +3266,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3330,21 +3356,21 @@
"name": "qemu64"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -4352,7 +4378,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -4382,7 +4408,7 @@
"capability": "events"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
index 871eb5e4a702..2c2162460072 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
@@ -154,9 +154,10 @@
<flag name='virtio-gpu.max_outputs'/>
<flag name='isa-serial'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2004000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>75406</microcodeVersion>
+ <microcodeVersion>75772</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
index 5bc505abb32c..57bf70f0e29b 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
@@ -3277,6 +3277,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -3411,7 +3437,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3501,21 +3527,21 @@
"name": "qemu64"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -4560,7 +4586,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -4594,7 +4620,7 @@
"capability": "x-postcopy-ram"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -12139,7 +12165,7 @@
"meta-type": "array"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
index 90dce5a700be..3f33a272677c 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
@@ -160,9 +160,10 @@
<flag name='virtio-gpu.max_outputs'/>
<flag name='isa-serial'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2005000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>216528</microcodeVersion>
+ <microcodeVersion>216894</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
index 73a22ed0bb95..436c824c14e8 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
@@ -3359,6 +3359,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -3469,7 +3495,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3559,21 +3585,21 @@
"name": "qemu64"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -4667,7 +4693,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -4701,7 +4727,7 @@
"capability": "postcopy-ram"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -12706,7 +12732,7 @@
"meta-type": "array"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
index 4c6371a6cd07..88b33038fb81 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
@@ -172,9 +172,10 @@
<flag name='dump-completed'/>
<flag name='nbd-tls'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2006000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>227332</microcodeVersion>
+ <microcodeVersion>227698</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
index eaa84d3381a6..9d71070b0831 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
@@ -3554,6 +3554,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -3700,7 +3726,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -3793,21 +3819,21 @@
"name": "qemu64"
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -4905,7 +4931,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -4939,7 +4965,7 @@
"capability": "postcopy-ram"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -13295,7 +13321,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
index c322d18d7da5..e4e7a7b0e167 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
@@ -177,9 +177,10 @@
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2007000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>239029</microcodeVersion>
+ <microcodeVersion>239395</microcodeVersion>
<package> (v2.7.0)</package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
index 30d28c7b5f4a..336f9fbca2f6 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
@@ -3696,6 +3696,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -3862,7 +3888,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -4068,21 +4094,21 @@
"static": false
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -5205,7 +5231,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -5243,7 +5269,7 @@
"capability": "x-colo"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -14013,7 +14039,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
index 7c329ad4c702..3b93c5871527 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
@@ -179,9 +179,10 @@
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2008000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>255684</microcodeVersion>
+ <microcodeVersion>256050</microcodeVersion>
<package> (v2.8.0)</package>
<arch>x86_64</arch>
<cpu type='kvm' name='host' usable='yes'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
index 5da1b41c2ee1..b03e3d495045 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
@@ -4015,6 +4015,32 @@
"id": "libvirt-39"
}
+{
+ "return": [
+ {
+ "name": "command_serr_enable",
+ "type": "on/off"
+ },
+ {
+ "name": "multifunction",
+ "type": "on/off"
+ },
+ {
+ "name": "rombar",
+ "type": "uint32"
+ },
+ {
+ "name": "romfile",
+ "type": "string"
+ },
+ {
+ "name": "addr",
+ "type": "pci-devfn"
+ }
+ ],
+ "id": "libvirt-40"
+}
+
{
"return": [
{
@@ -4191,7 +4217,7 @@
"cpu-max": 255
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -4473,21 +4499,21 @@
"migration-safe": true
}
],
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
"return": [
"tpm-tis"
],
- "id": "libvirt-42"
+ "id": "libvirt-43"
}
{
"return": [
"passthrough"
],
- "id": "libvirt-43"
+ "id": "libvirt-44"
}
{
@@ -5736,7 +5762,7 @@
"option": "drive"
}
],
- "id": "libvirt-44"
+ "id": "libvirt-45"
}
{
@@ -5778,7 +5804,7 @@
"capability": "release-ram"
}
],
- "id": "libvirt-45"
+ "id": "libvirt-46"
}
{
@@ -15064,7 +15090,7 @@
"meta-type": "object"
}
],
- "id": "libvirt-46"
+ "id": "libvirt-47"
}
{
@@ -15243,7 +15269,7 @@
}
}
},
- "id": "libvirt-47"
+ "id": "libvirt-48"
}
{
@@ -15484,7 +15510,7 @@
}
}
},
- "id": "libvirt-48"
+ "id": "libvirt-49"
}
{
@@ -15663,7 +15689,7 @@
}
}
},
- "id": "libvirt-49"
+ "id": "libvirt-50"
}
{
@@ -15904,7 +15930,7 @@
}
}
},
- "id": "libvirt-50"
+ "id": "libvirt-51"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 0701c244f63a..47fda742634c 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -192,9 +192,10 @@
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='sdl-gl'/>
+ <flag name='mch'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
- <microcodeVersion>320947</microcodeVersion>
+ <microcodeVersion>321313</microcodeVersion>
<package> (v2.9.0)</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
--
2.17.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 05/21/2018 11:00 AM, Martin Kletzander wrote:
> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> ---
> src/qemu/qemu_capabilities.c | 10 +++
> src/qemu/qemu_capabilities.h | 2 +
> .../caps_1.5.3.x86_64.replies | 38 +++++++++--
> .../caps_1.5.3.x86_64.xml | 3 +-
> .../caps_1.6.0.x86_64.replies | 38 +++++++++--
> .../caps_1.6.0.x86_64.xml | 3 +-
> .../caps_1.7.0.x86_64.replies | 38 +++++++++--
> .../caps_1.7.0.x86_64.xml | 3 +-
> .../caps_2.1.1.x86_64.replies | 38 +++++++++--
> .../caps_2.1.1.x86_64.xml | 3 +-
> .../caps_2.10.0.x86_64.replies | 48 ++++++++++---
> .../caps_2.10.0.x86_64.xml | 3 +-
> .../caps_2.12.0.x86_64.replies | 67 +++++++++++++++----
> .../caps_2.12.0.x86_64.xml | 4 +-
> .../caps_2.4.0.x86_64.replies | 38 +++++++++--
> .../caps_2.4.0.x86_64.xml | 3 +-
> .../caps_2.5.0.x86_64.replies | 40 +++++++++--
> .../caps_2.5.0.x86_64.xml | 3 +-
> .../caps_2.6.0.x86_64.replies | 40 +++++++++--
> .../caps_2.6.0.x86_64.xml | 3 +-
> .../caps_2.7.0.x86_64.replies | 40 +++++++++--
> .../caps_2.7.0.x86_64.xml | 3 +-
> .../caps_2.8.0.x86_64.replies | 40 +++++++++--
> .../caps_2.8.0.x86_64.xml | 3 +-
> .../caps_2.9.0.x86_64.replies | 48 ++++++++++---
> .../caps_2.9.0.x86_64.xml | 3 +-
> 26 files changed, 458 insertions(+), 104 deletions(-)
>
Is there no other way to determine this without getting mch? and needing
to update all those replies from earlier releases? I assume those are
there because "mch" exists in 1.5.3 and beyond, but we never checked for
it. So did you update the .replies files manually or did you run this
against each version mentioned?
Personally I think it's always a bonus if how the replies adjustments
were made is described. It perhaps helps the next person with the same
conundrum.
Is there no other way to get this without supplying the "mch"/MCH as well?
In any case, with some minor updates to the commit message to give a
synopsis related to how the .replies were updated...
Reviewed-by: John Ferlan <jferlan@redhat.com>
John
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index ebe35573e7cd..025f3617fee5 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -487,6 +487,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
> /* 300 */
> "sdl-gl",
> "screendump_device",
> + "mch",
> + "mch.extended-tseg-mbytes",
> );
>
>
> @@ -1117,6 +1119,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
> { "pr-manager-helper", QEMU_CAPS_PR_MANAGER_HELPER },
> { "virtual-css-bridge", QEMU_CAPS_CCW },
> { "vfio-ccw", QEMU_CAPS_DEVICE_VFIO_CCW },
> + { "mch", QEMU_CAPS_DEVICE_MCH },
> };
>
> static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
> @@ -1262,6 +1265,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtualCSSBridge[] =
> { "cssid-unrestricted", QEMU_CAPS_CCW_CSSID_UNRESTRICTED },
> };
>
> +static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsMCH[] = {
> + { "extended-tseg-mbytes", QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES },
> +};
> +
> /* see documentation for virQEMUQAPISchemaPathGet for the query format */
> static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
> { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
> @@ -1391,6 +1398,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = {
> { "virtual-css-bridge", virQEMUCapsObjectPropsVirtualCSSBridge,
> ARRAY_CARDINALITY(virQEMUCapsObjectPropsVirtualCSSBridge),
> QEMU_CAPS_CCW },
> + { "mch", virQEMUCapsDevicePropsMCH,
> + ARRAY_CARDINALITY(virQEMUCapsDevicePropsMCH),
> + QEMU_CAPS_DEVICE_MCH },
> };
>
> static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] = {
> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> index 8b6c0c89f4f5..5c4b83d83a1e 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -471,6 +471,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
> /* 300 */
> QEMU_CAPS_SDL_GL, /* -sdl gl */
> QEMU_CAPS_SCREENDUMP_DEVICE, /* screendump command accepts device & head */
> + QEMU_CAPS_DEVICE_MCH, /* Northbridge in q35 machine types */
> + QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES, /* -global mch.extended-tseg-mbytes */
>
> QEMU_CAPS_LAST /* this must always be the last item */
> } virQEMUCapsFlags;
> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
> index 8da1b149d09f..dd501221ade9 100644
> --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.replies
> @@ -2044,6 +2044,32 @@
> "id": "libvirt-36"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-37"
> +}
> +
> {
> "return": [
> {
> @@ -2114,7 +2140,7 @@
> "cpu-max": 1
> }
> ],
> - "id": "libvirt-37"
> + "id": "libvirt-38"
> }
>
> {
> @@ -2192,19 +2218,19 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-38"
> + "id": "libvirt-39"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-39"
> + "id": "libvirt-40"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -2905,7 +2931,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> @@ -2915,7 +2941,7 @@
> "capability": "xbzrle"
> }
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
> index e7c2e9a181aa..556466b858aa 100644
> --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
> @@ -105,9 +105,10 @@
> <flag name='query-cpu-definitions'/>
> <flag name='kernel-irqchip'/>
> <flag name='isa-serial'/>
> + <flag name='mch'/>
> <version>1005003</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>46523</microcodeVersion>
> + <microcodeVersion>46889</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
> index d53fb576d266..09b2b9d4a4fa 100644
> --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.replies
> @@ -2089,6 +2089,32 @@
> "id": "libvirt-36"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-37"
> +}
> +
> {
> "return": [
> {
> @@ -2167,7 +2193,7 @@
> "cpu-max": 1
> }
> ],
> - "id": "libvirt-37"
> + "id": "libvirt-38"
> }
>
> {
> @@ -2245,19 +2271,19 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-38"
> + "id": "libvirt-39"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-39"
> + "id": "libvirt-40"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -2860,7 +2886,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> @@ -2882,7 +2908,7 @@
> "capability": "zero-blocks"
> }
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
> index e57dec321d4c..9a7ad7c3e6ee 100644
> --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
> @@ -110,9 +110,10 @@
> <flag name='query-cpu-definitions'/>
> <flag name='kernel-irqchip'/>
> <flag name='isa-serial'/>
> + <flag name='mch'/>
> <version>1006000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>44752</microcodeVersion>
> + <microcodeVersion>45118</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
> index 4fcc7aa25a2e..72ba4c27e833 100644
> --- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.replies
> @@ -2106,6 +2106,32 @@
> "id": "libvirt-36"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-37"
> +}
> +
> {
> "return": [
> {
> @@ -2192,7 +2218,7 @@
> "cpu-max": 1
> }
> ],
> - "id": "libvirt-37"
> + "id": "libvirt-38"
> }
>
> {
> @@ -2270,19 +2296,19 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-38"
> + "id": "libvirt-39"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-39"
> + "id": "libvirt-40"
> }
>
> {
> "return": [
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3075,7 +3101,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> @@ -3097,7 +3123,7 @@
> "capability": "zero-blocks"
> }
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
> index 39ec8f9b1d71..5f83d26045bf 100644
> --- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
> @@ -112,9 +112,10 @@
> <flag name='query-cpu-definitions'/>
> <flag name='kernel-irqchip'/>
> <flag name='isa-serial'/>
> + <flag name='mch'/>
> <version>1007000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>50196</microcodeVersion>
> + <microcodeVersion>50562</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
> index 543bce9defc1..1a21b7e8d9a7 100644
> --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.replies
> @@ -2523,6 +2523,32 @@
> "id": "libvirt-36"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-37"
> +}
> +
> {
> "return": [
> {
> @@ -2625,7 +2651,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-37"
> + "id": "libvirt-38"
> }
>
> {
> @@ -2706,21 +2732,21 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-38"
> + "id": "libvirt-39"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-39"
> + "id": "libvirt-40"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3580,7 +3606,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> @@ -3602,7 +3628,7 @@
> "capability": "zero-blocks"
> }
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
> index afe0882dde28..e3c168de2428 100644
> --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
> @@ -128,9 +128,10 @@
> <flag name='query-named-block-nodes'/>
> <flag name='kernel-irqchip'/>
> <flag name='isa-serial'/>
> + <flag name='mch'/>
> <version>2001001</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>58992</microcodeVersion>
> + <microcodeVersion>59358</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
> index 6c6ecc26874c..a32bcc7ba0fa 100644
> --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
> @@ -4471,6 +4471,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -4657,7 +4683,7 @@
> "alias": "q35"
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -4992,21 +5018,21 @@
> "migration-safe": true
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -6285,7 +6311,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -6335,7 +6361,7 @@
> "capability": "return-path"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -16058,7 +16084,7 @@
> "meta-type": "object"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> @@ -16237,7 +16263,7 @@
> }
> }
> },
> - "id": "libvirt-47"
> + "id": "libvirt-48"
> }
>
> {
> @@ -16480,7 +16506,7 @@
> }
> }
> },
> - "id": "libvirt-48"
> + "id": "libvirt-49"
> }
>
> {
> @@ -16659,7 +16685,7 @@
> }
> }
> },
> - "id": "libvirt-49"
> + "id": "libvirt-50"
> }
>
> {
> @@ -16902,7 +16928,7 @@
> }
> }
> },
> - "id": "libvirt-50"
> + "id": "libvirt-51"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
> index 77ca3013b5ab..1fea178f2b68 100644
> --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
> @@ -197,9 +197,10 @@
> <flag name='disk-write-cache'/>
> <flag name='nbd-tls'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2010000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>344938</microcodeVersion>
> + <microcodeVersion>345304</microcodeVersion>
> <package> (v2.10.0)</package>
> <arch>x86_64</arch>
> <hostCPU type='kvm' model='base' migratability='yes'>
> diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
> index c40046beef6b..78e1b450cda3 100644
> --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
> @@ -4605,6 +4605,49 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "x-pcie-lnksta-dllla",
> + "description": "on/off",
> + "type": "bool"
> + },
> + {
> + "name": "multifunction",
> + "description": "on/off",
> + "type": "bool"
> + },
> + {
> + "name": "extended-tseg-mbytes",
> + "type": "uint16"
> + },
> + {
> + "name": "romfile",
> + "type": "str"
> + },
> + {
> + "name": "x-pcie-extcap-init",
> + "description": "on/off",
> + "type": "bool"
> + },
> + {
> + "name": "command_serr_enable",
> + "description": "on/off",
> + "type": "bool"
> + },
> + {
> + "name": "addr",
> + "description": "Slot and optional function number, example: 06.0 or 06",
> + "type": "int32"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -4656,7 +4699,7 @@
> "type": "string"
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -4855,7 +4898,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> @@ -5369,7 +5412,7 @@
> "migration-safe": true
> }
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> @@ -5377,7 +5420,7 @@
> "tpm-crb",
> "tpm-tis"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -5385,7 +5428,7 @@
> "passthrough",
> "emulator"
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -6672,7 +6715,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -6734,7 +6777,7 @@
> "capability": "dirty-bitmaps"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> @@ -18102,7 +18145,7 @@
> "meta-type": "object"
> }
> ],
> - "id": "libvirt-47"
> + "id": "libvirt-48"
> }
>
> {
> @@ -18292,7 +18335,7 @@
> }
> }
> },
> - "id": "libvirt-48"
> + "id": "libvirt-49"
> }
>
> {
> @@ -18547,7 +18590,7 @@
> }
> }
> },
> - "id": "libvirt-49"
> + "id": "libvirt-50"
> }
>
> {
> @@ -18737,7 +18780,7 @@
> }
> }
> },
> - "id": "libvirt-50"
> + "id": "libvirt-51"
> }
>
> {
> @@ -18992,7 +19035,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 820b3ef75984..3c4bdcfd9094 100644
> --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
> @@ -201,9 +201,11 @@
> <flag name='memory-backend-file.discard-data'/>
> <flag name='sdl-gl'/>
> <flag name='screendump_device'/>
> + <flag name='mch'/>
> + <flag name='mch.extended-tseg-mbytes'/>
> <version>2011090</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>390813</microcodeVersion>
> + <microcodeVersion>391586</microcodeVersion>
> <package>v2.12.0-rc0</package>
> <arch>x86_64</arch>
> <hostCPU type='kvm' model='base' migratability='yes'>
> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
> index 68ecb0c17dc7..bf8e7b4379ff 100644
> --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.replies
> @@ -3114,6 +3114,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -3240,7 +3266,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3330,21 +3356,21 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -4352,7 +4378,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -4382,7 +4408,7 @@
> "capability": "events"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
> index 871eb5e4a702..2c2162460072 100644
> --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
> @@ -154,9 +154,10 @@
> <flag name='virtio-gpu.max_outputs'/>
> <flag name='isa-serial'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2004000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>75406</microcodeVersion>
> + <microcodeVersion>75772</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
> index 5bc505abb32c..57bf70f0e29b 100644
> --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.replies
> @@ -3277,6 +3277,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -3411,7 +3437,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3501,21 +3527,21 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -4560,7 +4586,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -4594,7 +4620,7 @@
> "capability": "x-postcopy-ram"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -12139,7 +12165,7 @@
> "meta-type": "array"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
> index 90dce5a700be..3f33a272677c 100644
> --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
> @@ -160,9 +160,10 @@
> <flag name='virtio-gpu.max_outputs'/>
> <flag name='isa-serial'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2005000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>216528</microcodeVersion>
> + <microcodeVersion>216894</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
> index 73a22ed0bb95..436c824c14e8 100644
> --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.replies
> @@ -3359,6 +3359,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -3469,7 +3495,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3559,21 +3585,21 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -4667,7 +4693,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -4701,7 +4727,7 @@
> "capability": "postcopy-ram"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -12706,7 +12732,7 @@
> "meta-type": "array"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
> index 4c6371a6cd07..88b33038fb81 100644
> --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
> @@ -172,9 +172,10 @@
> <flag name='dump-completed'/>
> <flag name='nbd-tls'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2006000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>227332</microcodeVersion>
> + <microcodeVersion>227698</microcodeVersion>
> <package></package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
> index eaa84d3381a6..9d71070b0831 100644
> --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.replies
> @@ -3554,6 +3554,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -3700,7 +3726,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -3793,21 +3819,21 @@
> "name": "qemu64"
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -4905,7 +4931,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -4939,7 +4965,7 @@
> "capability": "postcopy-ram"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -13295,7 +13321,7 @@
> "meta-type": "object"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
> index c322d18d7da5..e4e7a7b0e167 100644
> --- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
> @@ -177,9 +177,10 @@
> <flag name='disk-write-cache'/>
> <flag name='nbd-tls'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2007000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>239029</microcodeVersion>
> + <microcodeVersion>239395</microcodeVersion>
> <package> (v2.7.0)</package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='Opteron_G5'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
> index 30d28c7b5f4a..336f9fbca2f6 100644
> --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.replies
> @@ -3696,6 +3696,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -3862,7 +3888,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -4068,21 +4094,21 @@
> "static": false
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -5205,7 +5231,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -5243,7 +5269,7 @@
> "capability": "x-colo"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -14013,7 +14039,7 @@
> "meta-type": "object"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
> index 7c329ad4c702..3b93c5871527 100644
> --- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
> @@ -179,9 +179,10 @@
> <flag name='disk-write-cache'/>
> <flag name='nbd-tls'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2008000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>255684</microcodeVersion>
> + <microcodeVersion>256050</microcodeVersion>
> <package> (v2.8.0)</package>
> <arch>x86_64</arch>
> <cpu type='kvm' name='host' usable='yes'/>
> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
> index 5da1b41c2ee1..b03e3d495045 100644
> --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
> +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.replies
> @@ -4015,6 +4015,32 @@
> "id": "libvirt-39"
> }
>
> +{
> + "return": [
> + {
> + "name": "command_serr_enable",
> + "type": "on/off"
> + },
> + {
> + "name": "multifunction",
> + "type": "on/off"
> + },
> + {
> + "name": "rombar",
> + "type": "uint32"
> + },
> + {
> + "name": "romfile",
> + "type": "string"
> + },
> + {
> + "name": "addr",
> + "type": "pci-devfn"
> + }
> + ],
> + "id": "libvirt-40"
> +}
> +
> {
> "return": [
> {
> @@ -4191,7 +4217,7 @@
> "cpu-max": 255
> }
> ],
> - "id": "libvirt-40"
> + "id": "libvirt-41"
> }
>
> {
> @@ -4473,21 +4499,21 @@
> "migration-safe": true
> }
> ],
> - "id": "libvirt-41"
> + "id": "libvirt-42"
> }
>
> {
> "return": [
> "tpm-tis"
> ],
> - "id": "libvirt-42"
> + "id": "libvirt-43"
> }
>
> {
> "return": [
> "passthrough"
> ],
> - "id": "libvirt-43"
> + "id": "libvirt-44"
> }
>
> {
> @@ -5736,7 +5762,7 @@
> "option": "drive"
> }
> ],
> - "id": "libvirt-44"
> + "id": "libvirt-45"
> }
>
> {
> @@ -5778,7 +5804,7 @@
> "capability": "release-ram"
> }
> ],
> - "id": "libvirt-45"
> + "id": "libvirt-46"
> }
>
> {
> @@ -15064,7 +15090,7 @@
> "meta-type": "object"
> }
> ],
> - "id": "libvirt-46"
> + "id": "libvirt-47"
> }
>
> {
> @@ -15243,7 +15269,7 @@
> }
> }
> },
> - "id": "libvirt-47"
> + "id": "libvirt-48"
> }
>
> {
> @@ -15484,7 +15510,7 @@
> }
> }
> },
> - "id": "libvirt-48"
> + "id": "libvirt-49"
> }
>
> {
> @@ -15663,7 +15689,7 @@
> }
> }
> },
> - "id": "libvirt-49"
> + "id": "libvirt-50"
> }
>
> {
> @@ -15904,7 +15930,7 @@
> }
> }
> },
> - "id": "libvirt-50"
> + "id": "libvirt-51"
> }
>
> {
> diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
> index 0701c244f63a..47fda742634c 100644
> --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
> @@ -192,9 +192,10 @@
> <flag name='disk-write-cache'/>
> <flag name='nbd-tls'/>
> <flag name='sdl-gl'/>
> + <flag name='mch'/>
> <version>2009000</version>
> <kvmVersion>0</kvmVersion>
> - <microcodeVersion>320947</microcodeVersion>
> + <microcodeVersion>321313</microcodeVersion>
> <package> (v2.9.0)</package>
> <arch>x86_64</arch>
> <hostCPU type='kvm' model='base' migratability='yes'>
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Wed, May 30, 2018 at 12:23:12PM -0400, John Ferlan wrote: > > >On 05/21/2018 11:00 AM, Martin Kletzander wrote: >> Signed-off-by: Martin Kletzander <mkletzan@redhat.com> >> --- >> src/qemu/qemu_capabilities.c | 10 +++ >> src/qemu/qemu_capabilities.h | 2 + >> .../caps_1.5.3.x86_64.replies | 38 +++++++++-- >> .../caps_1.5.3.x86_64.xml | 3 +- >> .../caps_1.6.0.x86_64.replies | 38 +++++++++-- >> .../caps_1.6.0.x86_64.xml | 3 +- >> .../caps_1.7.0.x86_64.replies | 38 +++++++++-- >> .../caps_1.7.0.x86_64.xml | 3 +- >> .../caps_2.1.1.x86_64.replies | 38 +++++++++-- >> .../caps_2.1.1.x86_64.xml | 3 +- >> .../caps_2.10.0.x86_64.replies | 48 ++++++++++--- >> .../caps_2.10.0.x86_64.xml | 3 +- >> .../caps_2.12.0.x86_64.replies | 67 +++++++++++++++---- >> .../caps_2.12.0.x86_64.xml | 4 +- >> .../caps_2.4.0.x86_64.replies | 38 +++++++++-- >> .../caps_2.4.0.x86_64.xml | 3 +- >> .../caps_2.5.0.x86_64.replies | 40 +++++++++-- >> .../caps_2.5.0.x86_64.xml | 3 +- >> .../caps_2.6.0.x86_64.replies | 40 +++++++++-- >> .../caps_2.6.0.x86_64.xml | 3 +- >> .../caps_2.7.0.x86_64.replies | 40 +++++++++-- >> .../caps_2.7.0.x86_64.xml | 3 +- >> .../caps_2.8.0.x86_64.replies | 40 +++++++++-- >> .../caps_2.8.0.x86_64.xml | 3 +- >> .../caps_2.9.0.x86_64.replies | 48 ++++++++++--- >> .../caps_2.9.0.x86_64.xml | 3 +- >> 26 files changed, 458 insertions(+), 104 deletions(-) >> > >Is there no other way to determine this without getting mch? and needing >to update all those replies from earlier releases? I assume those are >there because "mch" exists in 1.5.3 and beyond, but we never checked for >it. So did you update the .replies files manually or did you run this >against each version mentioned? > I, personally ran tests/qemucapsprobe for newest QEMU from git and for the oldest one we have replies for in the repo (1.5.3). That way I got the reply for positive and negative result. I then copied the positive one to all QEMU versions that support it and the other one to those that don't. Then the next step is pretty important, I added the parameter to all of the outputs to check that the reply is in the right position in the file. I then fixed those where the position was slightly different (cleanly seen by the capability not being ther even though it should), removed the parameter and ran tests/qemucapsfixreplies for all the files. I'll add that to the commit message and I'll be reposting the series again anyway, so you can say whether that's looks like you imagined it or not. >Personally I think it's always a bonus if how the replies adjustments >were made is described. It perhaps helps the next person with the same >conundrum. > Everyone is talking about how we could have some images with all the QEMUs and automatically update it... But because this is once per (quite a long) time that someone has to do this nobody is really pressed to make this more streamlined, because once you fix it for your particular capability, you no longer have the need. Pavel is closest to this as he has bunch of VMs, one for each QEMU version, but still has to run the update manually. >Is there no other way to get this without supplying the "mch"/MCH as well? > It's a parameter of the MCH device that exists (or rather is exposed) only on x86_64 machines (MCH is/used to be the north bridge in the PC). Without knowing whether it exists we don't know if we can ask QEMU about the device. We could do that without the capability itself and then try to parse the error message etc., but why? Also this just is how the virQEMUCapsObjectTypeProps is structured. >In any case, with some minor updates to the commit message to give a >synopsis related to how the .replies were updated... > >Reviewed-by: John Ferlan <jferlan@redhat.com> > >John > psst, it would be nice if you removed the irrelevant parts below in your reply, like this, look:-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.