[PATCH 0/9] qemu: Rework probing of vCPU hotplug support

Nowadays all qemu's support the command which was used as witness, but was gated on machine type's support of vCPU hotplug. Directly probe the machine type. Peter Krempa (9): qemu: Rename qemuDomainSupportsNewVcpuHotplug to qemuDomainSupportsVcpuHotplug qemu: capabilities: Export functions necessary for probing machine types qemu: process: Probe machine type data on reconnect to qemu qemuxml2argvtest: Modernize 'cpu-hotplug-startup' case tests: qemuhotplugtest: Fix arch-specific parts of 'ppc64' test XMLs qemuhotplugtest: Remove 'modern' field for cpu hotplug tests qemuDomainSupportsVcpuHotplug: Base return value on virQEMUCapsGetMachineHotplugCpus qemu: capabilities: Retire QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS qemu: capabilities: Remove unused 'virQEMUCapsFilterByMachineType' src/qemu/qemu_capabilities.c | 53 ++----------------- src/qemu/qemu_capabilities.h | 18 ++++--- src/qemu/qemu_domain.c | 12 ++--- src/qemu/qemu_domain.h | 2 +- src/qemu/qemu_hotplug.c | 4 +- src/qemu/qemu_process.c | 41 ++++++++++++-- .../caps_4.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 1 - .../qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 - .../caps_4.2.0_x86_64.xml | 1 - .../caps_5.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 1 - .../caps_5.0.0_riscv64.xml | 1 - .../caps_5.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 - .../caps_5.1.0_x86_64.xml | 1 - .../caps_5.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1 - .../caps_5.2.0_riscv64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 - .../caps_5.2.0_x86_64.xml | 1 - .../caps_6.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 - .../caps_6.0.0_x86_64.xml | 1 - .../caps_6.1.0_x86_64.xml | 1 - .../caps_6.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 - .../caps_6.2.0_x86_64.xml | 1 - .../caps_7.0.0_aarch64+hvf.xml | 1 - .../caps_7.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 - .../caps_7.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 - .../caps_7.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 - .../caps_7.2.0_x86_64+hvf.xml | 1 - .../caps_7.2.0_x86_64.xml | 1 - .../caps_8.0.0_riscv64.xml | 1 - .../caps_8.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 - .../caps_8.1.0_x86_64.xml | 1 - tests/qemuhotplugtest.c | 40 +++++--------- .../ppc64-modern-bulk-domain.xml | 4 +- .../ppc64-modern-bulk-result-conf.xml | 18 ++++--- .../ppc64-modern-bulk-result-live.xml | 19 +++---- .../ppc64-modern-individual-domain.xml | 4 +- .../ppc64-modern-individual-result-conf.xml | 18 ++++--- .../ppc64-modern-individual-result-live.xml | 19 +++---- ...=> cpu-hotplug-startup.x86_64-latest.args} | 14 ++--- tests/qemuxml2argvtest.c | 2 +- 50 files changed, 126 insertions(+), 177 deletions(-) rename tests/qemuxml2argvdata/{cpu-hotplug-startup.args => cpu-hotplug-startup.x86_64-latest.args} (55%) -- 2.41.0

Support for legacy cpu hotplug was removed a long time ago. At this point this function only checks whether the current machine type supports cpu hotplug. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 4 ++-- src/qemu/qemu_domain.h | 2 +- src/qemu/qemu_hotplug.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index bfeddc7746..49ae44fcbf 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9998,7 +9998,7 @@ qemuDomainValidateVcpuInfo(virDomainObj *vm) bool -qemuDomainSupportsNewVcpuHotplug(virDomainObj *vm) +qemuDomainSupportsVcpuHotplug(virDomainObj *vm) { qemuDomainObjPrivate *priv = vm->privateData; @@ -10035,7 +10035,7 @@ qemuDomainRefreshVcpuInfo(virDomainObj *vm, int rc; int ret = -1; - hotplug = qemuDomainSupportsNewVcpuHotplug(vm); + hotplug = qemuDomainSupportsVcpuHotplug(vm); VIR_DEBUG("Maxvcpus %zu hotplug %d", maxvcpus, hotplug); if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0) diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 786f239495..15d1bb4900 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -860,7 +860,7 @@ int qemuDomainSetMaxMemLock(virDomainObj *vm, int qemuDomainDefValidateMemoryHotplug(const virDomainDef *def, const virDomainMemoryDef *mem); -bool qemuDomainSupportsNewVcpuHotplug(virDomainObj *vm); +bool qemuDomainSupportsVcpuHotplug(virDomainObj *vm); bool qemuDomainHasVcpuPids(virDomainObj *vm); pid_t qemuDomainGetVcpuPid(virDomainObj *vm, unsigned int vcpuid); int qemuDomainValidateVcpuInfo(virDomainObj *vm); diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index d7d1db8ecc..d845731aee 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -6400,7 +6400,7 @@ qemuDomainHotplugAddVcpu(virQEMUDriver *driver, size_t i; bool vcpuTidMissing = false; - if (!qemuDomainSupportsNewVcpuHotplug(vm)) { + if (!qemuDomainSupportsVcpuHotplug(vm)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("cpu hotplug is not supported")); return -1; @@ -6846,7 +6846,7 @@ qemuDomainSetVcpuInternal(virQEMUDriver *driver, g_autoptr(virBitmap) livevcpus = NULL; if (def) { - if (!qemuDomainSupportsNewVcpuHotplug(vm)) { + if (!qemuDomainSupportsVcpuHotplug(vm)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("this qemu version does not support specific " "vCPU hotplug")); -- 2.41.0

Upcoming patch will re-probe machines from the current qemu instance to populate the private copy of qemuCaps after reconnecting to a running instance. This is needed to be able to access the machine type data, while storing them in the status XML seems to be an overkill, for information which can be easily reprobed. Export 'virQEMUCapsInitQMPArch' needed to populate the 'arch' field and 'virQEMUCapsProbeQMPMachineTypes'. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 6 +++--- src/qemu/qemu_capabilities.h | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 05cc11218a..86619ee92f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2798,7 +2798,7 @@ virQEMUCapsHasMachines(virQEMUCaps *qemuCaps) } -static int +int virQEMUCapsProbeQMPMachineTypes(virQEMUCaps *qemuCaps, virDomainVirtType virtType, qemuMonitor *mon) @@ -5407,9 +5407,9 @@ virQEMUCapsIsValid(void *data, * * Returns: 0 on success, <0 on failure */ -static int +int virQEMUCapsInitQMPArch(virQEMUCaps *qemuCaps, - qemuMonitor *mon) + qemuMonitor *mon) { g_autofree char *archstr = NULL; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 2198b94cf2..620ebf779f 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -895,3 +895,12 @@ virQEMUCapsProbeHVF(virQEMUCaps *qemuCaps) G_NO_INLINE; virArch virQEMUCapsArchFromString(const char *arch); const char *virQEMUCapsArchToString(virArch arch); + +int +virQEMUCapsInitQMPArch(virQEMUCaps *qemuCaps, + qemuMonitor *mon); + +int +virQEMUCapsProbeQMPMachineTypes(virQEMUCaps *qemuCaps, + virDomainVirtType virtType, + qemuMonitor *mon); -- 2.41.0

When reconnecting we populate only the capability flags from the XML as we need to know the exact flags that were present when starting the VM. On the other hand the machine type data is not stored as it wasn't really used after startup. While storing all of the data into the status XML would be theoretically possible, with machine-type specific data it makes no sense to do so, and thus the data can be re-probed from the current instance. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_process.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a6ed69cfe2..3e1198a564 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8816,6 +8816,38 @@ qemuProcessRefreshCPU(virQEMUDriver *driver, } +/** + * qemuProcessReloadMachineTypes: + * + * Reload machine type information into the 'qemuCaps' object from the current + * qemu. + */ +static int +qemuProcessReloadMachineTypes(virDomainObj *vm) +{ + qemuDomainObjPrivate *priv = vm->privateData; + bool fail = false; + + qemuDomainObjEnterMonitor(vm); + + if (virQEMUCapsInitQMPArch(priv->qemuCaps, priv->mon) < 0) + fail = true; + + if (!fail && + virQEMUCapsProbeQMPMachineTypes(priv->qemuCaps, + vm->def->virtType, + priv->mon) < 0) + fail = true; + + qemuDomainObjExitMonitor(vm); + + if (fail) + return -1; + + return 0; +} + + struct qemuProcessReconnectData { virQEMUDriver *driver; virDomainObj *obj; @@ -8950,6 +8982,11 @@ qemuProcessReconnect(void *opaque) goto error; } + /* Reload and populate machine type data into 'qemuCaps' as that is not + * serialized into the status XML. */ + if (qemuProcessReloadMachineTypes(obj) < 0) + goto error; + if (qemuDomainAssignAddresses(obj->def, priv->qemuCaps, driver, obj, false) < 0) { goto error; -- 2.41.0

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- ...args => cpu-hotplug-startup.x86_64-latest.args} | 14 ++++++++------ tests/qemuxml2argvtest.c | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) rename tests/qemuxml2argvdata/{cpu-hotplug-startup.args => cpu-hotplug-startup.x86_64-latest.args} (55%) diff --git a/tests/qemuxml2argvdata/cpu-hotplug-startup.args b/tests/qemuxml2argvdata/cpu-hotplug-startup.x86_64-latest.args similarity index 55% rename from tests/qemuxml2argvdata/cpu-hotplug-startup.args rename to tests/qemuxml2argvdata/cpu-hotplug-startup.x86_64-latest.args index a870d56792..009c08d71a 100644 --- a/tests/qemuxml2argvdata/cpu-hotplug-startup.args +++ b/tests/qemuxml2argvdata/cpu-hotplug-startup.x86_64-latest.args @@ -9,12 +9,14 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ /usr/bin/qemu-system-x86_64 \ -name guest=QEMUGuest1,debug-threads=on \ -S \ --object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes \ --machine pc,usb=off,dump-guest-core=off \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel tcg \ +-cpu qemu64 \ -m size=219136k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ --smp 1,maxcpus=6,sockets=3,cores=2,threads=1 \ +-smp 1,maxcpus=6,sockets=3,dies=1,cores=2,threads=1 \ -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ -display none \ -no-user-config \ @@ -23,9 +25,9 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -mon chardev=charmonitor,id=monitor,mode=control \ -rtc base=utc \ -no-shutdown \ --no-acpi \ -boot strict=on \ --usb \ +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 6e63f8a2eb..1e6cbbf028 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2513,7 +2513,7 @@ mymain(void) DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-invalid-address-type"); DO_TEST_CAPS_LATEST_PARSE_ERROR("virtio-iommu-invalid-address"); - DO_TEST("cpu-hotplug-startup", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); + DO_TEST_CAPS_LATEST("cpu-hotplug-startup"); DO_TEST_CAPS_ARCH_LATEST_PARSE_ERROR("cpu-hotplug-granularity", "ppc64"); DO_TEST_CAPS_LATEST("virtio-options"); -- 2.41.0

The tests were using a copy of a x86_64 based XML and thus 'qemuhotplugtest' was selecting wrong capabilities to use for that specific test. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- .../ppc64-modern-bulk-domain.xml | 4 ++-- .../ppc64-modern-bulk-result-conf.xml | 18 ++++++++++-------- .../ppc64-modern-bulk-result-live.xml | 19 ++++++++----------- .../ppc64-modern-individual-domain.xml | 4 ++-- .../ppc64-modern-individual-result-conf.xml | 18 ++++++++++-------- .../ppc64-modern-individual-result-live.xml | 19 ++++++++----------- 6 files changed, 40 insertions(+), 42 deletions(-) diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-domain.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-domain.xml index cc0322762a..f7c754ccf7 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-domain.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-domain.xml @@ -5,7 +5,7 @@ <currentMemory unit='KiB'>219100</currentMemory> <vcpu placement='static' current='8'>32</vcpu> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu> @@ -15,6 +15,6 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> + <emulator>/usr/bin/qemu-system-ppc64</emulator> </devices> </domain> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml index afb2c85bc2..ad11b2f8a6 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml @@ -39,11 +39,11 @@ <vcpu id='31' enabled='no' hotpluggable='yes'/> </vcpus> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu mode='custom' match='exact' check='none'> - <model fallback='forbid'>qemu64</model> + <model fallback='forbid'>POWER9</model> <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> @@ -51,16 +51,18 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0' model='piix3-uhci'> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <controller type='usb' index='0' model='pci-ohci'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pci-root'> + <model name='spapr-pci-host-bridge'/> + <target index='0'/> </controller> - <controller type='pci' index='0' model='pci-root'/> - <input type='mouse' bus='ps2'/> - <input type='keyboard' bus='ps2'/> <audio id='1' type='none'/> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </memballoon> + <panic model='pseries'/> </devices> </domain> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml index d86247d70c..2a3b4a495f 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml @@ -39,11 +39,11 @@ <vcpu id='31' enabled='no' hotpluggable='yes'/> </vcpus> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu mode='custom' match='exact' check='none'> - <model fallback='forbid'>qemu64</model> + <model fallback='forbid'>POWER9</model> <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> @@ -51,24 +51,21 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0' model='piix3-uhci'> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <controller type='usb' index='0' model='pci-ohci'> <alias name='usb'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'> + <model name='spapr-pci-host-bridge'/> + <target index='0'/> <alias name='pci.0'/> </controller> - <input type='mouse' bus='ps2'> - <alias name='input0'/> - </input> - <input type='keyboard' bus='ps2'> - <alias name='input1'/> - </input> <audio id='1' type='none'/> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </memballoon> + <panic model='pseries'/> </devices> </domain> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-domain.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-domain.xml index cc0322762a..f7c754ccf7 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-domain.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-domain.xml @@ -5,7 +5,7 @@ <currentMemory unit='KiB'>219100</currentMemory> <vcpu placement='static' current='8'>32</vcpu> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu> @@ -15,6 +15,6 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> + <emulator>/usr/bin/qemu-system-ppc64</emulator> </devices> </domain> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml index e8d30f7ddd..34aec9b965 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml @@ -39,11 +39,11 @@ <vcpu id='31' enabled='no' hotpluggable='yes'/> </vcpus> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu mode='custom' match='exact' check='none'> - <model fallback='forbid'>qemu64</model> + <model fallback='forbid'>POWER9</model> <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> @@ -51,16 +51,18 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0' model='piix3-uhci'> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <controller type='usb' index='0' model='pci-ohci'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </controller> + <controller type='pci' index='0' model='pci-root'> + <model name='spapr-pci-host-bridge'/> + <target index='0'/> </controller> - <controller type='pci' index='0' model='pci-root'/> - <input type='mouse' bus='ps2'/> - <input type='keyboard' bus='ps2'/> <audio id='1' type='none'/> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </memballoon> + <panic model='pseries'/> </devices> </domain> diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml index afc500657c..5ce2cfd0b0 100644 --- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml +++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml @@ -39,11 +39,11 @@ <vcpu id='31' enabled='no' hotpluggable='yes'/> </vcpus> <os> - <type arch='x86_64' machine='pc'>hvm</type> + <type arch='ppc64' machine='pseries'>hvm</type> <boot dev='network'/> </os> <cpu mode='custom' match='exact' check='none'> - <model fallback='forbid'>qemu64</model> + <model fallback='forbid'>POWER9</model> <topology sockets='1' dies='1' cores='4' threads='8'/> </cpu> <clock offset='utc'/> @@ -51,24 +51,21 @@ <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <controller type='usb' index='0' model='piix3-uhci'> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <controller type='usb' index='0' model='pci-ohci'> <alias name='usb'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'> + <model name='spapr-pci-host-bridge'/> + <target index='0'/> <alias name='pci.0'/> </controller> - <input type='mouse' bus='ps2'> - <alias name='input0'/> - </input> - <input type='keyboard' bus='ps2'> - <alias name='input1'/> - </input> <audio id='1' type='none'/> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </memballoon> + <panic model='pseries'/> </devices> </domain> -- 2.41.0

Nowadays all tests were considered 'modern' so it makes no longer sense to have that field. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuhotplugtest.c | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 5666e87f75..98f68ce3f4 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -276,7 +276,6 @@ struct testQemuHotplugCpuData { virDomainObj *vm; qemuMonitorTest *mon; - bool modern; }; @@ -317,7 +316,6 @@ struct testQemuHotplugCpuParams { int newcpus; const char *cpumap; bool state; - bool modern; bool fail; const char *arch; GHashTable *capsLatestFiles; @@ -338,8 +336,6 @@ testQemuHotplugCpuPrepare(const struct testQemuHotplugCpuParams *params) data = g_new0(struct testQemuHotplugCpuData, 1); - data->modern = params->modern; - data->file_xml_dom = g_strdup_printf("%s-domain.xml", prefix); data->file_xml_res_live = g_strdup_printf("%s-result-live.xml", prefix); data->file_xml_res_conf = g_strdup_printf("%s-result-conf.xml", prefix); @@ -360,9 +356,6 @@ testQemuHotplugCpuPrepare(const struct testQemuHotplugCpuParams *params) priv = data->vm->privateData; - if (data->modern) - virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); - if (!(data->mon = qemuMonitorTestNewFromFileFull(data->file_json_monitor, &driver, data->vm, schema))) goto error; @@ -370,9 +363,6 @@ testQemuHotplugCpuPrepare(const struct testQemuHotplugCpuParams *params) if (params->fail) qemuMonitorTestAllowUnusedCommands(data->mon); - if (!data->modern) - qemuMonitorTestSkipDeprecatedValidation(data->mon, true); - priv->mon = qemuMonitorTestGetMonitor(data->mon); virObjectUnlock(priv->mon); @@ -429,7 +419,7 @@ testQemuHotplugCpuGroup(const void *opaque) rc = qemuDomainSetVcpusInternal(&driver, data->vm, data->vm->def, data->vm->newDef, params->newcpus, - params->modern); + true); if (params->fail) { if (rc == 0) @@ -799,44 +789,42 @@ mymain(void) "blockdev-del", QMP_OK, "blockdev-del", QMP_OK); -#define DO_TEST_CPU_GROUP(archname, prefix, vcpus, modernhp, expectfail) \ +#define DO_TEST_CPU_GROUP(archname, prefix, vcpus, expectfail) \ do { \ cpudata.test = prefix; \ cpudata.arch = archname; \ cpudata.newcpus = vcpus; \ - cpudata.modern = modernhp; \ cpudata.fail = expectfail; \ if (virTestRun("hotplug vcpus group " prefix, \ testQemuHotplugCpuGroup, &cpudata) < 0) \ ret = -1; \ } while (0) - DO_TEST_CPU_GROUP("x86_64", "x86-modern-bulk", 7, true, false); - DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 24, true, false); - DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 15, true, true); - DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 23, true, true); - DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 25, true, true); + DO_TEST_CPU_GROUP("x86_64", "x86-modern-bulk", 7, false); + DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 24, false); + DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 15, true); + DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 23, true); + DO_TEST_CPU_GROUP("ppc64", "ppc64-modern-bulk", 25, true); -#define DO_TEST_CPU_INDIVIDUAL(archname, prefix, mapstr, statefl, modernhp, expectfail) \ +#define DO_TEST_CPU_INDIVIDUAL(archname, prefix, mapstr, statefl, expectfail) \ do { \ cpudata.test = prefix; \ cpudata.arch = archname; \ cpudata.cpumap = mapstr; \ cpudata.state = statefl; \ - cpudata.modern = modernhp; \ cpudata.fail = expectfail; \ if (virTestRun("hotplug vcpus group " prefix, \ testQemuHotplugCpuIndividual, &cpudata) < 0) \ ret = -1; \ } while (0) - DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", true, true, false); - DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "6,7", true, true, true); - DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", false, true, true); + DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", true, false); + DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "6,7", true, true); + DO_TEST_CPU_INDIVIDUAL("x86_64", "x86-modern-individual-add", "7", false, true); - DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-23", true, true, false); - DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-22", true, true, true); - DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "17", true, true, true); + DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-23", true, false); + DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "16-22", true, true); + DO_TEST_CPU_INDIVIDUAL("ppc64", "ppc64-modern-individual", "17", true, true); qemuTestDriverFree(&driver); virObjectUnref(data.vm); -- 2.41.0

The QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS flag is always asserted as all qemu versions support the command and selectively cleared when copying the capabilities for VM use if given machine type does not support cpu hotplug. Rework this to directly probe the machine as we now populate the data also when re-connecting to a qemu instance after daemon restart, so that the capability can be removed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 49ae44fcbf..39ad97f1b1 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -10002,7 +10002,9 @@ qemuDomainSupportsVcpuHotplug(virDomainObj *vm) { qemuDomainObjPrivate *priv = vm->privateData; - return virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); + return virQEMUCapsGetMachineHotplugCpus(priv->qemuCaps, + vm->def->virtType, + vm->def->os.machine); } -- 2.41.0

All qemu versions have that command and cpu hotplug code now directly probes the machine type. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 8 ++------ src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 - tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml | 1 - 37 files changed, 3 insertions(+), 42 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 86619ee92f..0538acd05d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -390,7 +390,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 230 */ "smm", /* X_QEMU_CAPS_MACHINE_SMM_OPT */ "virtio-pci-disable-legacy", /* X_QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY */ - "query-hotpluggable-cpus", /* QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS */ + "query-hotpluggable-cpus", /* X_QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS */ "virtio-net.rx_queue_size", /* X_QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE */ "machine-iommu", /* X_QEMU_CAPS_MACHINE_IOMMU */ @@ -1209,7 +1209,6 @@ struct virQEMUCapsStringFlags { struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-vnc", QEMU_CAPS_VNC }, { "rtc-reset-reinjection", QEMU_CAPS_RTC_RESET_REINJECTION }, - { "query-hotpluggable-cpus", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS }, { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION }, { "query-cpu-definitions", QEMU_CAPS_QUERY_CPU_DEFINITIONS }, { "query-cpu-model-baseline", QEMU_CAPS_QUERY_CPU_MODEL_BASELINE }, @@ -5852,7 +5851,7 @@ static const struct virQEMUCapsMachineTypeFilter virQEMUCapsMachineFilter[] = { void virQEMUCapsFilterByMachineType(virQEMUCaps *qemuCaps, - virDomainVirtType virtType, + virDomainVirtType virtType G_GNUC_UNUSED, const char *machineType) { size_t i; @@ -5870,9 +5869,6 @@ virQEMUCapsFilterByMachineType(virQEMUCaps *qemuCaps, for (j = 0; j < filter->nflags; j++) virQEMUCapsClear(qemuCaps, filter->flags[j]); } - - if (!virQEMUCapsGetMachineHotplugCpus(qemuCaps, virtType, machineType)) - virQEMUCapsClear(qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS); } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 620ebf779f..d68a819442 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -369,7 +369,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 230 */ X_QEMU_CAPS_MACHINE_SMM_OPT, /* -machine xxx,smm=on/off/auto */ X_QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY, /* virtio-*pci.disable-legacy */ - QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS, /* qmp command query-hotpluggable-cpus */ + X_QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS, /* qmp command query-hotpluggable-cpus */ X_QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE, /* virtio-net-*.rx_queue_size */ X_QEMU_CAPS_MACHINE_IOMMU, /* -machine iommu=on */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml index 0763809bd1..f4f52fc1af 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml @@ -59,7 +59,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml index d596bae8d1..baa05be2fb 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml @@ -58,7 +58,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml index 8ee177f860..4f7c98377d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml @@ -30,7 +30,6 @@ <flag name='virtio-tablet'/> <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> - <flag name='query-hotpluggable-cpus'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='query-cpu-definitions'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml index 6a78466b0f..bf920a74c4 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml @@ -81,7 +81,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml index a981036763..0b9eabd3da 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml @@ -61,7 +61,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml index c61ab63bdc..481519c762 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml @@ -59,7 +59,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml index 4a30e8e815..60384517a1 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml @@ -64,7 +64,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> <flag name='spice-gl'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml index 44e40d5431..8fa4148232 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml @@ -81,7 +81,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml index 1d51c2856a..dce3a97aa5 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml @@ -16,7 +16,6 @@ <flag name='enable-fips'/> <flag name='migrate-rdma'/> <flag name='spice-gl'/> - <flag name='query-hotpluggable-cpus'/> <flag name='spice-rendernode'/> <flag name='chardev-reconnect'/> <flag name='isa-serial'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml index a96df3c758..c0f3444d85 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml @@ -81,7 +81,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml index dd1b20a154..d0c75c2bb9 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml @@ -60,7 +60,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml index d8e2243069..d86dab4482 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml @@ -58,7 +58,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml index 864307485e..f57dc02b13 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml @@ -63,7 +63,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> <flag name='spice-gl'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml index 1ae0e4cefe..d44ca2a121 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml @@ -29,7 +29,6 @@ <flag name='virtio-tablet'/> <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> - <flag name='query-hotpluggable-cpus'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='query-cpu-definitions'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml index eb825fbd40..6bd531a825 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml @@ -81,7 +81,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml index 9928d6a07b..5f2e6c2e5b 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml @@ -61,7 +61,6 @@ <flag name='mptsas1068'/> <flag name='pxb'/> <flag name='pxb-pcie'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml index a97519f2ff..19f23f22f1 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml @@ -29,7 +29,6 @@ <flag name='virtio-tablet'/> <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> - <flag name='query-hotpluggable-cpus'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='query-cpu-definitions'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml index f726650674..4223eb1a2e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml @@ -80,7 +80,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml index f65034ae9c..cacfd6969f 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml index 182d2b9f4e..5cfce5eaa9 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml @@ -67,7 +67,6 @@ <flag name='spice-gl'/> <flag name='pxb'/> <flag name='pxb-pcie'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml index 0c2ee9e513..914cda2048 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml @@ -58,7 +58,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml index c25bb0e469..4792691285 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml index fbd08eac81..9a340e2566 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml @@ -66,7 +66,6 @@ <flag name='spice-gl'/> <flag name='pxb'/> <flag name='pxb-pcie'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml index 6d487247cc..f662cefb42 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml @@ -67,7 +67,6 @@ <flag name='spice-gl'/> <flag name='pxb'/> <flag name='pxb-pcie'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml index 7d7df4ed13..748b897f70 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml @@ -64,7 +64,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml index 6616e43b00..8d026d540d 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml index 3ff7a88cd2..310b8f9d75 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml @@ -63,7 +63,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml index 4e2addd76b..07e8c57f27 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml b/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml index 06f8c5801f..b8d4d4888c 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml @@ -62,7 +62,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> <flag name='spice-gl'/> - <flag name='query-hotpluggable-cpus'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> <flag name='vhost-scsi'/> diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml index 0007a33dca..928270d287 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml @@ -78,7 +78,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml index e298cbd9b1..a889c1b034 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml b/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml index 987962ca41..4aeb210ca7 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml @@ -55,7 +55,6 @@ <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='mptsas1068'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml index c43c209328..6d105e78a9 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml b/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml index 35751ed441..a7519021e2 100644 --- a/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml @@ -26,7 +26,6 @@ <flag name='virtio-tablet'/> <flag name='virtio-input-host'/> <flag name='virtio-balloon-pci.deflate-on-oom'/> - <flag name='query-hotpluggable-cpus'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='query-cpu-definitions'/> diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml index 0a9b5d3b46..adcf594138 100644 --- a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml @@ -79,7 +79,6 @@ <flag name='pxb'/> <flag name='pxb-pcie'/> <flag name='intel-iommu'/> - <flag name='query-hotpluggable-cpus'/> <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> -- 2.41.0

The filtering of qemu capabilities by machine type doesn't seem to be ever used, remove it and adjust callers. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 41 +----------------------------------- src/qemu/qemu_capabilities.h | 7 +----- src/qemu/qemu_domain.c | 4 +--- src/qemu/qemu_process.c | 4 +--- 4 files changed, 4 insertions(+), 52 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 0538acd05d..751702649f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5836,42 +5836,6 @@ virQEMUCapsLoadFile(const char *filename, } -struct virQEMUCapsMachineTypeFilter { - const char *machineType; - virQEMUCapsFlags *flags; - size_t nflags; -}; - -static const struct virQEMUCapsMachineTypeFilter virQEMUCapsMachineFilter[] = { - /* { "blah", virQEMUCapsMachineBLAHFilter, - G_N_ELEMENTS(virQEMUCapsMachineBLAHFilter) }, */ - { "", NULL, 0 }, -}; - - -void -virQEMUCapsFilterByMachineType(virQEMUCaps *qemuCaps, - virDomainVirtType virtType G_GNUC_UNUSED, - const char *machineType) -{ - size_t i; - - if (!machineType) - return; - - for (i = 0; i < G_N_ELEMENTS(virQEMUCapsMachineFilter); i++) { - const struct virQEMUCapsMachineTypeFilter *filter = &virQEMUCapsMachineFilter[i]; - size_t j; - - if (STRNEQ(filter->machineType, machineType)) - continue; - - for (j = 0; j < filter->nflags; j++) - virQEMUCapsClear(qemuCaps, filter->flags[j]); - } -} - - virFileCacheHandlers qemuCapsCacheHandlers = { .isValid = virQEMUCapsIsValid, .newData = virQEMUCapsNewData, @@ -5941,9 +5905,7 @@ virQEMUCapsCacheLookup(virFileCache *cache, virQEMUCaps * virQEMUCapsCacheLookupCopy(virFileCache *cache, - virDomainVirtType virtType, - const char *binary, - const char *machineType) + const char *binary) { virQEMUCaps *qemuCaps = virQEMUCapsCacheLookup(cache, binary); virQEMUCaps *ret; @@ -5954,7 +5916,6 @@ virQEMUCapsCacheLookupCopy(virFileCache *cache, ret = virQEMUCapsNewCopy(qemuCaps); virObjectUnref(qemuCaps); - virQEMUCapsFilterByMachineType(ret, virtType, machineType); return ret; } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index d68a819442..ba289ba6b9 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -783,9 +783,6 @@ const char *virQEMUCapsGetMachineDefaultRAMid(virQEMUCaps *qemuCaps, virDomainVirtType virtType, const char *name); -void virQEMUCapsFilterByMachineType(virQEMUCaps *qemuCaps, - virDomainVirtType virtType, - const char *machineType); char * virQEMUCapsGetDefaultEmulator(virArch hostarch, virArch guestarch); @@ -796,9 +793,7 @@ virFileCache *virQEMUCapsCacheNew(const char *libDir, virQEMUCaps *virQEMUCapsCacheLookup(virFileCache *cache, const char *binary); virQEMUCaps *virQEMUCapsCacheLookupCopy(virFileCache *cache, - virDomainVirtType virtType, - const char *binary, - const char *machineType); + const char *binary); virQEMUCaps *virQEMUCapsCacheLookupDefault(virFileCache *cache, const char *binary, const char *archStr, diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 39ad97f1b1..3ef8ca33b6 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6622,9 +6622,7 @@ qemuDomainDefFormatBufInternal(virQEMUDriver *driver, qCaps = virObjectRef(qemuCaps); } else { if (!(qCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache, - def->virtType, - def->emulator, - def->os.machine))) + def->emulator))) return -1; } diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 3e1198a564..14d582e77f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5659,9 +5659,7 @@ qemuProcessPrepareQEMUCaps(virDomainObj *vm, virObjectUnref(priv->qemuCaps); if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(qemuCapsCache, - vm->def->virtType, - vm->def->emulator, - vm->def->os.machine))) + vm->def->emulator))) return -1; /* Update qemu capabilities according to lists passed in via namespace */ -- 2.41.0

On 8/28/23 15:11, Peter Krempa wrote:
Nowadays all qemu's support the command which was used as witness, but was gated on machine type's support of vCPU hotplug. Directly probe the machine type.
Peter Krempa (9): qemu: Rename qemuDomainSupportsNewVcpuHotplug to qemuDomainSupportsVcpuHotplug qemu: capabilities: Export functions necessary for probing machine types qemu: process: Probe machine type data on reconnect to qemu qemuxml2argvtest: Modernize 'cpu-hotplug-startup' case tests: qemuhotplugtest: Fix arch-specific parts of 'ppc64' test XMLs qemuhotplugtest: Remove 'modern' field for cpu hotplug tests qemuDomainSupportsVcpuHotplug: Base return value on virQEMUCapsGetMachineHotplugCpus qemu: capabilities: Retire QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS qemu: capabilities: Remove unused 'virQEMUCapsFilterByMachineType'
src/qemu/qemu_capabilities.c | 53 ++----------------- src/qemu/qemu_capabilities.h | 18 ++++--- src/qemu/qemu_domain.c | 12 ++--- src/qemu/qemu_domain.h | 2 +- src/qemu/qemu_hotplug.c | 4 +- src/qemu/qemu_process.c | 41 ++++++++++++-- .../caps_4.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 1 - .../qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 - .../caps_4.2.0_x86_64.xml | 1 - .../caps_5.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 1 - .../caps_5.0.0_riscv64.xml | 1 - .../caps_5.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 - .../caps_5.1.0_x86_64.xml | 1 - .../caps_5.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1 - .../caps_5.2.0_riscv64.xml | 1 - .../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 - .../caps_5.2.0_x86_64.xml | 1 - .../caps_6.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 - .../caps_6.0.0_x86_64.xml | 1 - .../caps_6.1.0_x86_64.xml | 1 - .../caps_6.2.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 - .../caps_6.2.0_x86_64.xml | 1 - .../caps_7.0.0_aarch64+hvf.xml | 1 - .../caps_7.0.0_aarch64.xml | 1 - .../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 - .../caps_7.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 - .../caps_7.1.0_x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 - .../caps_7.2.0_x86_64+hvf.xml | 1 - .../caps_7.2.0_x86_64.xml | 1 - .../caps_8.0.0_riscv64.xml | 1 - .../caps_8.0.0_x86_64.xml | 1 - .../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 - .../caps_8.1.0_x86_64.xml | 1 - tests/qemuhotplugtest.c | 40 +++++--------- .../ppc64-modern-bulk-domain.xml | 4 +- .../ppc64-modern-bulk-result-conf.xml | 18 ++++--- .../ppc64-modern-bulk-result-live.xml | 19 +++---- .../ppc64-modern-individual-domain.xml | 4 +- .../ppc64-modern-individual-result-conf.xml | 18 ++++--- .../ppc64-modern-individual-result-live.xml | 19 +++---- ...=> cpu-hotplug-startup.x86_64-latest.args} | 14 ++--- tests/qemuxml2argvtest.c | 2 +- 50 files changed, 126 insertions(+), 177 deletions(-) rename tests/qemuxml2argvdata/{cpu-hotplug-startup.args => cpu-hotplug-startup.x86_64-latest.args} (55%)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal
participants (2)
-
Michal Prívozník
-
Peter Krempa