diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6c8e119e56..363fb0e197 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1439,6 +1439,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { { "max-x86_64-cpu", virQEMUCapsObjectPropsMaxCPU, G_N_ELEMENTS(virQEMUCapsObjectPropsMaxCPU), QEMU_CAPS_X86_MAX_CPU }, + { "max-arm-cpu", virQEMUCapsObjectPropsMaxCPU, + G_N_ELEMENTS(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" + }, + { + "name": "cfgend", + "type": "bool" + }, + { + "name": "psci-conduit", + "type": "uint32" + }, + { + "name": "reset-hivecs", + "type": "bool" + }, + { + "name": "memory", + "type": "link" + }, + { + "name": "unnamed-gpio-out[2]", + "type": "link" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[3]", + "type": "link" + }, + { + "name": "parent_bus", + "type": "link" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "start-powered-off", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[1]", + "type": "link" + }, + { + "name": "core-count", + "type": "int32" + }, + { + "name": "unnamed-gpio-out[0]", + "type": "link" + }, + { + "name": "gicv3-maintenance-interrupt[0]", + "type": "link" + }, + { + "name": "rvbar", + "type": "uint64" + }, + { + "name": "type", + "type": "string" + }, + { + "name": "pmu-interrupt[0]", + "type": "link" + }, + { + "name": "aarch64", + "description": "Set on/off to enable/disable aarch64 execution state ", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[2]", + "type": "child" + }, + { + "name": "unnamed-gpio-in[3]", + "type": "child" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[1]", + "type": "child" + } + ], + "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" + }, + { + "name": "psci-conduit", + "type": "uint32" + }, + { + "name": "reset-hivecs", + "type": "bool" + }, + { + "name": "memory", + "type": "link" + }, + { + "name": "unnamed-gpio-out[2]", + "type": "link" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[3]", + "type": "link" + }, + { + "name": "parent_bus", + "type": "link" + }, + { + "name": "node-id", + "type": "int32" + }, + { + "name": "start-powered-off", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[1]", + "type": "link" + }, + { + "name": "core-count", + "type": "int32" + }, + { + "name": "unnamed-gpio-out[0]", + "type": "link" + }, + { + "name": "gicv3-maintenance-interrupt[0]", + "type": "link" + }, + { + "name": "rvbar", + "type": "uint64" + }, + { + "name": "cfgend", + "type": "bool" + }, + { + "name": "pmu-interrupt[0]", + "type": "link" + }, + { + "name": "aarch64", + "description": "Set on/off to enable/disable aarch64 execution state ", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[2]", + "type": "child" + }, + { + "name": "unnamed-gpio-in[3]", + "type": "child" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[1]", + "type": "child" + } + ], + "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.2.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies index a51a3a42bd..efd193d90d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies @@ -6236,10 +6236,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" + }, + { + "name": "unnamed-gpio-in[3]", + "type": "child" + }, + { + "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" + }, + { + "name": "sve1664", + "type": "bool" + }, + { + "name": "realized", + "type": "bool" + }, + { + "name": "rvbar", + "type": "uint64" + }, + { + "name": "sve384", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[2]", + "type": "link" + }, + { + "name": "mp-affinity", + "type": "uint64" + }, + { + "name": "sve512", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[0]", + "type": "link" + }, + { + "name": "parent_bus", + "type": "link" + }, + { + "name": "hotplugged", + "type": "bool" + }, + { + "name": "gicv3-maintenance-interrupt[0]", + "type": "link" + }, + { + "name": "sve896", + "type": "bool" + }, + { + "name": "sve1024", + "type": "bool" + }, + { + "name": "pmu-interrupt[0]", + "type": "link" + }, + { + "name": "sve1280", + "type": "bool" + }, + { + "name": "sve1536", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[2]", + "type": "child" + }, + { + "name": "sve-max-vq", + "type": "uint32" + }, + { + "name": "sve", + "type": "bool" + }, + { + "name": "start-powered-off", + "type": "bool" + }, + { + "name": "unnamed-gpio-in[0]", + "type": "child" + }, + { + "name": "sve256", + "type": "bool" + }, + { + "name": "sve1792", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[3]", + "type": "link" + }, + { + "name": "cfgend", + "type": "bool" + }, + { + "name": "midr", + "type": "uint32" + }, + { + "name": "hotpluggable", + "type": "bool" + }, + { + "name": "pmu", + "type": "bool" + }, + { + "name": "unnamed-gpio-out[1]", + "type": "link" + }, + { + "name": "sve1920", + "type": "bool" + }, + { + "name": "reset-hivecs", + "type": "bool" + }, + { + "name": "sve768", + "type": "bool" + } + ], + "id": "libvirt-32" +} + +{ + "execute": "query-machines", + "id": "libvirt-33" +} + { "return": [ { @@ -6795,7 +6990,7 @@ "deprecated": false } ], - "id": "libvirt-32" + "id": "libvirt-33" } { @@ -6803,7 +6998,7 @@ "arguments": { "typename": "virt-4.2-machine" }, - "id": "libvirt-33" + "id": "libvirt-34" } { @@ -6956,12 +7151,12 @@ "type": "child" } ], - "id": "libvirt-33" + "id": "libvirt-34" } { "execute": "query-cpu-definitions", - "id": "libvirt-34" + "id": "libvirt-35" } { @@ -7152,34 +7347,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" } { @@ -8347,12 +8542,12 @@ "option": "drive" } ], - "id": "libvirt-37" + "id": "libvirt-38" } { "execute": "query-migrate-capabilities", - "id": "libvirt-38" + "id": "libvirt-39" } { @@ -8430,12 +8625,12 @@ "capability": "validate-uuid" } ], - "id": "libvirt-38" + "id": "libvirt-39" } { "execute": "query-qmp-schema", - "id": "libvirt-39" + "id": "libvirt-40" } { @@ -21006,12 +21201,12 @@ ] } ], - "id": "libvirt-39" + "id": "libvirt-40" } { "execute": "query-gic-capabilities", - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -21027,7 +21222,7 @@ "kernel": false } ], - "id": "libvirt-40" + "id": "libvirt-41" } { @@ -21038,11 +21233,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"