Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 3 +
.../caps_2.12.0.aarch64.replies | 159 ++++++++++--
.../caps_4.0.0.aarch64.replies | 159 ++++++++++--
.../caps_4.1.0.aarch64.replies | 235 ++++++++++++++++--
4 files changed, 500 insertions(+), 56 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 7642639d1e..b3fbc76d07 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1420,6 +1420,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
{ "max-x86_64-cpu", virQEMUCapsObjectPropsMaxCPU,
ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxCPU),
QEMU_CAPS_X86_MAX_CPU },
+ { "max-arm-cpu", virQEMUCapsObjectPropsMaxCPU,
+ ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxCPU),
+ QEMU_CAPS_ARM_MAX_CPU },
};
static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = {
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
index c4d9c42d72..2e1d8d345d 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
@@ -5376,10 +5376,133 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-arm-cpu"
+ },
"id": "libvirt-31"
}
+{
+ "return": [
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "midr",
+ "type": "uint32"
+ },
+ {
+ "name": "mp-affinity",
+ "type": "uint64"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[0]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "cfgend",
+ "type": "bool"
+ },
+ {
+ "name": "psci-conduit",
+ "type": "uint32"
+ },
+ {
+ "name": "reset-hivecs",
+ "type": "bool"
+ },
+ {
+ "name": "memory",
+ "type": "link<qemu:memory-region>"
+ },
+ {
+ "name": "unnamed-gpio-out[2]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[3]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "parent_bus",
+ "type": "link<bus>"
+ },
+ {
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[1]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "core-count",
+ "type": "int32"
+ },
+ {
+ "name": "unnamed-gpio-out[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "gicv3-maintenance-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "rvbar",
+ "type": "uint64"
+ },
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "pmu-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "aarch64",
+ "description": "Set on/off to enable/disable aarch64 execution state
",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[2]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "unnamed-gpio-in[3]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "realized",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[1]",
+ "type": "child<irq>"
+ }
+ ],
+ "id": "libvirt-31"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-32"
+}
+
{
"return": [
{
@@ -5674,7 +5797,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-31"
+ "id": "libvirt-32"
}
{
@@ -5682,7 +5805,7 @@
"arguments": {
"typename": "virt-2.12-machine"
},
- "id": "libvirt-32"
+ "id": "libvirt-33"
}
{
@@ -5812,12 +5935,12 @@
"type": "bool"
}
],
- "id": "libvirt-32"
+ "id": "libvirt-33"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
@@ -5993,35 +6116,35 @@
"static": false
}
],
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
"return": [
],
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"return": [
"emulator"
],
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
@@ -7186,12 +7309,12 @@
"option": "drive"
}
],
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -7253,12 +7376,12 @@
"capability": "dirty-bitmaps"
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
"execute": "query-qmp-schema",
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
@@ -18626,12 +18749,12 @@
"meta-type": "object"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"execute": "query-gic-capabilities",
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
@@ -18647,7 +18770,7 @@
"kernel": false
}
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
index 91943860b1..3a9b1b8dc7 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
@@ -5864,10 +5864,133 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-arm-cpu"
+ },
"id": "libvirt-32"
}
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "midr",
+ "type": "uint32"
+ },
+ {
+ "name": "mp-affinity",
+ "type": "uint64"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[0]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "psci-conduit",
+ "type": "uint32"
+ },
+ {
+ "name": "reset-hivecs",
+ "type": "bool"
+ },
+ {
+ "name": "memory",
+ "type": "link<qemu:memory-region>"
+ },
+ {
+ "name": "unnamed-gpio-out[2]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[3]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "parent_bus",
+ "type": "link<bus>"
+ },
+ {
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[1]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "core-count",
+ "type": "int32"
+ },
+ {
+ "name": "unnamed-gpio-out[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "gicv3-maintenance-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "rvbar",
+ "type": "uint64"
+ },
+ {
+ "name": "cfgend",
+ "type": "bool"
+ },
+ {
+ "name": "pmu-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "aarch64",
+ "description": "Set on/off to enable/disable aarch64 execution state
",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[2]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "unnamed-gpio-in[3]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "realized",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[1]",
+ "type": "child<irq>"
+ }
+ ],
+ "id": "libvirt-32"
+}
+
+{
+ "execute": "query-machines",
+ "id": "libvirt-33"
+}
+
{
"return": [
{
@@ -6207,7 +6330,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-32"
+ "id": "libvirt-33"
}
{
@@ -6215,7 +6338,7 @@
"arguments": {
"typename": "virt-4.0-machine"
},
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
@@ -6350,12 +6473,12 @@
"type": "string"
}
],
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
@@ -6546,34 +6669,34 @@
"static": false
}
],
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"return": [
],
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
"return": [
],
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -7721,12 +7844,12 @@
"option": "drive"
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
@@ -7800,12 +7923,12 @@
"capability": "x-ignore-shared"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"execute": "query-qmp-schema",
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
@@ -19892,12 +20015,12 @@
]
}
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"execute": "query-gic-capabilities",
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -19913,7 +20036,7 @@
"kernel": false
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
b/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
index 7262ce6b11..4dd40ecee6 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
@@ -5924,10 +5924,205 @@
}
{
- "execute": "query-machines",
+ "execute": "qom-list-properties",
+ "arguments": {
+ "typename": "max-arm-cpu"
+ },
+ "id": "libvirt-32"
+}
+
+{
+ "return": [
+ {
+ "name": "type",
+ "type": "string"
+ },
+ {
+ "name": "sve640",
+ "type": "bool"
+ },
+ {
+ "name": "psci-conduit",
+ "type": "uint32"
+ },
+ {
+ "name": "sve128",
+ "type": "bool"
+ },
+ {
+ "name": "sve1152",
+ "type": "bool"
+ },
+ {
+ "name": "node-id",
+ "type": "int32"
+ },
+ {
+ "name": "sve1408",
+ "type": "bool"
+ },
+ {
+ "name": "memory",
+ "type": "link<qemu:memory-region>"
+ },
+ {
+ "name": "unnamed-gpio-in[3]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "core-count",
+ "type": "int32"
+ },
+ {
+ "name": "sve2048",
+ "type": "bool"
+ },
+ {
+ "name": "aarch64",
+ "description": "Set on/off to enable/disable aarch64 execution state
",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[1]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve1664",
+ "type": "bool"
+ },
+ {
+ "name": "realized",
+ "type": "bool"
+ },
+ {
+ "name": "rvbar",
+ "type": "uint64"
+ },
+ {
+ "name": "sve384",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[2]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "mp-affinity",
+ "type": "uint64"
+ },
+ {
+ "name": "parent_bus",
+ "type": "link<bus>"
+ },
+ {
+ "name": "unnamed-gpio-out[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve512",
+ "type": "bool"
+ },
+ {
+ "name": "hotplugged",
+ "type": "bool"
+ },
+ {
+ "name": "gicv3-maintenance-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve896",
+ "type": "bool"
+ },
+ {
+ "name": "sve1024",
+ "type": "bool"
+ },
+ {
+ "name": "pmu-interrupt[0]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve1280",
+ "type": "bool"
+ },
+ {
+ "name": "sve1536",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[2]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve-max-vq",
+ "type": "uint32"
+ },
+ {
+ "name": "sve",
+ "type": "bool"
+ },
+ {
+ "name": "start-powered-off",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-in[0]",
+ "type": "child<irq>"
+ },
+ {
+ "name": "sve256",
+ "type": "bool"
+ },
+ {
+ "name": "sve1792",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[3]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "cfgend",
+ "type": "bool"
+ },
+ {
+ "name": "midr",
+ "type": "uint32"
+ },
+ {
+ "name": "hotpluggable",
+ "type": "bool"
+ },
+ {
+ "name": "pmu",
+ "type": "bool"
+ },
+ {
+ "name": "unnamed-gpio-out[1]",
+ "type": "link<irq>"
+ },
+ {
+ "name": "sve1920",
+ "type": "bool"
+ },
+ {
+ "name": "reset-hivecs",
+ "type": "bool"
+ },
+ {
+ "name": "sve768",
+ "type": "bool"
+ }
+ ],
"id": "libvirt-32"
}
+{
+ "execute": "query-machines",
+ "id": "libvirt-33"
+}
+
{
"return": [
{
@@ -6272,7 +6467,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-32"
+ "id": "libvirt-33"
}
{
@@ -6280,7 +6475,7 @@
"arguments": {
"typename": "virt-4.1-machine"
},
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
@@ -6433,12 +6628,12 @@
"type": "child<cfi.pflash01>"
}
],
- "id": "libvirt-33"
+ "id": "libvirt-34"
}
{
"execute": "query-cpu-definitions",
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
@@ -6629,34 +6824,34 @@
"static": false
}
],
- "id": "libvirt-34"
+ "id": "libvirt-35"
}
{
"execute": "query-tpm-models",
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"return": [
],
- "id": "libvirt-35"
+ "id": "libvirt-36"
}
{
"execute": "query-tpm-types",
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
"return": [
],
- "id": "libvirt-36"
+ "id": "libvirt-37"
}
{
"execute": "query-command-line-options",
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
@@ -7808,12 +8003,12 @@
"option": "drive"
}
],
- "id": "libvirt-37"
+ "id": "libvirt-38"
}
{
"execute": "query-migrate-capabilities",
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
@@ -7887,12 +8082,12 @@
"capability": "x-ignore-shared"
}
],
- "id": "libvirt-38"
+ "id": "libvirt-39"
}
{
"execute": "query-qmp-schema",
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
@@ -20058,12 +20253,12 @@
]
}
],
- "id": "libvirt-39"
+ "id": "libvirt-40"
}
{
"execute": "query-gic-capabilities",
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -20079,7 +20274,7 @@
"kernel": false
}
],
- "id": "libvirt-40"
+ "id": "libvirt-41"
}
{
@@ -20090,11 +20285,11 @@
"name": "host"
}
},
- "id": "libvirt-41"
+ "id": "libvirt-42"
}
{
- "id": "libvirt-41",
+ "id": "libvirt-42",
"error": {
"class": "GenericError",
"desc": "The requested expansion type is not supported."
--
2.21.0