From 4f40839f697c24809af7a6ca7235105dcc6d8b70 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Thu, 9 May 2024 12:04:11 +0200 Subject: [PATCH] libvirt-10.3.0-1.el9 - Rebased to libvirt-10.3.0 (RHEL-29642) - The rebase also fixes the following bugs: RHEL-25993, RHEL-7101, RHEL-7461, RHEL-16333, RHEL-7343 RHEL-28808, RHEL-32880, RHEL-35879, RHEL-34112, RHEL-30373 RHEL-23416, RHEL-23608, RHEL-26276, RHEL-22728 Resolves: RHEL-16333, RHEL-22728, RHEL-23416, RHEL-23608, RHEL-25993 Resolves: RHEL-26276, RHEL-28808, RHEL-29642, RHEL-30373, RHEL-32880 Resolves: RHEL-34112, RHEL-35879, RHEL-7101, RHEL-7343, RHEL-7461 --- libvirt-Add-vmx-features-to-Broadwell.patch | 365 ------- libvirt-Add-vmx-features-to-Cascadelake.patch | 191 ---- libvirt-Add-vmx-features-to-Conroe.patch | 54 - libvirt-Add-vmx-features-to-Cooperlake.patch | 105 -- libvirt-Add-vmx-features-to-Haswell.patch | 357 ------- libvirt-Add-vmx-features-to-Icelake.patch | 190 ---- libvirt-Add-vmx-features-to-IvyBridge.patch | 175 ---- libvirt-Add-vmx-features-to-Nehalem.patch | 161 --- libvirt-Add-vmx-features-to-Penryn.patch | 57 - libvirt-Add-vmx-features-to-SandyBridge.patch | 167 --- ...t-Add-vmx-features-to-SapphireRapids.patch | 106 -- libvirt-Add-vmx-features-to-Skylake.patch | 527 ---------- libvirt-Add-vmx-features-to-Snowridge.patch | 105 -- libvirt-Add-vmx-features-to-Westmere.patch | 165 --- libvirt-Add-vmx-features-to-core-2-duo.patch | 83 -- libvirt-Add-vmx-features-to-kvm.patch | 77 -- ...e-error-message-from-virXPathNodeSet.patch | 679 ------------ ...-error-in-udevListInterfacesByStatus.patch | 46 - ...el-attribute-during-pci-device-setup.patch | 44 - ...ns-depend-on-generated-_protocol.-ch.patch | 144 --- ...t-conf-Allow-specifying-CPU-clusters.patch | 976 ------------------ ...micMemslots-attribute-for-virtio-mem.patch | 152 --- ...ort-CPU-clusters-in-capabilities-XML.patch | 684 ------------ ...-cpu-Introduce-virCPUDefListFeatures.patch | 85 -- ...eCustomFields-to-fix-error-reporting.patch | 138 --- ...PDParse-Remove-pointless-NULL-checks.patch | 47 - ...ding-features-to-existing-CPU-models.patch | 219 ---- ...y-when-checking-for-memory-conflicts.patch | 123 --- ...k-for-domain-address-conflicts-fully.patch | 53 - ...t-qemu-Fix-migration-with-custom-XML.patch | 139 --- ...emu-Introduce-QEMU_CAPS_SMP_CLUSTERS.patch | 208 ---- ...u-Make-monitor-aware-of-CPU-clusters.patch | 117 --- ...irt-qemu-Use-CPU-clusters-for-guests.patch | 646 ------------ ...-arch-in-qemuDomainMakeCPUMigratable.patch | 84 -- ...p-added-features-from-migratable-CPU.patch | 153 --- ...ation-of-manually-specified-NBD-port.patch | 100 -- ...-do-not-crash-if-cgroups-are-missing.patch | 42 - ...getting-the-group-or-user-name-fails.patch | 37 - ...rrect-label-when-creating-the-socket.patch | 39 - ...perly-consider-path-for-vdpa-devices.patch | 40 - ...atement-to-include-all-storage-types.patch | 60 -- ...onDstStartNBDServer-Refactor-cleanup.patch | 84 -- ..._MEM_PCI_DYNAMIC_MEMSLOTS-capability.patch | 94 -- ...-line-for-virtio-mem-dynamicMemslots.patch | 62 -- ...-created-flag-in-qemuDomainChangeNet.patch | 67 -- ...y-flag-for-offline-external-snapshot.patch | 67 -- ...refactor-external-snapshot-detection.patch | 88 -- ...-leaf-snapshot-isn-t-in-active-chain.patch | 66 -- ...ility-for-virtio-mem-dynamicMemslots.patch | 40 - ...tive-array-lengths-before-allocation.patch | 218 ---- ...client-closes-connection-during-auth.patch | 142 --- ...havior-of-remoteDomainGetBlockIoTune.patch | 45 - ...ed-characters-in-vpdFieldValueFormat.patch | 39 - ...pudata-for-machine-with-CPU-clusters.patch | 919 ----------------- ...tests-Add-test-case-for-CPU-clusters.patch | 146 --- ...iously-mishandled-PCI-VPD-characters.patch | 88 -- ...handling-of-CPU-clusters-in-QMP-data.patch | 458 -------- ...hang-in-virshtest-read-big-pipe-case.patch | 82 ++ ...VirPCIVPDParseVPDStringResource-case.patch | 81 -- ...emove-testVirPCIVPDReadVPDBytes-case.patch | 83 -- ...or-virPCIVPDResourceIsValidTextValue.patch | 62 -- ...virPCIVPDParseVPDLargeResourceFields.patch | 82 -- ...dateKeyword-Remove-impossible-checks.patch | 63 -- ...m-virPCIVPDResourceCustomUpsertValue.patch | 143 --- ...-from-virPCIVPDResourceUpdateKeyword.patch | 206 ---- ...virPCIVPDParseVPDLargeResourceString.patch | 78 -- ...civpd-Unexport-virPCIVPDReadVPDBytes.patch | 82 -- ...nts-for-port-allocations-and-release.patch | 64 -- ...rly-escape-system-originated-strings.patch | 94 -- ...matCustom-Escape-unsanitized-strings.patch | 80 -- ...ceCapVPDParseXML-Fix-error-reporting.patch | 74 -- ...VPD-Fix-multiple-error-handling-bugs.patch | 69 -- ...eviceGetVPD-Handle-errors-in-callers.patch | 52 - ...DeviceHasVPD-Refactor-debug-messages.patch | 52 - ...DParse-Do-reasonable-error-reporting.patch | 101 -- ...esourceFields-Merge-logic-conditions.patch | 65 -- ...lds-Refactor-processing-of-read-data.patch | 108 -- ...ResourceFields-Refactor-return-logic.patch | 105 -- ...emove-impossible-default-switch-case.patch | 38 - ...eResourceFields-Report-proper-errors.patch | 189 ---- ...esourceString-Properly-report-errors.patch | 75 -- ...ReadVPDBytes-Refactor-error-handling.patch | 156 --- ...ResourceGetKeywordPrefix-Fix-logging.patch | 56 - ...djust-comment-to-reflect-actual-code.patch | 54 - ...ests-for-uninitialized-ro-rw-section.patch | 85 -- ...n-connection-to-default-daemon-fails.patch | 52 - ...sh-Don-t-init-history-in-cmdComplete.patch | 83 ++ libvirt.spec | 142 +-- sources | 2 +- symlinks | 268 ++--- 90 files changed, 355 insertions(+), 13234 deletions(-) delete mode 100644 libvirt-Add-vmx-features-to-Broadwell.patch delete mode 100644 libvirt-Add-vmx-features-to-Cascadelake.patch delete mode 100644 libvirt-Add-vmx-features-to-Conroe.patch delete mode 100644 libvirt-Add-vmx-features-to-Cooperlake.patch delete mode 100644 libvirt-Add-vmx-features-to-Haswell.patch delete mode 100644 libvirt-Add-vmx-features-to-Icelake.patch delete mode 100644 libvirt-Add-vmx-features-to-IvyBridge.patch delete mode 100644 libvirt-Add-vmx-features-to-Nehalem.patch delete mode 100644 libvirt-Add-vmx-features-to-Penryn.patch delete mode 100644 libvirt-Add-vmx-features-to-SandyBridge.patch delete mode 100644 libvirt-Add-vmx-features-to-SapphireRapids.patch delete mode 100644 libvirt-Add-vmx-features-to-Skylake.patch delete mode 100644 libvirt-Add-vmx-features-to-Snowridge.patch delete mode 100644 libvirt-Add-vmx-features-to-Westmere.patch delete mode 100644 libvirt-Add-vmx-features-to-core-2-duo.patch delete mode 100644 libvirt-Add-vmx-features-to-kvm.patch delete mode 100644 libvirt-Don-t-overwrite-error-message-from-virXPathNodeSet.patch delete mode 100644 libvirt-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch delete mode 100644 libvirt-Set-stubDriverName-from-hostdev-driver-model-attribute-during-pci-device-setup.patch delete mode 100644 libvirt-build-Make-daemons-depend-on-generated-_protocol.-ch.patch delete mode 100644 libvirt-conf-Allow-specifying-CPU-clusters.patch delete mode 100644 libvirt-conf-Introduce-dynamicMemslots-attribute-for-virtio-mem.patch delete mode 100644 libvirt-conf-Report-CPU-clusters-in-capabilities-XML.patch delete mode 100644 libvirt-conf-cpu-Introduce-virCPUDefListFeatures.patch delete mode 100644 libvirt-conf-node_device-Refactor-virNodeDeviceCapVPDParseCustomFields-to-fix-error-reporting.patch delete mode 100644 libvirt-conf-virNodeDeviceCapVPDParse-Remove-pointless-NULL-checks.patch delete mode 100644 libvirt-cpu-x86-Add-support-for-adding-features-to-existing-CPU-models.patch delete mode 100644 libvirt-domain_validate-Account-for-NVDIMM-label-size-properly-when-checking-for-memory-conflicts.patch delete mode 100644 libvirt-domain_validate-Check-for-domain-address-conflicts-fully.patch delete mode 100644 libvirt-qemu-Fix-migration-with-custom-XML.patch delete mode 100644 libvirt-qemu-Introduce-QEMU_CAPS_SMP_CLUSTERS.patch delete mode 100644 libvirt-qemu-Make-monitor-aware-of-CPU-clusters.patch delete mode 100644 libvirt-qemu-Use-CPU-clusters-for-guests.patch delete mode 100644 libvirt-qemu-domain-Check-arch-in-qemuDomainMakeCPUMigratable.patch delete mode 100644 libvirt-qemu-domain-Drop-added-features-from-migratable-CPU.patch delete mode 100644 libvirt-qemu-migration-Properly-handle-reservation-of-manually-specified-NBD-port.patch delete mode 100644 libvirt-qemu-virtiofs-do-not-crash-if-cgroups-are-missing.patch delete mode 100644 libvirt-qemu-virtiofs-error-out-if-getting-the-group-or-user-name-fails.patch delete mode 100644 libvirt-qemu-virtiofs-set-correct-label-when-creating-the-socket.patch delete mode 100644 libvirt-qemuMigrationDstPrepareStorage-Properly-consider-path-for-vdpa-devices.patch delete mode 100644 libvirt-qemuMigrationDstPrepareStorage-Use-switch-statement-to-include-all-storage-types.patch delete mode 100644 libvirt-qemuMigrationDstStartNBDServer-Refactor-cleanup.patch delete mode 100644 libvirt-qemu_capabilities-Add-QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI_DYNAMIC_MEMSLOTS-capability.patch delete mode 100644 libvirt-qemu_command-Generate-cmd-line-for-virtio-mem-dynamicMemslots.patch delete mode 100644 libvirt-qemu_hotplug-Don-t-lose-created-flag-in-qemuDomainChangeNet.patch delete mode 100644 libvirt-qemu_snapshot-create-don-t-require-disk-only-flag-for-offline-external-snapshot.patch delete mode 100644 libvirt-qemu_snapshot-create-refactor-external-snapshot-detection.patch delete mode 100644 libvirt-qemu_snapshot-fix-detection-if-non-leaf-snapshot-isn-t-in-active-chain.patch delete mode 100644 libvirt-qemu_validate-Check-capability-for-virtio-mem-dynamicMemslots.patch delete mode 100644 libvirt-remote-check-for-negative-array-lengths-before-allocation.patch delete mode 100644 libvirt-remoteDispatchAuthPolkit-Fix-lock-ordering-deadlock-if-client-closes-connection-during-auth.patch delete mode 100644 libvirt-remote_driver-Restore-special-behavior-of-remoteDomainGetBlockIoTune.patch delete mode 100644 libvirt-schema-nodedev-Adjust-allowed-characters-in-vpdFieldValueFormat.patch delete mode 100644 libvirt-tests-Add-hostcpudata-for-machine-with-CPU-clusters.patch delete mode 100644 libvirt-tests-Add-test-case-for-CPU-clusters.patch delete mode 100644 libvirt-tests-Test-the-previously-mishandled-PCI-VPD-characters.patch delete mode 100644 libvirt-tests-Verify-handling-of-CPU-clusters-in-QMP-data.patch create mode 100644 libvirt-tests-fix-hang-in-virshtest-read-big-pipe-case.patch delete mode 100644 libvirt-tests-virpcivpd-Remove-testVirPCIVPDParseVPDStringResource-case.patch delete mode 100644 libvirt-tests-virpcivpdtest-Remove-testVirPCIVPDReadVPDBytes-case.patch delete mode 100644 libvirt-util-pcivpd-Refactor-virPCIVPDResourceIsValidTextValue.patch delete mode 100644 libvirt-util-pcivpd-Unexport-virPCIVPDParseVPDLargeResourceFields.patch delete mode 100644 libvirt-util-virPCIVPDResourceUpdateKeyword-Remove-impossible-checks.patch delete mode 100644 libvirt-util-virpcivpd-Remove-return-value-from-virPCIVPDResourceCustomUpsertValue.patch delete mode 100644 libvirt-util-virpcivpd-Remove-return-value-from-virPCIVPDResourceUpdateKeyword.patch delete mode 100644 libvirt-util-virpcivpd-Unexport-virPCIVPDParseVPDLargeResourceString.patch delete mode 100644 libvirt-util-virpcivpd-Unexport-virPCIVPDReadVPDBytes.patch delete mode 100644 libvirt-util-virtportallocator-Add-VIR_DEBUG-statements-for-port-allocations-and-release.patch delete mode 100644 libvirt-virNodeDeviceCapVPDFormat-Properly-escape-system-originated-strings.patch delete mode 100644 libvirt-virNodeDeviceCapVPDFormatCustom-Escape-unsanitized-strings.patch delete mode 100644 libvirt-virNodeDeviceCapVPDParseXML-Fix-error-reporting.patch delete mode 100644 libvirt-virPCIDeviceGetVPD-Fix-multiple-error-handling-bugs.patch delete mode 100644 libvirt-virPCIDeviceGetVPD-Handle-errors-in-callers.patch delete mode 100644 libvirt-virPCIDeviceHasVPD-Refactor-debug-messages.patch delete mode 100644 libvirt-virPCIVPDParse-Do-reasonable-error-reporting.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceFields-Merge-logic-conditions.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceFields-Refactor-processing-of-read-data.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceFields-Refactor-return-logic.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceFields-Remove-impossible-default-switch-case.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceFields-Report-proper-errors.patch delete mode 100644 libvirt-virPCIVPDParseVPDLargeResourceString-Properly-report-errors.patch delete mode 100644 libvirt-virPCIVPDReadVPDBytes-Refactor-error-handling.patch delete mode 100644 libvirt-virPCIVPDResourceGetKeywordPrefix-Fix-logging.patch delete mode 100644 libvirt-virPCIVPDResourceIsValidTextValue-Adjust-comment-to-reflect-actual-code.patch delete mode 100644 libvirt-virpcivpdtest-testPCIVPDResourceBasic-Remove-tests-for-uninitialized-ro-rw-section.patch delete mode 100644 libvirt-virt-admin-Add-warning-when-connection-to-default-daemon-fails.patch create mode 100644 libvirt-vsh-Don-t-init-history-in-cmdComplete.patch diff --git a/libvirt-Add-vmx-features-to-Broadwell.patch b/libvirt-Add-vmx-features-to-Broadwell.patch deleted file mode 100644 index 4335e4c..0000000 --- a/libvirt-Add-vmx-features-to-Broadwell.patch +++ /dev/null @@ -1,365 +0,0 @@ -From 81b99c17370a8cc9a251b84635d75e40beb13ba5 Mon Sep 17 00:00:00 2001 -Message-ID: <81b99c17370a8cc9a251b84635d75e40beb13ba5.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:00:15 +0100 -Subject: [PATCH] Add vmx-* features to Broadwell* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit ce330dd7e5405573c77801a418345804049315ab) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Broadwell-IBRS.xml | 75 ++++++++++++++++++++++++ - src/cpu_map/x86_Broadwell-noTSX-IBRS.xml | 75 ++++++++++++++++++++++++ - src/cpu_map/x86_Broadwell-noTSX.xml | 75 ++++++++++++++++++++++++ - src/cpu_map/x86_Broadwell.xml | 75 ++++++++++++++++++++++++ - 4 files changed, 300 insertions(+) - -diff --git a/src/cpu_map/x86_Broadwell-IBRS.xml b/src/cpu_map/x86_Broadwell-IBRS.xml -index 9033d5fcd5..1484903298 100644 ---- a/src/cpu_map/x86_Broadwell-IBRS.xml -+++ b/src/cpu_map/x86_Broadwell-IBRS.xml -@@ -59,6 +59,81 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml -index c044b60e36..13f08435b7 100644 ---- a/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml -+++ b/src/cpu_map/x86_Broadwell-noTSX-IBRS.xml -@@ -57,6 +57,81 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Broadwell-noTSX.xml b/src/cpu_map/x86_Broadwell-noTSX.xml -index 637f29ba1c..4293b3aeee 100644 ---- a/src/cpu_map/x86_Broadwell-noTSX.xml -+++ b/src/cpu_map/x86_Broadwell-noTSX.xml -@@ -56,6 +56,81 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Broadwell.xml b/src/cpu_map/x86_Broadwell.xml -index 82939a4509..37dd1dabcf 100644 ---- a/src/cpu_map/x86_Broadwell.xml -+++ b/src/cpu_map/x86_Broadwell.xml -@@ -58,6 +58,81 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Cascadelake.patch b/libvirt-Add-vmx-features-to-Cascadelake.patch deleted file mode 100644 index 3a1e756..0000000 --- a/libvirt-Add-vmx-features-to-Cascadelake.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 1592ad837411f194692e021f6fb8dd1e6f3ac935 Mon Sep 17 00:00:00 2001 -Message-ID: <1592ad837411f194692e021f6fb8dd1e6f3ac935.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:01:25 +0100 -Subject: [PATCH] Add vmx-* features to Cascadelake* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 5db61952252fa2ab88cc79f064f8f1b61b6c95cb) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 76 ++++++++++++++++++++ - src/cpu_map/x86_Cascadelake-Server.xml | 74 +++++++++++++++++++ - 2 files changed, 150 insertions(+) - -diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml -index bfd4629836..056f43d088 100644 ---- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml -+++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml -@@ -70,6 +70,82 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Cascadelake-Server.xml b/src/cpu_map/x86_Cascadelake-Server.xml -index 335e9cb584..88e51c2067 100644 ---- a/src/cpu_map/x86_Cascadelake-Server.xml -+++ b/src/cpu_map/x86_Cascadelake-Server.xml -@@ -72,6 +72,80 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Conroe.patch b/libvirt-Add-vmx-features-to-Conroe.patch deleted file mode 100644 index 68f3cca..0000000 --- a/libvirt-Add-vmx-features-to-Conroe.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 7b3b3f4195380a91b21b891f1db666f58171f10f Mon Sep 17 00:00:00 2001 -Message-ID: <7b3b3f4195380a91b21b891f1db666f58171f10f.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:04:45 +0100 -Subject: [PATCH] Add vmx-* features to Conroe - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 9cb8c372cd75647e09fac96e6995adab5e8dde79) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Conroe.xml | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -diff --git a/src/cpu_map/x86_Conroe.xml b/src/cpu_map/x86_Conroe.xml -index 4cacee6142..955297ffc3 100644 ---- a/src/cpu_map/x86_Conroe.xml -+++ b/src/cpu_map/x86_Conroe.xml -@@ -31,5 +31,31 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Cooperlake.patch b/libvirt-Add-vmx-features-to-Cooperlake.patch deleted file mode 100644 index 4b7c214..0000000 --- a/libvirt-Add-vmx-features-to-Cooperlake.patch +++ /dev/null @@ -1,105 +0,0 @@ -From c1aa9d01500cda0ee335fc7d52650179a634e0e3 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:05:01 +0100 -Subject: [PATCH] Add vmx-* features to Cooperlake - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit cbee851581fc82ea95d7b6309b85e22f9d1ba0d3) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Cooperlake.xml | 76 ++++++++++++++++++++++++++++++++++ - 1 file changed, 76 insertions(+) - -diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml -index ceca687334..af428f2781 100644 ---- a/src/cpu_map/x86_Cooperlake.xml -+++ b/src/cpu_map/x86_Cooperlake.xml -@@ -81,6 +81,82 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Haswell.patch b/libvirt-Add-vmx-features-to-Haswell.patch deleted file mode 100644 index b94b743..0000000 --- a/libvirt-Add-vmx-features-to-Haswell.patch +++ /dev/null @@ -1,357 +0,0 @@ -From 4923a152e7d5241ec6e7e64ed8338ea97cd10487 Mon Sep 17 00:00:00 2001 -Message-ID: <4923a152e7d5241ec6e7e64ed8338ea97cd10487.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:01:50 +0100 -Subject: [PATCH] Add vmx-* features to Haswell* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit b44679c31f2d46e88ce655c03aef4c3e9ab621ac) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Haswell-IBRS.xml | 73 ++++++++++++++++++++++++++ - src/cpu_map/x86_Haswell-noTSX-IBRS.xml | 73 ++++++++++++++++++++++++++ - src/cpu_map/x86_Haswell-noTSX.xml | 73 ++++++++++++++++++++++++++ - src/cpu_map/x86_Haswell.xml | 73 ++++++++++++++++++++++++++ - 4 files changed, 292 insertions(+) - -diff --git a/src/cpu_map/x86_Haswell-IBRS.xml b/src/cpu_map/x86_Haswell-IBRS.xml -index 0ffe2bae0d..57b980d14f 100644 ---- a/src/cpu_map/x86_Haswell-IBRS.xml -+++ b/src/cpu_map/x86_Haswell-IBRS.xml -@@ -55,6 +55,79 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml -index 75d709c009..fcae023ffb 100644 ---- a/src/cpu_map/x86_Haswell-noTSX-IBRS.xml -+++ b/src/cpu_map/x86_Haswell-noTSX-IBRS.xml -@@ -53,6 +53,79 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Haswell-noTSX.xml b/src/cpu_map/x86_Haswell-noTSX.xml -index b0a0faa856..7404052065 100644 ---- a/src/cpu_map/x86_Haswell-noTSX.xml -+++ b/src/cpu_map/x86_Haswell-noTSX.xml -@@ -52,6 +52,79 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Haswell.xml b/src/cpu_map/x86_Haswell.xml -index ee16b30f19..99986c5c45 100644 ---- a/src/cpu_map/x86_Haswell.xml -+++ b/src/cpu_map/x86_Haswell.xml -@@ -54,6 +54,79 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Icelake.patch b/libvirt-Add-vmx-features-to-Icelake.patch deleted file mode 100644 index 5096221..0000000 --- a/libvirt-Add-vmx-features-to-Icelake.patch +++ /dev/null @@ -1,190 +0,0 @@ -From ecda5a00bea069744db5b0d47da7f9c6b65230f2 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:02:47 +0100 -Subject: [PATCH] Add vmx-* features to Icelake* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit a6f3eafc402fbaf18b2e23e93c8c7339317c7d97) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Icelake-Server-noTSX.xml | 77 ++++++++++++++++++++++++ - src/cpu_map/x86_Icelake-Server.xml | 72 ++++++++++++++++++++++ - 2 files changed, 149 insertions(+) - -diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml -index 7c9c32c977..072f8145c4 100644 ---- a/src/cpu_map/x86_Icelake-Server-noTSX.xml -+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml -@@ -80,6 +80,83 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Icelake-Server.xml b/src/cpu_map/x86_Icelake-Server.xml -index b4685bead0..3a35145d7f 100644 ---- a/src/cpu_map/x86_Icelake-Server.xml -+++ b/src/cpu_map/x86_Icelake-Server.xml -@@ -82,6 +82,78 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-IvyBridge.patch b/libvirt-Add-vmx-features-to-IvyBridge.patch deleted file mode 100644 index 766c6fd..0000000 --- a/libvirt-Add-vmx-features-to-IvyBridge.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 128ced3f69e7d78ca544dc704a9be869060949c5 Mon Sep 17 00:00:00 2001 -Message-ID: <128ced3f69e7d78ca544dc704a9be869060949c5.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:04:01 +0100 -Subject: [PATCH] Add vmx-* features to IvyBridge* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 4b707f8bb0003b87f67474bfac02a2feac26c96f) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_IvyBridge-IBRS.xml | 67 ++++++++++++++++++++++++++++++ - src/cpu_map/x86_IvyBridge.xml | 67 ++++++++++++++++++++++++++++++ - 2 files changed, 134 insertions(+) - -diff --git a/src/cpu_map/x86_IvyBridge-IBRS.xml b/src/cpu_map/x86_IvyBridge-IBRS.xml -index 430bc3232d..27d85d86c4 100644 ---- a/src/cpu_map/x86_IvyBridge-IBRS.xml -+++ b/src/cpu_map/x86_IvyBridge-IBRS.xml -@@ -47,6 +47,73 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_IvyBridge.xml b/src/cpu_map/x86_IvyBridge.xml -index eaf5d02e82..72031cfdc6 100644 ---- a/src/cpu_map/x86_IvyBridge.xml -+++ b/src/cpu_map/x86_IvyBridge.xml -@@ -46,6 +46,73 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Nehalem.patch b/libvirt-Add-vmx-features-to-Nehalem.patch deleted file mode 100644 index ddcd3b9..0000000 --- a/libvirt-Add-vmx-features-to-Nehalem.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 059a3289bce7bf6bc363294a06eee8ad4ba46aa2 Mon Sep 17 00:00:00 2001 -Message-ID: <059a3289bce7bf6bc363294a06eee8ad4ba46aa2.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:04:21 +0100 -Subject: [PATCH] Add vmx-* features to Nehalem* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit a539910c942f5993b967f8265756e3a10363e4f4) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Nehalem-IBRS.xml | 61 ++++++++++++++++++++++++++++++++ - src/cpu_map/x86_Nehalem.xml | 61 ++++++++++++++++++++++++++++++++ - 2 files changed, 122 insertions(+) - -diff --git a/src/cpu_map/x86_Nehalem-IBRS.xml b/src/cpu_map/x86_Nehalem-IBRS.xml -index 00d0d2fe51..0cfee14c0f 100644 ---- a/src/cpu_map/x86_Nehalem-IBRS.xml -+++ b/src/cpu_map/x86_Nehalem-IBRS.xml -@@ -38,5 +38,66 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -diff --git a/src/cpu_map/x86_Nehalem.xml b/src/cpu_map/x86_Nehalem.xml -index 9968001fe7..74ee64ce1c 100644 ---- a/src/cpu_map/x86_Nehalem.xml -+++ b/src/cpu_map/x86_Nehalem.xml -@@ -37,5 +37,66 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Penryn.patch b/libvirt-Add-vmx-features-to-Penryn.patch deleted file mode 100644 index f80e1e9..0000000 --- a/libvirt-Add-vmx-features-to-Penryn.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 38441bf5e996882e8cefd0c2eb7501a7ae832b50 Mon Sep 17 00:00:00 2001 -Message-ID: <38441bf5e996882e8cefd0c2eb7501a7ae832b50.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:05:20 +0100 -Subject: [PATCH] Add vmx-* features to Penryn - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit c6fadbb2807c80bd2b812eebd932eb4a34067ccd) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Penryn.xml | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/src/cpu_map/x86_Penryn.xml b/src/cpu_map/x86_Penryn.xml -index 29d4cd635b..b31f96fa43 100644 ---- a/src/cpu_map/x86_Penryn.xml -+++ b/src/cpu_map/x86_Penryn.xml -@@ -33,5 +33,34 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-SandyBridge.patch b/libvirt-Add-vmx-features-to-SandyBridge.patch deleted file mode 100644 index 6a842cc..0000000 --- a/libvirt-Add-vmx-features-to-SandyBridge.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 0a90b4edc589dcb624dd44909456bca029520851 Mon Sep 17 00:00:00 2001 -Message-ID: <0a90b4edc589dcb624dd44909456bca029520851.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:03:18 +0100 -Subject: [PATCH] Add vmx-* features to SandyBridge* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 29d492d6488e35db2e96a017ac3fb2712dcb638c) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_SandyBridge-IBRS.xml | 63 ++++++++++++++++++++++++++++ - src/cpu_map/x86_SandyBridge.xml | 63 ++++++++++++++++++++++++++++ - 2 files changed, 126 insertions(+) - -diff --git a/src/cpu_map/x86_SandyBridge-IBRS.xml b/src/cpu_map/x86_SandyBridge-IBRS.xml -index fbdb4f2bf6..297eea8e88 100644 ---- a/src/cpu_map/x86_SandyBridge-IBRS.xml -+++ b/src/cpu_map/x86_SandyBridge-IBRS.xml -@@ -41,6 +41,69 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_SandyBridge.xml b/src/cpu_map/x86_SandyBridge.xml -index 7c85ed42df..20ea378c47 100644 ---- a/src/cpu_map/x86_SandyBridge.xml -+++ b/src/cpu_map/x86_SandyBridge.xml -@@ -40,6 +40,69 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-SapphireRapids.patch b/libvirt-Add-vmx-features-to-SapphireRapids.patch deleted file mode 100644 index 7d0bdf2..0000000 --- a/libvirt-Add-vmx-features-to-SapphireRapids.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 7aff7ca069e1a271bfd4aab03b61651b199b5079 Mon Sep 17 00:00:00 2001 -Message-ID: <7aff7ca069e1a271bfd4aab03b61651b199b5079.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:05:34 +0100 -Subject: [PATCH] Add vmx-* features to SapphireRapids - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit e67004ec1cec850baa65177d88c6db09376869d3) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_SapphireRapids.xml | 77 ++++++++++++++++++++++++++++++ - 1 file changed, 77 insertions(+) - -diff --git a/src/cpu_map/x86_SapphireRapids.xml b/src/cpu_map/x86_SapphireRapids.xml -index 2297feeeca..40164a47e2 100644 ---- a/src/cpu_map/x86_SapphireRapids.xml -+++ b/src/cpu_map/x86_SapphireRapids.xml -@@ -103,6 +103,83 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Skylake.patch b/libvirt-Add-vmx-features-to-Skylake.patch deleted file mode 100644 index 51aaf49..0000000 --- a/libvirt-Add-vmx-features-to-Skylake.patch +++ /dev/null @@ -1,527 +0,0 @@ -From ea9f38c82d1045434c03e44dfdd8b32760b643a3 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:00:53 +0100 -Subject: [PATCH] Add vmx-* features to Skylake* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit aa064b38fdbafd39d296a0933b7d1b8987eb4cb5) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Skylake-Client-IBRS.xml | 71 +++++++++++++++++ - src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml | 72 ++++++++++++++++++ - src/cpu_map/x86_Skylake-Client.xml | 71 +++++++++++++++++ - src/cpu_map/x86_Skylake-Server-IBRS.xml | 74 ++++++++++++++++++ - src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | 76 +++++++++++++++++++ - src/cpu_map/x86_Skylake-Server.xml | 74 ++++++++++++++++++ - 6 files changed, 438 insertions(+) - -diff --git a/src/cpu_map/x86_Skylake-Client-IBRS.xml b/src/cpu_map/x86_Skylake-Client-IBRS.xml -index 5709e7c2f9..1c77f9595b 100644 ---- a/src/cpu_map/x86_Skylake-Client-IBRS.xml -+++ b/src/cpu_map/x86_Skylake-Client-IBRS.xml -@@ -67,6 +67,77 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml -index ffba34502a..dca117028c 100644 ---- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml -+++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml -@@ -65,6 +65,78 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Skylake-Client.xml b/src/cpu_map/x86_Skylake-Client.xml -index 14cd57e176..68e5d2d038 100644 ---- a/src/cpu_map/x86_Skylake-Client.xml -+++ b/src/cpu_map/x86_Skylake-Client.xml -@@ -66,6 +66,77 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Skylake-Server-IBRS.xml b/src/cpu_map/x86_Skylake-Server-IBRS.xml -index 9fb3488809..e467b76242 100644 ---- a/src/cpu_map/x86_Skylake-Server-IBRS.xml -+++ b/src/cpu_map/x86_Skylake-Server-IBRS.xml -@@ -69,6 +69,80 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml -index c162c0acc3..b8601da0cb 100644 ---- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml -+++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml -@@ -67,6 +67,82 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu_map/x86_Skylake-Server.xml b/src/cpu_map/x86_Skylake-Server.xml -index e022d94c84..cc1e9ddd7f 100644 ---- a/src/cpu_map/x86_Skylake-Server.xml -+++ b/src/cpu_map/x86_Skylake-Server.xml -@@ -68,6 +68,80 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Snowridge.patch b/libvirt-Add-vmx-features-to-Snowridge.patch deleted file mode 100644 index 6b8c084..0000000 --- a/libvirt-Add-vmx-features-to-Snowridge.patch +++ /dev/null @@ -1,105 +0,0 @@ -From f17c2fa0717df3131262141d1167e3e29ed10442 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:05:53 +0100 -Subject: [PATCH] Add vmx-* features to Snowridge - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 64e3c1138a81b98f14e5f1aa1e8e2bb85cfdd1e5) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Snowridge.xml | 76 +++++++++++++++++++++++++++++++++++ - 1 file changed, 76 insertions(+) - -diff --git a/src/cpu_map/x86_Snowridge.xml b/src/cpu_map/x86_Snowridge.xml -index 383a24d367..bc410bd8f8 100644 ---- a/src/cpu_map/x86_Snowridge.xml -+++ b/src/cpu_map/x86_Snowridge.xml -@@ -62,6 +62,82 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-Westmere.patch b/libvirt-Add-vmx-features-to-Westmere.patch deleted file mode 100644 index d4fd112..0000000 --- a/libvirt-Add-vmx-features-to-Westmere.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 2ae337df8f993676695796819447e9601d611a0b Mon Sep 17 00:00:00 2001 -Message-ID: <2ae337df8f993676695796819447e9601d611a0b.1710860841.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:03:38 +0100 -Subject: [PATCH] Add vmx-* features to Westmere* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 6898b7cd8d61d46db7e92f6cf81daf085b85f724) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_Westmere-IBRS.xml | 63 +++++++++++++++++++++++++++++++ - src/cpu_map/x86_Westmere.xml | 63 +++++++++++++++++++++++++++++++ - 2 files changed, 126 insertions(+) - -diff --git a/src/cpu_map/x86_Westmere-IBRS.xml b/src/cpu_map/x86_Westmere-IBRS.xml -index c7898f0c22..a5abe8a1e1 100644 ---- a/src/cpu_map/x86_Westmere-IBRS.xml -+++ b/src/cpu_map/x86_Westmere-IBRS.xml -@@ -36,5 +36,68 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -diff --git a/src/cpu_map/x86_Westmere.xml b/src/cpu_map/x86_Westmere.xml -index 16e4ad6c30..161f1a078e 100644 ---- a/src/cpu_map/x86_Westmere.xml -+++ b/src/cpu_map/x86_Westmere.xml -@@ -37,5 +37,68 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-core-2-duo.patch b/libvirt-Add-vmx-features-to-core-2-duo.patch deleted file mode 100644 index 25e66e8..0000000 --- a/libvirt-Add-vmx-features-to-core-2-duo.patch +++ /dev/null @@ -1,83 +0,0 @@ -From dffe71c5a042c9b5c856f24a681d4f1ee5910041 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:06:13 +0100 -Subject: [PATCH] Add vmx-* features to core{,2}duo - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 823c7005a3b0d5275b30ca811479995bfa5820e9) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_core2duo.xml | 26 ++++++++++++++++++++++++++ - src/cpu_map/x86_coreduo.xml | 18 ++++++++++++++++++ - 2 files changed, 44 insertions(+) - -diff --git a/src/cpu_map/x86_core2duo.xml b/src/cpu_map/x86_core2duo.xml -index 412039fe55..ea23a6c662 100644 ---- a/src/cpu_map/x86_core2duo.xml -+++ b/src/cpu_map/x86_core2duo.xml -@@ -30,5 +30,31 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -diff --git a/src/cpu_map/x86_coreduo.xml b/src/cpu_map/x86_coreduo.xml -index e2fda9a1d4..24900e637f 100644 ---- a/src/cpu_map/x86_coreduo.xml -+++ b/src/cpu_map/x86_coreduo.xml -@@ -26,5 +26,23 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Add-vmx-features-to-kvm.patch b/libvirt-Add-vmx-features-to-kvm.patch deleted file mode 100644 index 29a5328..0000000 --- a/libvirt-Add-vmx-features-to-kvm.patch +++ /dev/null @@ -1,77 +0,0 @@ -From aa91aa81914303cfdd50fb695a23480d6daa11b1 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:06:37 +0100 -Subject: [PATCH] Add vmx-* features to kvm* - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -(cherry picked from commit 1d03f78c5d0fa2d3422e76bef4c9369ab623bd52) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu_map/x86_kvm32.xml | 18 ++++++++++++++++++ - src/cpu_map/x86_kvm64.xml | 20 ++++++++++++++++++++ - 2 files changed, 38 insertions(+) - -diff --git a/src/cpu_map/x86_kvm32.xml b/src/cpu_map/x86_kvm32.xml -index 9dd96d5b56..ac28c53bd0 100644 ---- a/src/cpu_map/x86_kvm32.xml -+++ b/src/cpu_map/x86_kvm32.xml -@@ -23,5 +23,23 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - -diff --git a/src/cpu_map/x86_kvm64.xml b/src/cpu_map/x86_kvm64.xml -index 185af06f78..970a8e73d5 100644 ---- a/src/cpu_map/x86_kvm64.xml -+++ b/src/cpu_map/x86_kvm64.xml -@@ -27,5 +27,25 @@ - - - -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - --- -2.44.0 diff --git a/libvirt-Don-t-overwrite-error-message-from-virXPathNodeSet.patch b/libvirt-Don-t-overwrite-error-message-from-virXPathNodeSet.patch deleted file mode 100644 index 9848939..0000000 --- a/libvirt-Don-t-overwrite-error-message-from-virXPathNodeSet.patch +++ /dev/null @@ -1,679 +0,0 @@ -From 9a31f486329e36bbe6f6156eb89d4d455fc0a7d8 Mon Sep 17 00:00:00 2001 -Message-ID: <9a31f486329e36bbe6f6156eb89d4d455fc0a7d8.1707394627.git.jdenemar@redhat.com> -From: Peter Krempa -Date: Mon, 29 Jan 2024 15:50:27 +0100 -Subject: [PATCH] Don't overwrite error message from 'virXPathNodeSet' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -'virXPathNodeSet' returns -1 only when 'ctxt' or 'xpath' are NULL or -when the 'xpath' string is invalid. Both are programming errors. It -doesn't make sense for the code to overwrite the error message for -anything supposedly more relevant. - -The majority of calls to 'virXPathNodeSet' already didn't do this, so -this patch fixes the rest to prevent it from spreading again. - -Signed-off-by: Peter Krempa -Reviewed-by: Ján Tomko -(cherry picked from commit a9f76d6ab7278864150d9f4776750ea22d7ef508) - -https://issues.redhat.com/browse/RHEL-22314 [9.4.0] ---- - src/conf/domain_conf.c | 78 +++++++------------------------ - src/conf/network_conf.c | 80 ++++++++------------------------ - src/conf/node_device_conf.c | 17 ++----- - src/conf/numa_conf.c | 15 +++--- - src/cpu/cpu_ppc64.c | 5 +- - src/qemu/qemu_capabilities.c | 30 +++--------- - src/qemu/qemu_domain.c | 23 +++------ - src/qemu/qemu_migration_cookie.c | 5 +- - src/qemu/qemu_nbdkit.c | 5 +- - src/vz/vz_sdk.c | 5 +- - 10 files changed, 72 insertions(+), 191 deletions(-) - -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index ac06fa39f6..52a5796ad2 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -17765,11 +17765,8 @@ virDomainResctrlMonDefParse(virDomainDef *def, - - ctxt->node = node; - -- if ((n = virXPathNodeSet("./monitor", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("Cannot extract monitor nodes")); -+ if ((n = virXPathNodeSet("./monitor", ctxt, &nodes)) < 0) - goto cleanup; -- } - - for (i = 0; i < n; i++) { - domresmon = g_new0(virDomainResctrlMonDef, 1); -@@ -17897,11 +17894,8 @@ virDomainCachetuneDefParse(virDomainDef *def, - if (virBitmapIsAllClear(vcpus)) - return 0; - -- if ((n = virXPathNodeSet("./cache", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("Cannot extract cache nodes under cachetune")); -+ if ((n = virXPathNodeSet("./cache", ctxt, &nodes)) < 0) - return -1; -- } - - if (virDomainResctrlVcpuMatch(def, vcpus, &resctrl) < 0) - return -1; -@@ -18167,11 +18161,8 @@ virDomainDefParseMemory(virDomainDef *def, - - if (virXPathNode("./memoryBacking/hugepages", ctxt)) { - /* hugepages will be used */ -- if ((n = virXPathNodeSet("./memoryBacking/hugepages/page", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract hugepages nodes")); -+ if ((n = virXPathNodeSet("./memoryBacking/hugepages/page", ctxt, &nodes)) < 0) - return -1; -- } - - if (n) { - def->mem.hugepages = g_new0(virDomainHugePage, n); -@@ -18255,11 +18246,8 @@ virDomainMemorytuneDefParse(virDomainDef *def, - if (virBitmapIsAllClear(vcpus)) - return 0; - -- if ((n = virXPathNodeSet("./node", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("Cannot extract memory nodes under memorytune")); -+ if ((n = virXPathNodeSet("./node", ctxt, &nodes)) < 0) - return -1; -- } - - if (virDomainResctrlVcpuMatch(def, vcpus, &resctrl) < 0) - return -1; -@@ -18326,11 +18314,9 @@ virDomainDefTunablesParse(virDomainDef *def, - &def->blkio.weight) < 0) - def->blkio.weight = 0; - -- if ((n = virXPathNodeSet("./blkiotune/device", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("cannot extract blkiotune nodes")); -+ if ((n = virXPathNodeSet("./blkiotune/device", ctxt, &nodes)) < 0) - return -1; -- } -+ - if (n) - def->blkio.devices = g_new0(virBlkioDevice, n); - -@@ -18441,11 +18427,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/emulatorpin", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract emulatorpin nodes")); -+ if ((n = virXPathNodeSet("./cputune/emulatorpin", ctxt, &nodes)) < 0) - return -1; -- } - - if (n) { - if (n > 1) { -@@ -18460,11 +18443,8 @@ virDomainDefTunablesParse(virDomainDef *def, - VIR_FREE(nodes); - - -- if ((n = virXPathNodeSet("./cputune/iothreadpin", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract iothreadpin nodes")); -+ if ((n = virXPathNodeSet("./cputune/iothreadpin", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - if (virDomainIOThreadPinDefParseXML(nodes[i], def) < 0) -@@ -18472,11 +18452,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/vcpusched", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract vcpusched nodes")); -+ if ((n = virXPathNodeSet("./cputune/vcpusched", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - if (virDomainVcpuThreadSchedParse(nodes[i], def) < 0) -@@ -18484,11 +18461,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/iothreadsched", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract iothreadsched nodes")); -+ if ((n = virXPathNodeSet("./cputune/iothreadsched", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - if (virDomainIOThreadSchedParse(nodes[i], def) < 0) -@@ -18496,11 +18470,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/emulatorsched", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract emulatorsched nodes")); -+ if ((n = virXPathNodeSet("./cputune/emulatorsched", ctxt, &nodes)) < 0) - return -1; -- } - - if (n) { - if (n > 1) { -@@ -18514,11 +18485,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/cachetune", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract cachetune nodes")); -+ if ((n = virXPathNodeSet("./cputune/cachetune", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - if (virDomainCachetuneDefParse(def, ctxt, nodes[i], flags) < 0) -@@ -18526,11 +18494,8 @@ virDomainDefTunablesParse(virDomainDef *def, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./cputune/memorytune", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract memorytune nodes")); -+ if ((n = virXPathNodeSet("./cputune/memorytune", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - if (virDomainMemorytuneDefParse(def, ctxt, nodes[i], flags) < 0) -@@ -18834,11 +18799,8 @@ virDomainDefParseXML(xmlXPathContextPtr ctxt, - !virDomainIOThreadIDArrayHasPin(def)) - def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO; - -- if ((n = virXPathNodeSet("./resource", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("cannot extract resource nodes")); -+ if ((n = virXPathNodeSet("./resource", ctxt, &nodes)) < 0) - return NULL; -- } - - if (n > 1) { - virReportError(VIR_ERR_XML_ERROR, "%s", -@@ -18886,11 +18848,9 @@ virDomainDefParseXML(xmlXPathContextPtr ctxt, - return NULL; - - /* analysis of the resource leases */ -- if ((n = virXPathNodeSet("./devices/lease", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("cannot extract device leases")); -+ if ((n = virXPathNodeSet("./devices/lease", ctxt, &nodes)) < 0) - return NULL; -- } -+ - if (n) - def->leases = g_new0(virDomainLeaseDef *, n); - for (i = 0; i < n; i++) { -@@ -19009,11 +18969,9 @@ virDomainDefParseXML(xmlXPathContextPtr ctxt, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./devices/console", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("cannot extract console devices")); -+ if ((n = virXPathNodeSet("./devices/console", ctxt, &nodes)) < 0) - return NULL; -- } -+ - if (n) - def->consoles = g_new0(virDomainChrDef *, n); - -diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c -index 6f8a0d2d0b..52c90e53f8 100644 ---- a/src/conf/network_conf.c -+++ b/src/conf/network_conf.c -@@ -892,13 +892,9 @@ virNetworkDNSDefParseXML(const char *networkName, - &def->forwardPlainNames) < 0) - return -1; - -- nfwds = virXPathNodeSet("./forwarder", ctxt, &fwdNodes); -- if (nfwds < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nfwds = virXPathNodeSet("./forwarder", ctxt, &fwdNodes)) < 0) - return -1; -- } -+ - if (nfwds > 0) { - def->forwarders = g_new0(virNetworkDNSForwarder, nfwds); - -@@ -922,13 +918,9 @@ virNetworkDNSDefParseXML(const char *networkName, - } - } - -- nhosts = virXPathNodeSet("./host", ctxt, &hostNodes); -- if (nhosts < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nhosts = virXPathNodeSet("./host", ctxt, &hostNodes)) < 0) - return -1; -- } -+ - if (nhosts > 0) { - def->hosts = g_new0(virNetworkDNSHostDef, nhosts); - -@@ -941,13 +933,9 @@ virNetworkDNSDefParseXML(const char *networkName, - } - } - -- nsrvs = virXPathNodeSet("./srv", ctxt, &srvNodes); -- if (nsrvs < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nsrvs = virXPathNodeSet("./srv", ctxt, &srvNodes)) < 0) - return -1; -- } -+ - if (nsrvs > 0) { - def->srvs = g_new0(virNetworkDNSSrvDef, nsrvs); - -@@ -960,13 +948,9 @@ virNetworkDNSDefParseXML(const char *networkName, - } - } - -- ntxts = virXPathNodeSet("./txt", ctxt, &txtNodes); -- if (ntxts < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((ntxts = virXPathNodeSet("./txt", ctxt, &txtNodes)) < 0) - return -1; -- } -+ - if (ntxts > 0) { - def->txts = g_new0(virNetworkDNSTxtDef, ntxts); - -@@ -1222,13 +1206,10 @@ virNetworkForwardNatDefParseXML(const char *networkName, - return -1; - - /* addresses for SNAT */ -- nNatAddrs = virXPathNodeSet("./address", ctxt, &natAddrNodes); -- if (nNatAddrs < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid
element found in of network %1$s"), -- networkName); -+ if ((nNatAddrs = virXPathNodeSet("./address", ctxt, &natAddrNodes)) < 0) - return -1; -- } else if (nNatAddrs > 1) { -+ -+ if (nNatAddrs > 1) { - virReportError(VIR_ERR_XML_ERROR, - _("Only one
element is allowed in in in network %1$s"), - networkName); -@@ -1284,13 +1265,10 @@ virNetworkForwardNatDefParseXML(const char *networkName, - } - - /* ports for SNAT and MASQUERADE */ -- nNatPorts = virXPathNodeSet("./port", ctxt, &natPortNodes); -- if (nNatPorts < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nNatPorts = virXPathNodeSet("./port", ctxt, &natPortNodes)) < 0) - return -1; -- } else if (nNatPorts > 1) { -+ -+ if (nNatPorts > 1) { - virReportError(VIR_ERR_XML_ERROR, - _("Only one element is allowed in in in network %1$s"), - networkName); -@@ -1358,37 +1336,19 @@ virNetworkForwardDefParseXML(const char *networkName, - } - - /* bridge and hostdev modes can use a pool of physical interfaces */ -- nForwardIfs = virXPathNodeSet("./interface", ctxt, &forwardIfNodes); -- if (nForwardIfs < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nForwardIfs = virXPathNodeSet("./interface", ctxt, &forwardIfNodes)) < 0) - return -1; -- } - -- nForwardAddrs = virXPathNodeSet("./address", ctxt, &forwardAddrNodes); -- if (nForwardAddrs < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid
element found in of network %1$s"), -- networkName); -+ if ((nForwardAddrs = virXPathNodeSet("./address", ctxt, &forwardAddrNodes)) < 0) - return -1; -- } - -- nForwardPfs = virXPathNodeSet("./pf", ctxt, &forwardPfNodes); -- if (nForwardPfs < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nForwardPfs = virXPathNodeSet("./pf", ctxt, &forwardPfNodes)) < 0) - return -1; -- } - -- nForwardNats = virXPathNodeSet("./nat", ctxt, &forwardNatNodes); -- if (nForwardNats < 0) { -- virReportError(VIR_ERR_XML_ERROR, -- _("invalid element found in of network %1$s"), -- networkName); -+ if ((nForwardNats = virXPathNodeSet("./nat", ctxt, &forwardNatNodes)) < 0) - return -1; -- } else if (nForwardNats > 1) { -+ -+ if (nForwardNats > 1) { - virReportError(VIR_ERR_XML_ERROR, - _("Only one element is allowed in of network %1$s"), - networkName); -diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c -index 95de77abe9..dd174d3020 100644 ---- a/src/conf/node_device_conf.c -+++ b/src/conf/node_device_conf.c -@@ -960,11 +960,9 @@ virNodeDeviceCapVPDParseCustomFields(xmlXPathContextPtr ctxt, virPCIVPDResource - g_autofree xmlNodePtr *nodes = NULL; - size_t i = 0; - -- if ((nfields = virXPathNodeSet("./vendor_field[@index]", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _("failed to evaluate elements")); -+ if ((nfields = virXPathNodeSet("./vendor_field[@index]", ctxt, &nodes)) < 0) - return -1; -- } -+ - for (i = 0; i < nfields; i++) { - g_autofree char *value = NULL; - g_autofree char *index = NULL; -@@ -989,11 +987,9 @@ virNodeDeviceCapVPDParseCustomFields(xmlXPathContextPtr ctxt, virPCIVPDResource - VIR_FREE(nodes); - - if (!readOnly) { -- if ((nfields = virXPathNodeSet("./system_field[@index]", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _("failed to evaluate elements")); -+ if ((nfields = virXPathNodeSet("./system_field[@index]", ctxt, &nodes)) < 0) - return -1; -- } -+ - for (i = 0; i < nfields; i++) { - g_autofree char *value = NULL; - g_autofree char *index = NULL; -@@ -1074,11 +1070,8 @@ virNodeDeviceCapVPDParseXML(xmlXPathContextPtr ctxt, virPCIVPDResource **res) - return -1; - } - -- if ((nfields = virXPathNodeSet("./fields[@access]", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _("no VPD elements with an access type attribute found")); -+ if ((nfields = virXPathNodeSet("./fields[@access]", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < nfields; i++) { - g_autofree char *access = NULL; -diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c -index bcd7838e00..d8120de6d2 100644 ---- a/src/conf/numa_conf.c -+++ b/src/conf/numa_conf.c -@@ -135,11 +135,8 @@ virDomainNumatuneNodeParseXML(virDomainNuma *numa, - size_t i = 0; - g_autofree xmlNodePtr *nodes = NULL; - -- if ((n = virXPathNodeSet("./numatune/memnode", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("Cannot extract memnode nodes")); -+ if ((n = virXPathNodeSet("./numatune/memnode", ctxt, &nodes)) < 0) - return -1; -- } - - if (!n) - return 0; -@@ -700,7 +697,10 @@ virDomainNumaDefNodeDistanceParseXML(virDomainNuma *def, - if (!virXPathNode("./distances[1]", ctxt)) - return 0; - -- if ((sibling = virXPathNodeSet("./distances[1]/sibling", ctxt, &nodes)) <= 0) { -+ if ((sibling = virXPathNodeSet("./distances[1]/sibling", ctxt, &nodes)) < 0) -+ goto cleanup; -+ -+ if (sibling == 0) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("NUMA distances defined without siblings")); - goto cleanup; -@@ -852,7 +852,10 @@ virDomainNumaDefParseXML(virDomainNuma *def, - if (!virXPathNode("./cpu/numa[1]", ctxt)) - return 0; - -- if ((n = virXPathNodeSet("./cpu/numa[1]/cell", ctxt, &cell)) <= 0) { -+ if ((n = virXPathNodeSet("./cpu/numa[1]/cell", ctxt, &cell)) < 0) -+ return -1; -+ -+ if (n == 0) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("NUMA topology defined without NUMA cells")); - return -1; -diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c -index e13cdbdf6b..448a0a7d85 100644 ---- a/src/cpu/cpu_ppc64.c -+++ b/src/cpu/cpu_ppc64.c -@@ -334,7 +334,10 @@ ppc64ModelParse(xmlXPathContextPtr ctxt, - } - } - -- if ((n = virXPathNodeSet("./pvr", ctxt, &nodes)) <= 0) { -+ if ((n = virXPathNodeSet("./pvr", ctxt, &nodes)) < 0) -+ return -1; -+ -+ if (n == 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Missing PVR information for CPU model %1$s"), - model->name); -diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c -index e13df2b27d..10090e0986 100644 ---- a/src/qemu/qemu_capabilities.c -+++ b/src/qemu/qemu_capabilities.c -@@ -4015,11 +4015,8 @@ virQEMUCapsLoadCPUModels(virArch arch, - int n; - xmlNodePtr node; - -- if ((n = virXPathNodeSet(xpath, ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu capabilities cpus")); -+ if ((n = virXPathNodeSet(xpath, ctxt, &nodes)) < 0) - return -1; -- } - - if (n == 0) - return 0; -@@ -4057,11 +4054,8 @@ virQEMUCapsLoadCPUModels(virArch arch, - nblockers = virXPathNodeSet("./blocker", ctxt, &blockerNodes); - ctxt->node = node; - -- if (nblockers < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse CPU blockers in QEMU capabilities")); -+ if (nblockers < 0) - return -1; -- } - - if (nblockers > 0) { - size_t j; -@@ -4100,11 +4094,8 @@ virQEMUCapsLoadMachines(virQEMUCapsAccel *caps, - size_t i; - int n; - -- if ((n = virXPathNodeSet(xpath, ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu capabilities machines")); -+ if ((n = virXPathNodeSet(xpath, ctxt, &nodes)) < 0) - return -1; -- } - - if (n == 0) - return 0; -@@ -4317,11 +4308,8 @@ virQEMUCapsParseSGXInfo(virQEMUCaps *qemuCaps, - ctxt->node = sgxSections; - nSgxSections = virXPathNodeSet("./section", ctxt, §ionNodes); - -- if (nSgxSections < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse SGX sections in QEMU capabilities cache")); -+ if (nSgxSections < 0) - return -1; -- } - - sgx->nSgxSections = nSgxSections; - sgx->sgxSections = g_new0(virSGXSection, nSgxSections); -@@ -4404,11 +4392,8 @@ virQEMUCapsParseFlags(virQEMUCaps *qemuCaps, xmlXPathContextPtr ctxt) - size_t i; - int n; - -- if ((n = virXPathNodeSet("./flag", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu capabilities flags")); -+ if ((n = virXPathNodeSet("./flag", ctxt, &nodes)) < 0) - return -1; -- } - - VIR_DEBUG("Got flags %d", n); - for (i = 0; i < n; i++) { -@@ -4442,11 +4427,8 @@ virQEMUCapsParseGIC(virQEMUCaps *qemuCaps, xmlXPathContextPtr ctxt) - size_t i; - int n; - -- if ((n = virXPathNodeSet("./gic", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu capabilities gic")); -+ if ((n = virXPathNodeSet("./gic", ctxt, &nodes)) < 0) - return -1; -- } - - if (n > 0) { - unsigned int uintValue; -diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c -index e2a1bf2c13..97520bb49c 100644 ---- a/src/qemu/qemu_domain.c -+++ b/src/qemu/qemu_domain.c -@@ -3155,11 +3155,8 @@ qemuDomainObjPrivateXMLParseSlirpFeatures(xmlNodePtr featuresNode, - - ctxt->node = featuresNode; - -- if ((n = virXPathNodeSet("./feature", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("failed to parse slirp-helper features")); -+ if ((n = virXPathNodeSet("./feature", ctxt, &nodes)) < 0) - return -1; -- } - - for (i = 0; i < n; i++) { - g_autofree char *str = virXMLPropString(nodes[i], "name"); -@@ -3273,11 +3270,9 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./qemuCaps/flag", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("failed to parse qemu capabilities flags")); -+ if ((n = virXPathNodeSet("./qemuCaps/flag", ctxt, &nodes)) < 0) - return -1; -- } -+ - if (n > 0) { - qemuCaps = virQEMUCapsNew(); - -@@ -3305,11 +3300,9 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, - - priv->fakeReboot = virXPathBoolean("boolean(./fakereboot)", ctxt) == 1; - -- if ((n = virXPathNodeSet("./devices/device", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu device list")); -+ if ((n = virXPathNodeSet("./devices/device", ctxt, &nodes)) < 0) - return -1; -- } -+ - if (n > 0) { - /* NULL-terminated list */ - priv->qemuDevices = g_new0(char *, n + 1); -@@ -3325,11 +3318,9 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, - } - VIR_FREE(nodes); - -- if ((n = virXPathNodeSet("./slirp/helper", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse slirp helper list")); -+ if ((n = virXPathNodeSet("./slirp/helper", ctxt, &nodes)) < 0) - return -1; -- } -+ - for (i = 0; i < n; i++) { - g_autofree char *alias = virXMLPropString(nodes[i], "alias"); - g_autofree char *pid = virXMLPropString(nodes[i], "pid"); -diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c -index 5505fdaf22..4361949cca 100644 ---- a/src/qemu/qemu_migration_cookie.c -+++ b/src/qemu/qemu_migration_cookie.c -@@ -947,11 +947,8 @@ qemuMigrationCookieNetworkXMLParse(xmlXPathContextPtr ctxt) - g_autofree xmlNodePtr *interfaces = NULL; - VIR_XPATH_NODE_AUTORESTORE(ctxt) - -- if ((n = virXPathNodeSet("./network/interface", ctxt, &interfaces)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, -- "%s", _("missing interface information")); -+ if ((n = virXPathNodeSet("./network/interface", ctxt, &interfaces)) < 0) - return NULL; -- } - - optr->nnets = n; - optr->net = g_new0(qemuMigrationCookieNetData, optr->nnets); -diff --git a/src/qemu/qemu_nbdkit.c b/src/qemu/qemu_nbdkit.c -index 85e61be44c..3343241aaf 100644 ---- a/src/qemu/qemu_nbdkit.c -+++ b/src/qemu/qemu_nbdkit.c -@@ -400,11 +400,8 @@ qemuNbdkitCapsParseFlags(qemuNbdkitCaps *nbdkitCaps, - size_t i; - int n; - -- if ((n = virXPathNodeSet("./flag", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("failed to parse qemu capabilities flags")); -+ if ((n = virXPathNodeSet("./flag", ctxt, &nodes)) < 0) - return -1; -- } - - VIR_DEBUG("Got flags %d", n); - for (i = 0; i < n; i++) { -diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c -index 6a15d60577..ce4586a3f5 100644 ---- a/src/vz/vz_sdk.c -+++ b/src/vz/vz_sdk.c -@@ -4612,11 +4612,8 @@ prlsdkParseSnapshotTree(const char *treexml) - "ParallelsSavedStates", &ctxt, NULL, false))) - goto cleanup; - -- if ((n = virXPathNodeSet("//SavedStateItem", ctxt, &nodes)) < 0) { -- virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -- _("cannot extract snapshot nodes")); -+ if ((n = virXPathNodeSet("//SavedStateItem", ctxt, &nodes)) < 0) - goto cleanup; -- } - - for (i = 0; i < n; i++) { - if (nodes[i]->parent == xmlDocGetRootElement(xml)) --- -2.43.0 diff --git a/libvirt-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch b/libvirt-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch deleted file mode 100644 index 1a441b7..0000000 --- a/libvirt-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 68f2278d84fe560123c2ec34275380ed1086b706 Mon Sep 17 00:00:00 2001 -Message-ID: <68f2278d84fe560123c2ec34275380ed1086b706.1713796876.git.jdenemar@redhat.com> -From: Martin Kletzander -Date: Tue, 27 Feb 2024 16:20:12 +0100 -Subject: [PATCH] Fix off-by-one error in udevListInterfacesByStatus -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ever since this function was introduced in 2012 it could've tried -filling in an extra interface name. That was made worse in 2019 when -the caller functions started accepting NULL arrays of size 0. - -This is assigned CVE-2024-1441. - -Signed-off-by: Martin Kletzander -Reported-by: Alexander Kuznetsov -Fixes: 5a33366f5c0b18c93d161bd144f9f079de4ac8ca -Fixes: d6064e2759a24e0802f363e3a810dc5a7d7ebb15 -Reviewed-by: Ján Tomko -(cherry picked from commit c664015fe3a7bf59db26686e9ed69af011c6ebb8) - -Conflicts: - - NEWS.rst: Removed the hunk - -Resolves: https://issues.redhat.com/browse/RHEL-25081 -Signed-off-by: Martin Kletzander ---- - src/interface/interface_backend_udev.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c -index fb6799ed94..4091483060 100644 ---- a/src/interface/interface_backend_udev.c -+++ b/src/interface/interface_backend_udev.c -@@ -222,7 +222,7 @@ udevListInterfacesByStatus(virConnectPtr conn, - g_autoptr(virInterfaceDef) def = NULL; - - /* Ensure we won't exceed the size of our array */ -- if (count > names_len) -+ if (count >= names_len) - break; - - path = udev_list_entry_get_name(dev_entry); --- -2.44.0 diff --git a/libvirt-Set-stubDriverName-from-hostdev-driver-model-attribute-during-pci-device-setup.patch b/libvirt-Set-stubDriverName-from-hostdev-driver-model-attribute-during-pci-device-setup.patch deleted file mode 100644 index d3902f1..0000000 --- a/libvirt-Set-stubDriverName-from-hostdev-driver-model-attribute-during-pci-device-setup.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 676946491ea25cacc4f6fd11f27bd9989b84767d Mon Sep 17 00:00:00 2001 -Message-ID: <676946491ea25cacc4f6fd11f27bd9989b84767d.1708614745.git.jdenemar@redhat.com> -From: Laine Stump -Date: Fri, 16 Feb 2024 12:43:59 -0500 -Subject: [PATCH] Set stubDriverName from hostdev driver model attribute during - pci device setup - -commit v9.10.0-129-g8b93d78c83 (first appearing in libvirt-10.0.0) was -supposed to allow forcing a PCI hostdev to be bound to a particular -driver by adding to the XML for the -device. Unfortunately, a single line was missed during the final -changes to the patch prior to pushing, and the result was that the -driver model could be set to *anything* and it would be accepted but -just ignored. - -This patch adds the missing line, which will set the stubDriverName -field of the virPCIDevice object from the hostdev object as the -virPCIDevice is being created. This ends up being used by -virPCIDeviceBindToStub() as the driver that it binds the device to. - -Fixes: 8b93d78c8325f1fba5db98848350f3db43f5e7d5 -Signed-off-by: Laine Stump -Reviewed-by: Reviewed-by: Michal Privoznik -(cherry picked from commit 41fe8524870facae02be067097ea494c475d77f0) - -https://issues.redhat.com/browse/RHEL-25858 [9.4.0] ---- - src/hypervisor/virhostdev.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c -index 40f8a4bc2c..185ec2ca50 100644 ---- a/src/hypervisor/virhostdev.c -+++ b/src/hypervisor/virhostdev.c -@@ -242,6 +242,7 @@ virHostdevGetPCIHostDevice(const virDomainHostdevDef *hostdev, - return -1; - - virPCIDeviceSetManaged(actual, hostdev->managed); -+ virPCIDeviceSetStubDriverName(actual, pcisrc->driver.model); - - if (pcisrc->driver.name == VIR_DEVICE_HOSTDEV_PCI_DRIVER_NAME_VFIO) { - virPCIDeviceSetStubDriverType(actual, VIR_PCI_STUB_DRIVER_VFIO); --- -2.43.2 diff --git a/libvirt-build-Make-daemons-depend-on-generated-_protocol.-ch.patch b/libvirt-build-Make-daemons-depend-on-generated-_protocol.-ch.patch deleted file mode 100644 index 5e2e48b..0000000 --- a/libvirt-build-Make-daemons-depend-on-generated-_protocol.-ch.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 5359921ef11b68dab549b6b28ba11a784e6946a5 Mon Sep 17 00:00:00 2001 -Message-ID: <5359921ef11b68dab549b6b28ba11a784e6946a5.1706524416.git.jdenemar@redhat.com> -From: Jiri Denemark -Date: Wed, 24 Jan 2024 19:23:54 +0100 -Subject: [PATCH] build: Make daemons depend on generated *_protocol.[ch] -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This should fix build failures when a daemon code is compiled before the -included *_protocol.h headers are ready, such as: - - FAILED: src/virtqemud.p/remote_remote_daemon_config.c.o - ../src/remote/remote_daemon_config.c: In function ‘daemonConfigNew’: - ../src/remote/remote_daemon_config.c:111:30: error: - ‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function) - 111 | data->auth_unix_rw = REMOTE_AUTH_POLKIT; - | ^~~~~~~~~~~~~~~~~~ - ../src/remote/remote_daemon_config.c:111:30: note: each undeclared - identifier is reported only once for each function it appears in - ../src/remote/remote_daemon_config.c:115:30: error: - ‘REMOTE_AUTH_NONE’ undeclared (first use in this function) - 115 | data->auth_unix_rw = REMOTE_AUTH_NONE; - | ^~~~~~~~~~~~~~~~ - ../src/remote/remote_daemon_config.c: In function - ‘daemonConfigLoadOptions’: - ../src/remote/remote_daemon_config.c:252:31: error: - ‘REMOTE_AUTH_POLKIT’ undeclared (first use in this function) - 252 | if (data->auth_unix_rw == REMOTE_AUTH_POLKIT) { - | ^~~~~~~~~~~~~~~~~~ - -or - - FAILED: src/virtqemud.p/remote_remote_daemon_dispatch.c.o - In file included from ../src/remote/remote_daemon.h:28, - from ../src/remote/remote_daemon_dispatch.c:26: - src/remote/lxc_protocol.h:13:5: error: - unknown type name ‘remote_nonnull_domain’ - 13 | remote_nonnull_domain dom; - | ^~~~~~~~~~~~~~~~~~~~~ - In file included from ../src/remote/remote_daemon.h:29, - from ../src/remote/remote_daemon_dispatch.c:26: - src/remote/qemu_protocol.h:13:5: error: - unknown type name ‘remote_nonnull_domain’ - 13 | remote_nonnull_domain dom; - | ^~~~~~~~~~~~~~~~~~~~~ - src/remote/qemu_protocol.h:14:5: error: - unknown type name ‘remote_nonnull_string’ - 14 | remote_nonnull_string cmd; - | ^~~~~~~~~~~~~~~~~~~~~ - ... - -Signed-off-by: Jiri Denemark -Reviewed-by: Daniel P. Berrangé -(cherry picked from commit dcfe548cb01d64e2bdeac456c428e578158232b9) - -https://issues.redhat.com/browse/RHEL-15267 - -Signed-off-by: Jiri Denemark ---- - po/meson.build | 1 + - src/meson.build | 6 +++++- - src/remote/meson.build | 15 +++++++++++---- - 3 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/po/meson.build b/po/meson.build -index a20877ad34..592b254447 100644 ---- a/po/meson.build -+++ b/po/meson.build -@@ -20,6 +20,7 @@ potfiles_dep = [ - access_gen_sources, - admin_client_generated, - admin_driver_generated, -+ remote_protocol_generated, - remote_driver_generated, - remote_daemon_generated, - ] -diff --git a/src/meson.build b/src/meson.build -index 6538c43628..f52d2d5994 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -616,7 +616,11 @@ foreach daemon : virt_daemons - bin = executable( - daemon['name'], - [ -- daemon.get('sources', [ remote_daemon_sources, remote_daemon_generated ]), -+ daemon.get('sources', [ -+ remote_protocol_generated, -+ remote_daemon_sources, -+ remote_daemon_generated -+ ]), - dtrace_gen_objects, - ], - c_args: [ -diff --git a/src/remote/meson.build b/src/remote/meson.build -index 16b903fcaf..43bf2d0083 100644 ---- a/src/remote/meson.build -+++ b/src/remote/meson.build -@@ -7,8 +7,6 @@ remote_driver_generated = [] - - foreach name : [ 'remote', 'qemu', 'lxc' ] - client_bodies_h = '@0@_client_bodies.h'.format(name) -- protocol_c = '@0@_protocol.c'.format(name) -- protocol_h = '@0@_protocol.h'.format(name) - protocol_x = '@0@_protocol.x'.format(name) - - remote_driver_generated += custom_target( -@@ -20,8 +18,16 @@ foreach name : [ 'remote', 'qemu', 'lxc' ] - ], - capture: true, - ) -+endforeach - -- remote_driver_generated += custom_target( -+remote_protocol_generated = [] -+ -+foreach name : [ 'remote', 'qemu', 'lxc' ] -+ protocol_c = '@0@_protocol.c'.format(name) -+ protocol_h = '@0@_protocol.h'.format(name) -+ protocol_x = '@0@_protocol.x'.format(name) -+ -+ remote_protocol_generated += custom_target( - protocol_h, - input: protocol_x, - output: protocol_h, -@@ -32,7 +38,7 @@ foreach name : [ 'remote', 'qemu', 'lxc' ] - ], - ) - -- remote_driver_generated += custom_target( -+ remote_protocol_generated += custom_target( - protocol_c, - input: protocol_x, - output: protocol_c, -@@ -143,6 +149,7 @@ if conf.has('WITH_REMOTE') - remote_driver_lib = static_library( - 'virt_remote_driver', - [ -+ remote_protocol_generated, - remote_driver_sources, - remote_driver_generated, - ], --- -2.43.0 diff --git a/libvirt-conf-Allow-specifying-CPU-clusters.patch b/libvirt-conf-Allow-specifying-CPU-clusters.patch deleted file mode 100644 index 717c077..0000000 --- a/libvirt-conf-Allow-specifying-CPU-clusters.patch +++ /dev/null @@ -1,976 +0,0 @@ -From 413d6c8c6490caa5ec5479ab10aa493677cc45c0 Mon Sep 17 00:00:00 2001 -Message-ID: <413d6c8c6490caa5ec5479ab10aa493677cc45c0.1706524416.git.jdenemar@redhat.com> -From: Andrea Bolognani -Date: Fri, 5 Jan 2024 18:20:14 +0100 -Subject: [PATCH] conf: Allow specifying CPU clusters - -The default number of CPU clusters is 1, and values other than -that one are currently rejected by all hypervisor drivers. - -Signed-off-by: Andrea Bolognani -Reviewed-by: Peter Krempa -(cherry picked from commit ef5c397584b1d03a81c74c27074ec4b1a05d3339) - -https://issues.redhat.com/browse/RHEL-7043 - -Signed-off-by: Andrea Bolognani ---- - src/bhyve/bhyve_command.c | 5 +++++ - src/conf/cpu_conf.c | 16 +++++++++++++++- - src/conf/cpu_conf.h | 1 + - src/conf/domain_conf.c | 1 + - src/conf/schemas/cputypes.rng | 5 +++++ - src/cpu/cpu.c | 1 + - src/libxl/libxl_capabilities.c | 1 + - src/qemu/qemu_command.c | 5 +++++ - src/vmx/vmx.c | 7 +++++++ - .../x86_64-host+guest,model486-result.xml | 2 +- - .../x86_64-host+guest,models-result.xml | 2 +- - tests/cputestdata/x86_64-host+guest-result.xml | 2 +- - tests/cputestdata/x86_64-host+guest.xml | 2 +- - .../x86_64-host+host-model-nofallback.xml | 2 +- - ...host-Haswell-noTSX+Haswell,haswell-result.xml | 2 +- - ...aswell-noTSX+Haswell-noTSX,haswell-result.xml | 2 +- - ...4-host-Haswell-noTSX+Haswell-noTSX-result.xml | 2 +- - .../x86_64-host-worse+guest-result.xml | 2 +- - .../ppc64-modern-bulk-result-conf.xml | 2 +- - .../ppc64-modern-bulk-result-live.xml | 2 +- - .../ppc64-modern-individual-result-conf.xml | 2 +- - .../ppc64-modern-individual-result-live.xml | 2 +- - .../x86-modern-bulk-result-conf.xml | 2 +- - .../x86-modern-bulk-result-live.xml | 2 +- - .../x86-modern-individual-add-result-conf.xml | 2 +- - .../x86-modern-individual-add-result-live.xml | 2 +- - ...e-timeout+graphics-spice-timeout-password.xml | 2 +- - .../qemuhotplug-graphics-spice-timeout.xml | 2 +- - .../fd-memory-no-numa-topology.xml | 2 +- - .../qemuxml2argvdata/fd-memory-numa-topology.xml | 2 +- - .../fd-memory-numa-topology2.xml | 2 +- - .../fd-memory-numa-topology3.xml | 2 +- - tests/qemuxml2argvdata/hugepages-nvdimm.xml | 2 +- - .../memfd-memory-default-hugepage.xml | 2 +- - tests/qemuxml2argvdata/memfd-memory-numa.xml | 2 +- - .../memory-hotplug-nvdimm-access.xml | 2 +- - .../memory-hotplug-nvdimm-align.xml | 2 +- - .../memory-hotplug-nvdimm-label.xml | 2 +- - .../memory-hotplug-nvdimm-pmem.xml | 2 +- - .../memory-hotplug-nvdimm-readonly.xml | 2 +- - tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml | 2 +- - .../memory-hotplug-virtio-mem.xml | 2 +- - .../memory-hotplug-virtio-pmem.xml | 2 +- - .../cpu-numa-disjoint.x86_64-latest.xml | 2 +- - .../cpu-numa-disordered.x86_64-latest.xml | 2 +- - .../cpu-numa-memshared.x86_64-latest.xml | 2 +- - .../cpu-numa-no-memory-element.x86_64-latest.xml | 2 +- - .../cpu-numa1.x86_64-latest.xml | 2 +- - .../cpu-numa2.x86_64-latest.xml | 2 +- - .../memory-hotplug-dimm-addr.x86_64-latest.xml | 2 +- - .../memory-hotplug-dimm.x86_64-latest.xml | 2 +- - .../memory-hotplug-multiple.x86_64-latest.xml | 2 +- - ...plug-nvdimm-ppc64-abi-update.ppc64-latest.xml | 2 +- - .../memory-hotplug-nvdimm-ppc64.ppc64-latest.xml | 2 +- - .../memory-hotplug.x86_64-latest.xml | 2 +- - ...mad-auto-memory-vcpu-cpuset.x86_64-latest.xml | 2 +- - ...cpu-no-cpuset-and-placement.x86_64-latest.xml | 2 +- - ...numad-auto-vcpu-no-numatune.x86_64-latest.xml | 2 +- - ...mad-static-vcpu-no-numatune.x86_64-latest.xml | 2 +- - .../pci-expander-bus.x86_64-latest.xml | 2 +- - .../pcie-expander-bus.x86_64-latest.xml | 2 +- - .../pseries-phb-numa-node.ppc64-latest.xml | 2 +- - tests/vmx2xmldata/esx-in-the-wild-10.xml | 2 +- - tests/vmx2xmldata/esx-in-the-wild-8.xml | 2 +- - tests/vmx2xmldata/esx-in-the-wild-9.xml | 2 +- - 65 files changed, 97 insertions(+), 57 deletions(-) - -diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c -index 5b388c7a8f..d05b01ae5d 100644 ---- a/src/bhyve/bhyve_command.c -+++ b/src/bhyve/bhyve_command.c -@@ -672,6 +672,11 @@ virBhyveProcessBuildBhyveCmd(struct _bhyveConn *driver, virDomainDef *def, - _("Only 1 die per socket is supported")); - return NULL; - } -+ if (def->cpu->clusters != 1) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("Only 1 cluster per die is supported")); -+ return NULL; -+ } - if (nvcpus != def->cpu->sockets * def->cpu->cores * def->cpu->threads) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Invalid CPU topology: total number of vCPUs must equal the product of sockets, cores, and threads")); -diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c -index 7abe489733..6e6e1b9a89 100644 ---- a/src/conf/cpu_conf.c -+++ b/src/conf/cpu_conf.c -@@ -241,6 +241,7 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu) - copy->fallback = cpu->fallback; - copy->sockets = cpu->sockets; - copy->dies = cpu->dies; -+ copy->clusters = cpu->clusters; - copy->cores = cpu->cores; - copy->threads = cpu->threads; - copy->arch = cpu->arch; -@@ -572,6 +573,12 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, - return -1; - } - -+ if (virXMLPropUIntDefault(topology, "clusters", 10, -+ VIR_XML_PROP_NONZERO, -+ &def->clusters, 1) < 0) { -+ return -1; -+ } -+ - if (virXMLPropUInt(topology, "cores", 10, - VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO, - &def->cores) < 0) { -@@ -827,10 +834,11 @@ virCPUDefFormatBuf(virBuffer *buf, - virBufferAddLit(buf, "/>\n"); - } - -- if (def->sockets && def->dies && def->cores && def->threads) { -+ if (def->sockets && def->dies && def->clusters && def->cores && def->threads) { - virBufferAddLit(buf, "sockets); - virBufferAsprintf(buf, " dies='%u'", def->dies); -+ virBufferAsprintf(buf, " clusters='%u'", def->clusters); - virBufferAsprintf(buf, " cores='%u'", def->cores); - virBufferAsprintf(buf, " threads='%u'", def->threads); - virBufferAddLit(buf, "/>\n"); -@@ -1106,6 +1114,12 @@ virCPUDefIsEqual(virCPUDef *src, - return false; - } - -+ if (src->clusters != dst->clusters) { -+ MISMATCH(_("Target CPU clusters %1$d does not match source %2$d"), -+ dst->clusters, src->clusters); -+ return false; -+ } -+ - if (src->cores != dst->cores) { - MISMATCH(_("Target CPU cores %1$d does not match source %2$d"), - dst->cores, src->cores); -diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h -index 3e4c53675c..2694022fed 100644 ---- a/src/conf/cpu_conf.h -+++ b/src/conf/cpu_conf.h -@@ -148,6 +148,7 @@ struct _virCPUDef { - unsigned int microcodeVersion; - unsigned int sockets; - unsigned int dies; -+ unsigned int clusters; - unsigned int cores; - unsigned int threads; - unsigned int sigFamily; -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 5d55d2acda..6211d2a51b 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -2316,6 +2316,7 @@ virDomainDefGetVcpusTopology(const virDomainDef *def, - - /* multiplication of 32bit numbers fits into a 64bit variable */ - if ((tmp *= def->cpu->dies) > UINT_MAX || -+ (tmp *= def->cpu->clusters) > UINT_MAX || - (tmp *= def->cpu->cores) > UINT_MAX || - (tmp *= def->cpu->threads) > UINT_MAX) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -diff --git a/src/conf/schemas/cputypes.rng b/src/conf/schemas/cputypes.rng -index db1aa57158..3a8910e09f 100644 ---- a/src/conf/schemas/cputypes.rng -+++ b/src/conf/schemas/cputypes.rng -@@ -92,6 +92,11 @@ - - - -+ -+ -+ -+ -+ - - - -diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c -index bc43aa4e93..4f048d0dad 100644 ---- a/src/cpu/cpu.c -+++ b/src/cpu/cpu.c -@@ -435,6 +435,7 @@ virCPUGetHost(virArch arch, - if (nodeInfo) { - cpu->sockets = nodeInfo->sockets; - cpu->dies = 1; -+ cpu->clusters = 1; - cpu->cores = nodeInfo->cores; - cpu->threads = nodeInfo->threads; - } -diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c -index dfb602ca2f..522256777d 100644 ---- a/src/libxl/libxl_capabilities.c -+++ b/src/libxl/libxl_capabilities.c -@@ -152,6 +152,7 @@ libxlCapsInitCPU(virCaps *caps, libxl_physinfo *phy_info) - cpu->cores = phy_info->cores_per_socket; - cpu->threads = phy_info->threads_per_core; - cpu->dies = 1; -+ cpu->clusters = 1; - cpu->sockets = phy_info->nr_cpus / (cpu->cores * cpu->threads); - - if (!(data = libxlCapsNodeData(cpu, phy_info->hw_cap)) || -diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c -index 653817173b..71daa85e55 100644 ---- a/src/qemu/qemu_command.c -+++ b/src/qemu/qemu_command.c -@@ -7226,6 +7226,11 @@ qemuBuildSmpCommandLine(virCommand *cmd, - _("Only 1 die per socket is supported")); - return -1; - } -+ if (def->cpu->clusters != 1) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("Only 1 cluster per die is supported")); -+ return -1; -+ } - virBufferAsprintf(&buf, ",sockets=%u", def->cpu->sockets); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SMP_DIES)) - virBufferAsprintf(&buf, ",dies=%u", def->cpu->dies); -diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c -index 26b89776e1..4ac2320251 100644 ---- a/src/vmx/vmx.c -+++ b/src/vmx/vmx.c -@@ -1583,6 +1583,7 @@ virVMXParseConfig(virVMXContext *ctx, - goto cleanup; - } - cpu->dies = 1; -+ cpu->clusters = 1; - cpu->cores = coresPerSocket; - cpu->threads = 1; - -@@ -3377,6 +3378,12 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOption *xmlopt, virDomainDef - goto cleanup; - } - -+ if (def->cpu->clusters != 1) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("Only 1 cluster per die is supported")); -+ goto cleanup; -+ } -+ - calculated_vcpus = def->cpu->sockets * def->cpu->cores; - if (calculated_vcpus != maxvcpus) { - virReportError(VIR_ERR_INTERNAL_ERROR, -diff --git a/tests/cputestdata/x86_64-host+guest,model486-result.xml b/tests/cputestdata/x86_64-host+guest,model486-result.xml -index ea8e2d3a48..b533f22b88 100644 ---- a/tests/cputestdata/x86_64-host+guest,model486-result.xml -+++ b/tests/cputestdata/x86_64-host+guest,model486-result.xml -@@ -1,6 +1,6 @@ - - 486 -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host+guest,models-result.xml b/tests/cputestdata/x86_64-host+guest,models-result.xml -index 42664a48b4..e975d9bc18 100644 ---- a/tests/cputestdata/x86_64-host+guest,models-result.xml -+++ b/tests/cputestdata/x86_64-host+guest,models-result.xml -@@ -1,6 +1,6 @@ - - qemu64 -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host+guest-result.xml b/tests/cputestdata/x86_64-host+guest-result.xml -index 28e3152cbf..cf41b3f872 100644 ---- a/tests/cputestdata/x86_64-host+guest-result.xml -+++ b/tests/cputestdata/x86_64-host+guest-result.xml -@@ -1,6 +1,6 @@ - - Penryn -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host+guest.xml b/tests/cputestdata/x86_64-host+guest.xml -index 28e3152cbf..cf41b3f872 100644 ---- a/tests/cputestdata/x86_64-host+guest.xml -+++ b/tests/cputestdata/x86_64-host+guest.xml -@@ -1,6 +1,6 @@ - - Penryn -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host+host-model-nofallback.xml b/tests/cputestdata/x86_64-host+host-model-nofallback.xml -index 16d6e1daf2..881eea7bd0 100644 ---- a/tests/cputestdata/x86_64-host+host-model-nofallback.xml -+++ b/tests/cputestdata/x86_64-host+host-model-nofallback.xml -@@ -1,7 +1,7 @@ - - Penryn - Intel -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml -index 8eda6684a0..67994c62cc 100644 ---- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml -+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell,haswell-result.xml -@@ -1,6 +1,6 @@ - - Haswell -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml -index cb02449d60..4804c0b818 100644 ---- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml -+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX,haswell-result.xml -@@ -1,6 +1,6 @@ - - Haswell -- -+ - - - -diff --git a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml -index 7ee926aba8..c21b331248 100644 ---- a/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml -+++ b/tests/cputestdata/x86_64-host-Haswell-noTSX+Haswell-noTSX-result.xml -@@ -1,4 +1,4 @@ - - Haswell-noTSX -- -+ - -diff --git a/tests/cputestdata/x86_64-host-worse+guest-result.xml b/tests/cputestdata/x86_64-host-worse+guest-result.xml -index 9d54c66a8f..712c3ad341 100644 ---- a/tests/cputestdata/x86_64-host-worse+guest-result.xml -+++ b/tests/cputestdata/x86_64-host-worse+guest-result.xml -@@ -1,6 +1,6 @@ - - Penryn -- -+ - - - -diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml -index ad11b2f8a6..1a0d28257e 100644 ---- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml -+++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-conf.xml -@@ -44,7 +44,7 @@ - - - POWER9 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml -index 2a3b4a495f..b127883b36 100644 ---- a/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml -+++ b/tests/qemuhotplugtestcpus/ppc64-modern-bulk-result-live.xml -@@ -44,7 +44,7 @@ - - - POWER9 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml -index 34aec9b965..29f1a5ac45 100644 ---- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml -+++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-conf.xml -@@ -44,7 +44,7 @@ - - - POWER9 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml -index 5ce2cfd0b0..76a85ac9f0 100644 ---- a/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml -+++ b/tests/qemuhotplugtestcpus/ppc64-modern-individual-result-live.xml -@@ -44,7 +44,7 @@ - - - POWER9 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml -index 8d52ffedb4..bec46987ff 100644 ---- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml -+++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-conf.xml -@@ -20,7 +20,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml -index f416397e33..be9769c686 100644 ---- a/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml -+++ b/tests/qemuhotplugtestcpus/x86-modern-bulk-result-live.xml -@@ -20,7 +20,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml -index 0bd2af8e43..539f607818 100644 ---- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml -+++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-conf.xml -@@ -20,7 +20,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml -index b31e6ebe55..acbdd3cfd5 100644 ---- a/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml -+++ b/tests/qemuhotplugtestcpus/x86-modern-individual-add-result-live.xml -@@ -20,7 +20,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout+graphics-spice-timeout-password.xml b/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout+graphics-spice-timeout-password.xml -index 03964ad01c..ee53339338 100644 ---- a/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout+graphics-spice-timeout-password.xml -+++ b/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout+graphics-spice-timeout-password.xml -@@ -18,7 +18,7 @@ - - core2duo - Intel -- -+ - - - -diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout.xml b/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout.xml -index e6b0cc833a..eb9b902fc5 100644 ---- a/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout.xml -+++ b/tests/qemuhotplugtestdomains/qemuhotplug-graphics-spice-timeout.xml -@@ -18,7 +18,7 @@ - - core2duo - Intel -- -+ - - - -diff --git a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml -index 2090bb8288..92f418fb88 100644 ---- a/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml -+++ b/tests/qemuxml2argvdata/fd-memory-no-numa-topology.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml -index 2f94690656..543509d832 100644 ---- a/tests/qemuxml2argvdata/fd-memory-numa-topology.xml -+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml -index 3a4e9b478e..d3b98da3c6 100644 ---- a/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml -+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology2.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml -index 0f7f74283b..459d1b9d1d 100644 ---- a/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml -+++ b/tests/qemuxml2argvdata/fd-memory-numa-topology3.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.xml b/tests/qemuxml2argvdata/hugepages-nvdimm.xml -index 1a1500895b..b786b0d3dd 100644 ---- a/tests/qemuxml2argvdata/hugepages-nvdimm.xml -+++ b/tests/qemuxml2argvdata/hugepages-nvdimm.xml -@@ -17,7 +17,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml -index 238d4c6b52..a70bd53134 100644 ---- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml -+++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.xml -@@ -19,7 +19,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.xml b/tests/qemuxml2argvdata/memfd-memory-numa.xml -index 1ac87e3aef..0c5d7ba4ef 100644 ---- a/tests/qemuxml2argvdata/memfd-memory-numa.xml -+++ b/tests/qemuxml2argvdata/memfd-memory-numa.xml -@@ -22,7 +22,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml -index bee0346aca..84baf82bf5 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml -index decf87db63..664418e805 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml -index 8a0dab3908..f998f7f276 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml -index a712adfe1e..d66481fd35 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml -index 57629ccb8c..56d6b7b712 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml -index 865ddcf0ea..ff6e3b7b0f 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -index c578209d8a..52fa6b14e9 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -@@ -11,7 +11,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml b/tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml -index a8b22dd3c5..2786a739ad 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml -@@ -11,7 +11,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.x86_64-latest.xml -index fa2ec31463..4f33094949 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa-disjoint.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa-disjoint.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa-disordered.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa-disordered.x86_64-latest.xml -index 1b4d0bfa67..75dcb8c9e2 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa-disordered.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa-disordered.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa-memshared.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa-memshared.x86_64-latest.xml -index 47ed9efd69..c45e295921 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa-memshared.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa-memshared.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.x86_64-latest.xml -index 57bbacdff0..663d137ff5 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa-no-memory-element.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa1.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa1.x86_64-latest.xml -index 57bbacdff0..663d137ff5 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa1.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa1.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/cpu-numa2.x86_64-latest.xml b/tests/qemuxml2xmloutdata/cpu-numa2.x86_64-latest.xml -index 57bbacdff0..663d137ff5 100644 ---- a/tests/qemuxml2xmloutdata/cpu-numa2.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/cpu-numa2.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-dimm-addr.x86_64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug-dimm-addr.x86_64-latest.xml -index 0a32d5491a..38b41e6719 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug-dimm-addr.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug-dimm-addr.x86_64-latest.xml -@@ -11,7 +11,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.x86_64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.x86_64-latest.xml -index 7c1b7b2c5d..7f0dc85c0e 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug-dimm.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug-dimm.x86_64-latest.xml -@@ -15,7 +15,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-multiple.x86_64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug-multiple.x86_64-latest.xml -index 42b0f7b880..b3306fb569 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug-multiple.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug-multiple.x86_64-latest.xml -@@ -11,7 +11,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml -index ae157c4849..4cc0c674df 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64-abi-update.ppc64-latest.xml -@@ -11,7 +11,7 @@ - - - POWER9 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64.ppc64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64.ppc64-latest.xml -index 3c1cbc731d..a5c26e3c5b 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64.ppc64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug-nvdimm-ppc64.ppc64-latest.xml -@@ -11,7 +11,7 @@ - - - POWER9 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/memory-hotplug.x86_64-latest.xml b/tests/qemuxml2xmloutdata/memory-hotplug.x86_64-latest.xml -index 083102e8d6..697819387f 100644 ---- a/tests/qemuxml2xmloutdata/memory-hotplug.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/memory-hotplug.x86_64-latest.xml -@@ -11,7 +11,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.x86_64-latest.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.x86_64-latest.xml -index 2d04bc23c2..6068a76464 100644 ---- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-cpuset.x86_64-latest.xml -@@ -13,7 +13,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.x86_64-latest.xml b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.x86_64-latest.xml -index 80f7284126..6c558526e9 100644 ---- a/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/numad-auto-memory-vcpu-no-cpuset-and-placement.x86_64-latest.xml -@@ -13,7 +13,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.x86_64-latest.xml b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.x86_64-latest.xml -index 724209f6e3..6e1fecb488 100644 ---- a/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/numad-auto-vcpu-no-numatune.x86_64-latest.xml -@@ -13,7 +13,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.x86_64-latest.xml b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.x86_64-latest.xml -index 2a4ee0d496..c42d7066f9 100644 ---- a/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/numad-static-vcpu-no-numatune.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - destroy -diff --git a/tests/qemuxml2xmloutdata/pci-expander-bus.x86_64-latest.xml b/tests/qemuxml2xmloutdata/pci-expander-bus.x86_64-latest.xml -index b63c8c145a..2a6c329a40 100644 ---- a/tests/qemuxml2xmloutdata/pci-expander-bus.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/pci-expander-bus.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/pcie-expander-bus.x86_64-latest.xml b/tests/qemuxml2xmloutdata/pcie-expander-bus.x86_64-latest.xml -index a441be8ebe..99612740b2 100644 ---- a/tests/qemuxml2xmloutdata/pcie-expander-bus.x86_64-latest.xml -+++ b/tests/qemuxml2xmloutdata/pcie-expander-bus.x86_64-latest.xml -@@ -10,7 +10,7 @@ - - - qemu64 -- -+ - - - -diff --git a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.ppc64-latest.xml b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.ppc64-latest.xml -index 59015846fb..0a044f50b0 100644 ---- a/tests/qemuxml2xmloutdata/pseries-phb-numa-node.ppc64-latest.xml -+++ b/tests/qemuxml2xmloutdata/pseries-phb-numa-node.ppc64-latest.xml -@@ -14,7 +14,7 @@ - - - POWER9 -- -+ - - - -diff --git a/tests/vmx2xmldata/esx-in-the-wild-10.xml b/tests/vmx2xmldata/esx-in-the-wild-10.xml -index 47ed637920..78129682bd 100644 ---- a/tests/vmx2xmldata/esx-in-the-wild-10.xml -+++ b/tests/vmx2xmldata/esx-in-the-wild-10.xml -@@ -12,7 +12,7 @@ - hvm - - -- -+ - - - destroy -diff --git a/tests/vmx2xmldata/esx-in-the-wild-8.xml b/tests/vmx2xmldata/esx-in-the-wild-8.xml -index 0eea610709..47d22ced2a 100644 ---- a/tests/vmx2xmldata/esx-in-the-wild-8.xml -+++ b/tests/vmx2xmldata/esx-in-the-wild-8.xml -@@ -11,7 +11,7 @@ - hvm - - -- -+ - - - destroy -diff --git a/tests/vmx2xmldata/esx-in-the-wild-9.xml b/tests/vmx2xmldata/esx-in-the-wild-9.xml -index 66eca400dd..ee6be2527f 100644 ---- a/tests/vmx2xmldata/esx-in-the-wild-9.xml -+++ b/tests/vmx2xmldata/esx-in-the-wild-9.xml -@@ -12,7 +12,7 @@ - hvm - - -- -+ - - - destroy --- -2.43.0 diff --git a/libvirt-conf-Introduce-dynamicMemslots-attribute-for-virtio-mem.patch b/libvirt-conf-Introduce-dynamicMemslots-attribute-for-virtio-mem.patch deleted file mode 100644 index 1ae2cc8..0000000 --- a/libvirt-conf-Introduce-dynamicMemslots-attribute-for-virtio-mem.patch +++ /dev/null @@ -1,152 +0,0 @@ -From de94232ffb9eef84bb72631979f59bbadfc3cb9e Mon Sep 17 00:00:00 2001 -Message-ID: -From: Michal Privoznik -Date: Thu, 4 Jan 2024 10:03:36 +0100 -Subject: [PATCH] conf: Introduce dynamicMemslots attribute for virtio-mem - -Introduced in v8.2.0-rc0~74^2~2, QEMU now allows setting -.dynamic-memslots attribute for virtio-mem-pci devices. When -turned on, it allows memory exposed to guest to be split into -multiple memslots and thus smaller memory footprint (see the -original commit for detailed explanation). - -Therefore, introduce new attribute which will control -that QEMU knob. - -Signed-off-by: Michal Privoznik -Reviewed-by: Peter Krempa -(cherry picked from commit 53258205854e649bc82310542373df004a4734ab) -Resolves: https://issues.redhat.com/browse/RHEL-15316 -Signed-off-by: Michal Privoznik ---- - docs/formatdomain.rst | 13 +++++++++++++ - src/conf/domain_conf.c | 18 +++++++++++++++++- - src/conf/domain_conf.h | 1 + - src/conf/schemas/domaincommon.rng | 5 +++++ - .../memory-hotplug-virtio-mem.xml | 2 +- - 5 files changed, 37 insertions(+), 2 deletions(-) - -diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst -index 298ad46a45..34b2564909 100644 ---- a/docs/formatdomain.rst -+++ b/docs/formatdomain.rst -@@ -8437,6 +8437,19 @@ Example: usage of the memory devices - The ``node`` subelement configures the guest NUMA node to attach the memory - to. The element shall be used only if the guest has NUMA nodes configured. - -+ For ``virtio-mem`` optional attribute ``dynamicMemslots`` can be specified -+ (accepted values "yes"/"no") which allows hypervisor to spread memory into -+ multiple memory slots (allocate them dynamically based on the amount of -+ memory exposed to the guest), resulting in smaller memory footprint. But be -+ aware this may affect vhost-user devices. When enabled, older vhost-user -+ device implementations (such as virtiofs) may refuse to initialize resulting -+ in failed domain startup or device hotplug. When only modern vhost-user -+ based devices will be used or when no vhost-user devices are expected to be -+ used it's beneficial to enable this feature. The current default is -+ hypervisor dependant (for QEMU is "no"). If the default changes and you are -+ having difficulties with vhost-user devices, try toggling this to "no". -+ :since:`Since 10.1.0 and QEMU 8.2.0` -+ - The following optional elements may be used: - - ``label`` -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 6211d2a51b..ac06fa39f6 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -13543,6 +13543,10 @@ virDomainMemoryTargetDefParseXML(xmlNodePtr node, - &def->target.virtio_mem.requestedsize, false, false) < 0) - return -1; - -+ if (virXMLPropTristateBool(node, "dynamicMemslots", VIR_XML_PROP_NONE, -+ &def->target.virtio_mem.dynamicMemslots) < 0) -+ return -1; -+ - addrNode = virXPathNode("./address", ctxt); - addr = &def->target.virtio_mem.address; - break; -@@ -21217,6 +21221,12 @@ virDomainMemoryDefCheckABIStability(virDomainMemoryDef *src, - src->target.virtio_mem.address); - return false; - } -+ -+ if (src->target.virtio_mem.dynamicMemslots != dst->target.virtio_mem.dynamicMemslots) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", -+ _("Target memory device 'dynamicMemslots' property doesn't match source memory device")); -+ return false; -+ } - break; - - case VIR_DOMAIN_MEMORY_MODEL_DIMM: -@@ -25432,6 +25442,7 @@ virDomainMemoryTargetDefFormat(virBuffer *buf, - unsigned int flags) - { - g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf); -+ g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; - - virBufferAsprintf(&childBuf, "%llu\n", def->size); - if (def->targetNode >= 0) -@@ -25471,6 +25482,11 @@ virDomainMemoryTargetDefFormat(virBuffer *buf, - if (def->target.virtio_mem.address) - virBufferAsprintf(&childBuf, "
\n", - def->target.virtio_mem.address); -+ -+ if (def->target.virtio_mem.dynamicMemslots) { -+ virBufferAsprintf(&attrBuf, " dynamicMemslots='%s'", -+ virTristateBoolTypeToString(def->target.virtio_mem.dynamicMemslots)); -+ } - break; - - case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC: -@@ -25480,7 +25496,7 @@ virDomainMemoryTargetDefFormat(virBuffer *buf, - break; - } - -- virXMLFormatElement(buf, "target", NULL, &childBuf); -+ virXMLFormatElement(buf, "target", &attrBuf, &childBuf); - } - - static int -diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index d176bda5f8..bd283d42df 100644 ---- a/src/conf/domain_conf.h -+++ b/src/conf/domain_conf.h -@@ -2676,6 +2676,7 @@ struct _virDomainMemoryDef { - unsigned long long currentsize; /* kibibytes, valid for an active - domain only and parsed */ - unsigned long long address; /* address where memory is mapped */ -+ virTristateBool dynamicMemslots; - } virtio_mem; - struct { - } sgx_epc; -diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng -index a34427c330..df44cd9857 100644 ---- a/src/conf/schemas/domaincommon.rng -+++ b/src/conf/schemas/domaincommon.rng -@@ -7268,6 +7268,11 @@ - - - -+ -+ -+ -+ -+ - - - -diff --git a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -index 52fa6b14e9..20282a131b 100644 ---- a/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -+++ b/tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml -@@ -60,7 +60,7 @@ - 1-3 - 2048 - -- -+ - 2097152 - 0 - 2048 --- -2.43.0 diff --git a/libvirt-conf-Report-CPU-clusters-in-capabilities-XML.patch b/libvirt-conf-Report-CPU-clusters-in-capabilities-XML.patch deleted file mode 100644 index ee181de..0000000 --- a/libvirt-conf-Report-CPU-clusters-in-capabilities-XML.patch +++ /dev/null @@ -1,684 +0,0 @@ -From 130768f856aef1a4fa09a4654fd5ddcaad985795 Mon Sep 17 00:00:00 2001 -Message-ID: <130768f856aef1a4fa09a4654fd5ddcaad985795.1706524416.git.jdenemar@redhat.com> -From: Andrea Bolognani -Date: Fri, 5 Jan 2024 16:03:54 +0100 -Subject: [PATCH] conf: Report CPU clusters in capabilities XML - -For machines that don't expose useful information through sysfs, -the dummy ID 0 is used. - -https://issues.redhat.com/browse/RHEL-7043 - -Signed-off-by: Andrea Bolognani -Reviewed-by: Peter Krempa -(cherry picked from commit 5fc56aefb67a085a2f0fd3d2a157c7c029d2ef60) - -https://issues.redhat.com/browse/RHEL-7043 - -Signed-off-by: Andrea Bolognani ---- - src/conf/capabilities.c | 5 +- - src/conf/capabilities.h | 1 + - src/conf/schemas/capability.rng | 3 ++ - src/libvirt_linux.syms | 1 + - src/util/virhostcpu.c | 22 +++++++++ - src/util/virhostcpu.h | 1 + - tests/capabilityschemadata/caps-qemu-kvm.xml | 32 ++++++------- - .../vircaps-aarch64-basic-clusters.xml | 16 +++---- - .../vircaps2xmldata/vircaps-aarch64-basic.xml | 32 ++++++------- - .../vircaps-x86_64-basic-dies.xml | 24 +++++----- - .../vircaps2xmldata/vircaps-x86_64-basic.xml | 32 ++++++------- - .../vircaps2xmldata/vircaps-x86_64-caches.xml | 16 +++---- - tests/vircaps2xmldata/vircaps-x86_64-hmat.xml | 48 +++++++++---------- - .../vircaps-x86_64-resctrl-cdp.xml | 24 +++++----- - .../vircaps-x86_64-resctrl-cmt.xml | 24 +++++----- - .../vircaps-x86_64-resctrl-fake-feature.xml | 24 +++++----- - .../vircaps-x86_64-resctrl-skx-twocaches.xml | 2 +- - .../vircaps-x86_64-resctrl-skx.xml | 2 +- - .../vircaps-x86_64-resctrl.xml | 24 +++++----- - 19 files changed, 182 insertions(+), 151 deletions(-) - -diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c -index 32badee7b3..02298e40a3 100644 ---- a/src/conf/capabilities.c -+++ b/src/conf/capabilities.c -@@ -811,9 +811,10 @@ virCapsHostNUMACellCPUFormat(virBuffer *buf, - return -1; - - virBufferAsprintf(&childBuf, -- " socket_id='%d' die_id='%d' core_id='%d' siblings='%s'", -+ " socket_id='%d' die_id='%d' cluster_id='%d' core_id='%d' siblings='%s'", - cpus[j].socket_id, - cpus[j].die_id, -+ cpus[j].cluster_id, - cpus[j].core_id, - siblings); - } -@@ -1453,6 +1454,7 @@ virCapabilitiesFillCPUInfo(int cpu_id G_GNUC_UNUSED, - - if (virHostCPUGetSocket(cpu_id, &cpu->socket_id) < 0 || - virHostCPUGetDie(cpu_id, &cpu->die_id) < 0 || -+ virHostCPUGetCluster(cpu_id, &cpu->cluster_id) < 0 || - virHostCPUGetCore(cpu_id, &cpu->core_id) < 0) - return -1; - -@@ -1712,6 +1714,7 @@ virCapabilitiesHostNUMAInitFake(virCapsHostNUMA *caps) - if (tmp) { - cpus[cid].id = id; - cpus[cid].die_id = 0; -+ cpus[cid].cluster_id = 0; - cpus[cid].socket_id = s; - cpus[cid].core_id = c; - cpus[cid].siblings = virBitmapNewCopy(siblings); -diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h -index 9eaf6e2807..52e395de14 100644 ---- a/src/conf/capabilities.h -+++ b/src/conf/capabilities.h -@@ -89,6 +89,7 @@ struct _virCapsHostNUMACellCPU { - unsigned int id; - unsigned int socket_id; - unsigned int die_id; -+ unsigned int cluster_id; - unsigned int core_id; - virBitmap *siblings; - }; -diff --git a/src/conf/schemas/capability.rng b/src/conf/schemas/capability.rng -index b1968df258..a1606941e7 100644 ---- a/src/conf/schemas/capability.rng -+++ b/src/conf/schemas/capability.rng -@@ -201,6 +201,9 @@ - - - -+ -+ -+ - - - -diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms -index 55649ae39c..004cbfee97 100644 ---- a/src/libvirt_linux.syms -+++ b/src/libvirt_linux.syms -@@ -3,6 +3,7 @@ - # - - # util/virhostcpu.h -+virHostCPUGetCluster; - virHostCPUGetCore; - virHostCPUGetDie; - virHostCPUGetInfoPopulateLinux; -diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c -index 4027547e1e..a3781ca870 100644 ---- a/src/util/virhostcpu.c -+++ b/src/util/virhostcpu.c -@@ -232,6 +232,28 @@ virHostCPUGetDie(unsigned int cpu, unsigned int *die) - return 0; - } - -+int -+virHostCPUGetCluster(unsigned int cpu, unsigned int *cluster) -+{ -+ int cluster_id; -+ int ret = virFileReadValueInt(&cluster_id, -+ "%s/cpu/cpu%u/topology/cluster_id", -+ SYSFS_SYSTEM_PATH, cpu); -+ -+ if (ret == -1) -+ return -1; -+ -+ /* If the file doesn't exists (old kernel) or the value contained -+ * in it is -1 (architecture without CPU clusters), report 0 to -+ * indicate the lack of information */ -+ if (ret == -2 || cluster_id < 0) -+ cluster_id = 0; -+ -+ *cluster = cluster_id; -+ -+ return 0; -+} -+ - int - virHostCPUGetCore(unsigned int cpu, unsigned int *core) - { -diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h -index 5f0d43e069..d7e09bff22 100644 ---- a/src/util/virhostcpu.h -+++ b/src/util/virhostcpu.h -@@ -68,6 +68,7 @@ int virHostCPUStatsAssign(virNodeCPUStatsPtr param, - #ifdef __linux__ - int virHostCPUGetSocket(unsigned int cpu, unsigned int *socket); - int virHostCPUGetDie(unsigned int cpu, unsigned int *die); -+int virHostCPUGetCluster(unsigned int cpu, unsigned int *cluster); - int virHostCPUGetCore(unsigned int cpu, unsigned int *core); - - virBitmap *virHostCPUGetSiblingsList(unsigned int cpu); -diff --git a/tests/capabilityschemadata/caps-qemu-kvm.xml b/tests/capabilityschemadata/caps-qemu-kvm.xml -index acdbb362cc..317fa0885f 100644 ---- a/tests/capabilityschemadata/caps-qemu-kvm.xml -+++ b/tests/capabilityschemadata/caps-qemu-kvm.xml -@@ -64,14 +64,14 @@ - - - -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ - - - -@@ -84,14 +84,14 @@ - - - -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml b/tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml -index fe61fc42cc..b37c8e7a20 100644 ---- a/tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml -+++ b/tests/vircaps2xmldata/vircaps-aarch64-basic-clusters.xml -@@ -14,10 +14,10 @@ - 4096 - 6144 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -26,10 +26,10 @@ - 6144 - 8192 - -- -- -- -- -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml -index 0a04052c40..5533ae0586 100644 ---- a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml -+++ b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml -@@ -16,10 +16,10 @@ - 4096 - 6144 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -28,10 +28,10 @@ - 6144 - 8192 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -40,10 +40,10 @@ - 8192 - 10240 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -52,10 +52,10 @@ - 10240 - 12288 - -- -- -- -- -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml -index 8a3ca2d13c..c86dc4defc 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-basic-dies.xml -@@ -14,18 +14,18 @@ - 4096 - 6144 - -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml -index 4da09f889c..9ae155d571 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml -@@ -14,10 +14,10 @@ - 4096 - 6144 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -26,10 +26,10 @@ - 6144 - 8192 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -38,10 +38,10 @@ - 8192 - 10240 - -- -- -- -- -+ -+ -+ -+ - - - -@@ -50,10 +50,10 @@ - 10240 - 12288 - -- -- -- -- -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml -index 28f00c0a90..05b33147b7 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml -@@ -17,14 +17,14 @@ - 4096 - 6144 - -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-hmat.xml b/tests/vircaps2xmldata/vircaps-x86_64-hmat.xml -index 6fe5751666..2b97354bf3 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-hmat.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-hmat.xml -@@ -25,30 +25,30 @@ - - - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml -index ee26fe9464..167b217d8e 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml -@@ -17,12 +17,12 @@ - 4096 - 6144 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -@@ -31,12 +31,12 @@ - 6144 - 8192 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml -index acdd97ec58..311bb58e6a 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml -@@ -17,12 +17,12 @@ - 4096 - 6144 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -@@ -31,12 +31,12 @@ - 6144 - 8192 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml -index 1327d85c98..d85407f0b1 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml -@@ -17,12 +17,12 @@ - 4096 - 6144 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -@@ -31,12 +31,12 @@ - 6144 - 8192 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml -index 6769bd0591..eb53eb2142 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx-twocaches.xml -@@ -17,7 +17,7 @@ - 4096 - 6144 - -- -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml -index bc52480905..38ea0bdc27 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-skx.xml -@@ -17,7 +17,7 @@ - 4096 - 6144 - -- -+ - - - -diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml -index b638bbd1c9..fd854ee91e 100644 ---- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml -+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml -@@ -17,12 +17,12 @@ - 4096 - 6144 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - -@@ -31,12 +31,12 @@ - 6144 - 8192 - -- -- -- -- -- -- -+ -+ -+ -+ -+ -+ - - - --- -2.43.0 diff --git a/libvirt-conf-cpu-Introduce-virCPUDefListFeatures.patch b/libvirt-conf-cpu-Introduce-virCPUDefListFeatures.patch deleted file mode 100644 index 6f177e0..0000000 --- a/libvirt-conf-cpu-Introduce-virCPUDefListFeatures.patch +++ /dev/null @@ -1,85 +0,0 @@ -From a48b3aaee795cdd57b709326821b3648521bc687 Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Mon, 11 Mar 2024 15:37:32 +0100 -Subject: [PATCH] conf: cpu: Introduce virCPUDefListFeatures - -The function returns a list of explicitly mentioned features in the CPU -definition. - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -Reviewed-by: Peter Krempa -(cherry picked from commit 577c4ca414b26c8586f2586978e55c948bec0a32) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/conf/cpu_conf.c | 24 ++++++++++++++++++++++++ - src/conf/cpu_conf.h | 3 +++ - src/libvirt_private.syms | 1 + - 3 files changed, 28 insertions(+) - -diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c -index 6e6e1b9a89..4dca7e57ec 100644 ---- a/src/conf/cpu_conf.c -+++ b/src/conf/cpu_conf.c -@@ -982,6 +982,30 @@ virCPUDefFindFeature(const virCPUDef *def, - } - - -+/** -+ * virCPUDefListExplicitFeatures: -+ * @def: CPU definition -+ * -+ * Provides a list of feature names explicitly mentioned in the CPU definition -+ * regardless of the policy. The caller is responsible for freeing the list. -+ * -+ * Returns a NULL-terminated list of feature names. -+ */ -+char ** -+virCPUDefListExplicitFeatures(const virCPUDef *def) -+{ -+ char **list; -+ size_t i; -+ -+ list = g_new0(char *, def->nfeatures + 1); -+ -+ for (i = 0; i < def->nfeatures; i++) -+ list[i] = g_strdup(def->features[i].name); -+ -+ return list; -+} -+ -+ - int - virCPUDefFilterFeatures(virCPUDef *cpu, - virCPUDefFeatureFilter filter, -diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h -index 2694022fed..b10c23ee82 100644 ---- a/src/conf/cpu_conf.h -+++ b/src/conf/cpu_conf.h -@@ -270,6 +270,9 @@ virCPUDefCheckFeatures(virCPUDef *cpu, - void *opaque, - char ***features); - -+char ** -+virCPUDefListExplicitFeatures(const virCPUDef *def); -+ - virCPUDef ** - virCPUDefListParse(const char **xmlCPUs, - unsigned int ncpus, -diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms -index d168f45f2d..575fd32ff8 100644 ---- a/src/libvirt_private.syms -+++ b/src/libvirt_private.syms -@@ -111,6 +111,7 @@ virCPUDefFree; - virCPUDefFreeFeatures; - virCPUDefFreeModel; - virCPUDefIsEqual; -+virCPUDefListExplicitFeatures; - virCPUDefListFree; - virCPUDefListParse; - virCPUDefNew; --- -2.44.0 diff --git a/libvirt-conf-node_device-Refactor-virNodeDeviceCapVPDParseCustomFields-to-fix-error-reporting.patch b/libvirt-conf-node_device-Refactor-virNodeDeviceCapVPDParseCustomFields-to-fix-error-reporting.patch deleted file mode 100644 index eb91e09..0000000 --- a/libvirt-conf-node_device-Refactor-virNodeDeviceCapVPDParseCustomFields-to-fix-error-reporting.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 8d84e4af4cbb93d73f4d9967f517552257f025f5 Mon Sep 17 00:00:00 2001 -Message-ID: <8d84e4af4cbb93d73f4d9967f517552257f025f5.1707394627.git.jdenemar@redhat.com> -From: Peter Krempa -Date: Mon, 29 Jan 2024 18:26:29 +0100 -Subject: [PATCH] conf: node_device: Refactor - 'virNodeDeviceCapVPDParseCustomFields' to fix error reporting -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The errors raised in virNodeDeviceCapVPDParseCustomFields were actually -ignored by continuing the parse rather than raised. - -Rather than just replace 'continue' by 'return -1' this patch refactors -the whole parser to simplify it as well as report reasonable errors. - -Parsing of individual fields is done without XPath and is extracted into -a common helper. - -Signed-off-by: Peter Krempa -Reviewed-by: Ján Tomko -(cherry picked from commit ea8d864d9ecf3ee72910ccc1497244f1ef74e948) - -https://issues.redhat.com/browse/RHEL-22314 [9.4.0] ---- - src/conf/node_device_conf.c | 81 ++++++++++++++++++------------------- - 1 file changed, 40 insertions(+), 41 deletions(-) - -diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c -index d7e1a23034..0f2c341967 100644 ---- a/src/conf/node_device_conf.c -+++ b/src/conf/node_device_conf.c -@@ -953,63 +953,62 @@ virNodeDevCapMdevTypesParseXML(xmlXPathContextPtr ctxt, - return ret; - } - -+ - static int --virNodeDeviceCapVPDParseCustomFields(xmlXPathContextPtr ctxt, virPCIVPDResource *res, bool readOnly) -+virNodeDeviceCapVPDParseCustomFieldOne(xmlNodePtr node, -+ virPCIVPDResource *res, -+ bool read_only, -+ const char keyword_prefix) -+{ -+ g_autofree char *value = NULL; -+ g_autofree char *index = NULL; -+ g_autofree char *keyword = NULL; -+ -+ if (!(index = virXMLPropStringRequired(node, "index"))) -+ return -1; -+ -+ if (strlen(index) != 1) { -+ virReportError(VIR_ERR_XML_ERROR, -+ _("'%1$s' 'index' value '%2$s' malformed"), -+ node->name, index); -+ return -1; -+ } -+ -+ keyword = g_strdup_printf("%c%c", keyword_prefix, index[0]); -+ -+ if (!(value = virXMLNodeContentString(node))) -+ return -1; -+ -+ virPCIVPDResourceUpdateKeyword(res, read_only, keyword, value); -+ return 0; -+} -+ -+ -+static int -+virNodeDeviceCapVPDParseCustomFields(xmlXPathContextPtr ctxt, -+ virPCIVPDResource *res, -+ bool readOnly) - { - int nfields = -1; - g_autofree xmlNodePtr *nodes = NULL; - size_t i = 0; - -- if ((nfields = virXPathNodeSet("./vendor_field[@index]", ctxt, &nodes)) < 0) -+ if ((nfields = virXPathNodeSet("./vendor_field", ctxt, &nodes)) < 0) - return -1; - - for (i = 0; i < nfields; i++) { -- g_autofree char *value = NULL; -- g_autofree char *index = NULL; -- VIR_XPATH_NODE_AUTORESTORE(ctxt) -- g_autofree char *keyword = NULL; -- -- ctxt->node = nodes[i]; -- if (!(index = virXPathString("string(./@index[1])", ctxt)) || -- strlen(index) > 1) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _(" evaluation has failed")); -- continue; -- } -- if (!(value = virXPathString("string(./text())", ctxt))) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _(" value evaluation has failed")); -- continue; -- } -- keyword = g_strdup_printf("V%c", index[0]); -- virPCIVPDResourceUpdateKeyword(res, readOnly, keyword, value); -+ if (virNodeDeviceCapVPDParseCustomFieldOne(nodes[i], res, readOnly, 'V') < 0) -+ return -1; - } - VIR_FREE(nodes); - - if (!readOnly) { -- if ((nfields = virXPathNodeSet("./system_field[@index]", ctxt, &nodes)) < 0) -+ if ((nfields = virXPathNodeSet("./system_field", ctxt, &nodes)) < 0) - return -1; - - for (i = 0; i < nfields; i++) { -- g_autofree char *value = NULL; -- g_autofree char *index = NULL; -- g_autofree char *keyword = NULL; -- VIR_XPATH_NODE_AUTORESTORE(ctxt); -- -- ctxt->node = nodes[i]; -- if (!(index = virXPathString("string(./@index[1])", ctxt)) || -- strlen(index) > 1) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _(" evaluation has failed")); -- continue; -- } -- if (!(value = virXPathString("string(./text())", ctxt))) { -- virReportError(VIR_ERR_XML_ERROR, "%s", -- _(" value evaluation has failed")); -- continue; -- } -- keyword = g_strdup_printf("Y%c", index[0]); -- virPCIVPDResourceUpdateKeyword(res, readOnly, keyword, value); -+ if (virNodeDeviceCapVPDParseCustomFieldOne(nodes[i], res, readOnly, 'Y') < 0) -+ return -1; - } - } - --- -2.43.0 diff --git a/libvirt-conf-virNodeDeviceCapVPDParse-Remove-pointless-NULL-checks.patch b/libvirt-conf-virNodeDeviceCapVPDParse-Remove-pointless-NULL-checks.patch deleted file mode 100644 index 58c94cb..0000000 --- a/libvirt-conf-virNodeDeviceCapVPDParse-Remove-pointless-NULL-checks.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 15145b5ecb2e9186e42bbb295e1d44f93ff25cfb Mon Sep 17 00:00:00 2001 -Message-ID: <15145b5ecb2e9186e42bbb295e1d44f93ff25cfb.1707394627.git.jdenemar@redhat.com> -From: Peter Krempa -Date: Wed, 24 Jan 2024 16:27:35 +0100 -Subject: [PATCH] conf: virNodeDeviceCapVPDParse*: Remove pointless NULL checks -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The function are never called with NULL argument so the checks can be -removed. - -Signed-off-by: Peter Krempa -Reviewed-by: Ján Tomko -(cherry picked from commit fb69acf5c255f6baedefe2a2535325af8088ced5) - -https://issues.redhat.com/browse/RHEL-22314 [9.4.0] ---- - src/conf/node_device_conf.c | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c -index dd174d3020..d7e1a23034 100644 ---- a/src/conf/node_device_conf.c -+++ b/src/conf/node_device_conf.c -@@ -1023,9 +1023,6 @@ virNodeDeviceCapVPDParseReadOnlyFields(xmlXPathContextPtr ctxt, virPCIVPDResourc - "serial_number", "part_number", NULL}; - size_t i = 0; - -- if (res == NULL) -- return -1; -- - res->ro = virPCIVPDResourceRONew(); - - while (keywords[i]) { -@@ -1061,9 +1058,6 @@ virNodeDeviceCapVPDParseXML(xmlXPathContextPtr ctxt, virPCIVPDResource **res) - size_t i = 0; - g_autoptr(virPCIVPDResource) newres = g_new0(virPCIVPDResource, 1); - -- if (res == NULL) -- return -1; -- - if (!(newres->name = virXPathString("string(./name)", ctxt))) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("Could not read a device name from the element")); --- -2.43.0 diff --git a/libvirt-cpu-x86-Add-support-for-adding-features-to-existing-CPU-models.patch b/libvirt-cpu-x86-Add-support-for-adding-features-to-existing-CPU-models.patch deleted file mode 100644 index 2221965..0000000 --- a/libvirt-cpu-x86-Add-support-for-adding-features-to-existing-CPU-models.patch +++ /dev/null @@ -1,219 +0,0 @@ -From de176e6a70792a9da93e3e2604179858a65191fa Mon Sep 17 00:00:00 2001 -Message-ID: -From: Jiri Denemark -Date: Thu, 7 Mar 2024 14:50:48 +0100 -Subject: [PATCH] cpu: x86: Add support for adding features to existing CPU - models - -This is not a good idea in general, but we can (and have to) do it in -specific cases when a feature has always been part of a CPU model in -hypervisor's definition, but we ignored it and did not include the -feature in our definition. - -Blindly adding the features to the CPU map and not adding them to -existing CPU models breaks migration between old and new libvirt in both -directions. New libvirt would complain the features got unexpectedly -enabled (as they were not mentioned in the incoming domain XML) even -though they were also enabled on the source and the old libvirt just -didn't know about them. On the other hand, old libvirt would refuse to -accept incoming migration of a domain started by new libvirt because the -domain XML would contain CPU features unknown to the old libvirt. - -This is exactly what happened when several vmx-* features were added a -few releases back. Migration between libvirt releases before and after -the addition is now broken. - -This patch adds support for added these features to existing CPU models -by marking them with added='yes'. The features will not be considered -part of the CPU model and will be described explicitly via additional - elements, but the compatibility check will not complain if -they are enabled by the hypervisor even though they were not explicitly -mentioned in the CPU definition and incoming migration from old libvirt -will succeed. - -To fix outgoing migration to old libvirt, we also need to drop all those -features from domain XML unless they were explicitly requested by the -user. This will be handled by a later patch. - -Signed-off-by: Jiri Denemark -Reviewed-by: Tim Wiederhake -Reviewed-by: Peter Krempa -(cherry picked from commit 5fbfa5ab8a3bf914d2deacd0d281b16aafd593b5) -https://issues.redhat.com/browse/RHEL-25995 - -Signed-off-by: Jiri Denemark ---- - src/cpu/cpu_x86.c | 74 ++++++++++++++++++++++++++++++++++++++-- - src/cpu/cpu_x86.h | 3 ++ - src/libvirt_private.syms | 1 + - 3 files changed, 75 insertions(+), 3 deletions(-) - -diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c -index 6b2531b360..f31ff22d47 100644 ---- a/src/cpu/cpu_x86.c -+++ b/src/cpu/cpu_x86.c -@@ -148,6 +148,17 @@ struct _virCPUx86Model { - virCPUx86Signatures *signatures; - virCPUx86Data data; - GStrv removedFeatures; -+ -+ /* Features added to the CPU model after its original version was released. -+ * Such features are not really considered part of the model, but the -+ * compatibility check will not complain if they are enabled by the -+ * hypervisor even though they were not explicitly mentioned in the CPU -+ * definition. This should only be used for features which were always -+ * included in the CPU model by the hypervisor, but libvirt didn't support -+ * them when introducing the CPU model. In other words, they were enabled, -+ * but we ignored them. -+ */ -+ GStrv addedFeatures; - }; - - typedef struct _virCPUx86Map virCPUx86Map; -@@ -1276,6 +1287,7 @@ x86ModelFree(virCPUx86Model *model) - virCPUx86SignaturesFree(model->signatures); - virCPUx86DataClear(&model->data); - g_strfreev(model->removedFeatures); -+ g_strfreev(model->addedFeatures); - g_free(model); - } - G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUx86Model, x86ModelFree); -@@ -1291,6 +1303,7 @@ x86ModelCopy(virCPUx86Model *model) - copy->signatures = virCPUx86SignaturesCopy(model->signatures); - x86DataCopy(©->data, &model->data); - copy->removedFeatures = g_strdupv(model->removedFeatures); -+ copy->addedFeatures = g_strdupv(model->addedFeatures); - copy->vendor = model->vendor; - - return g_steal_pointer(©); -@@ -1596,17 +1609,20 @@ x86ModelParseFeatures(virCPUx86Model *model, - g_autofree xmlNodePtr *nodes = NULL; - size_t i; - size_t nremoved = 0; -+ size_t nadded = 0; - int n; - - if ((n = virXPathNodeSet("./feature", ctxt, &nodes)) <= 0) - return n; - - model->removedFeatures = g_new0(char *, n + 1); -+ model->addedFeatures = g_new0(char *, n + 1); - - for (i = 0; i < n; i++) { - g_autofree char *ftname = NULL; - virCPUx86Feature *feature; - virTristateBool rem; -+ virTristateBool added; - - if (!(ftname = virXMLPropString(nodes[i], "name"))) { - virReportError(VIR_ERR_INTERNAL_ERROR, -@@ -1632,10 +1648,21 @@ x86ModelParseFeatures(virCPUx86Model *model, - continue; - } - -+ if (virXMLPropTristateBool(nodes[i], "added", -+ VIR_XML_PROP_NONE, -+ &added) < 0) -+ return -1; -+ -+ if (added == VIR_TRISTATE_BOOL_YES) { -+ model->addedFeatures[nadded++] = g_strdup(ftname); -+ continue; -+ } -+ - x86DataAdd(&model->data, &feature->data); - } - - model->removedFeatures = g_renew(char *, model->removedFeatures, nremoved + 1); -+ model->addedFeatures = g_renew(char *, model->addedFeatures, nadded + 1); - - return 0; - } -@@ -3022,11 +3049,18 @@ virCPUx86UpdateLive(virCPUDef *cpu, - if (expected == VIR_CPU_FEATURE_DISABLE && - x86DataIsSubset(&enabled, &feature->data)) { - VIR_DEBUG("Feature '%s' enabled by the hypervisor", feature->name); -- if (cpu->check == VIR_CPU_CHECK_FULL) -+ -+ /* Extra features enabled by the hypervisor are ignored by -+ * check='full' in case they were added to the model later for -+ * backward compatibility with the older definition of the model. -+ */ -+ if (cpu->check == VIR_CPU_CHECK_FULL && -+ !g_strv_contains((const char **) model->addedFeatures, feature->name)) { - virBufferAsprintf(&bufAdded, "%s,", feature->name); -- else if (virCPUDefUpdateFeature(cpu, feature->name, -- VIR_CPU_FEATURE_REQUIRE) < 0) -+ } else if (virCPUDefUpdateFeature(cpu, feature->name, -+ VIR_CPU_FEATURE_REQUIRE) < 0) { - return -1; -+ } - } - - if (x86DataIsSubset(&disabled, &feature->data) || -@@ -3491,6 +3525,40 @@ virCPUx86FeatureFilterDropMSR(const char *name, - } - - -+/** -+ * virCPUx86GetAddedFeatures: -+ * @modelName: CPU model -+ * @features: where to store a pointer to the list of added features -+ * -+ * Gets a list of features added to a specified CPU model after its original -+ * version was already released. The @features will be set to NULL if the list -+ * is empty or it will point to internal structures and thus it must not be -+ * freed or modified by the caller. The pointer is valid for the whole lifetime -+ * of the process. -+ * -+ * Returns 0 on success, -1 otherwise. -+ */ -+int -+virCPUx86GetAddedFeatures(const char *modelName, -+ const char * const **features) -+{ -+ virCPUx86Map *map; -+ virCPUx86Model *model; -+ -+ if (!(map = virCPUx86GetMap())) -+ return -1; -+ -+ if (!(model = x86ModelFind(map, modelName))) { -+ virReportError(VIR_ERR_INVALID_ARG, -+ _("unknown CPU model %1$s"), modelName); -+ return -1; -+ } -+ -+ *features = (const char **) model->addedFeatures; -+ return 0; -+} -+ -+ - struct cpuArchDriver cpuDriverX86 = { - .name = "x86", - .arch = archs, -diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h -index 2721fc9097..2cd965fea4 100644 ---- a/src/cpu/cpu_x86.h -+++ b/src/cpu/cpu_x86.h -@@ -48,3 +48,6 @@ bool virCPUx86FeatureFilterSelectMSR(const char *name, - bool virCPUx86FeatureFilterDropMSR(const char *name, - virCPUFeaturePolicy policy, - void *opaque); -+ -+int virCPUx86GetAddedFeatures(const char *modelName, -+ const char * const **features); -diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms -index 035f8c7b5d..d168f45f2d 100644 ---- a/src/libvirt_private.syms -+++ b/src/libvirt_private.syms -@@ -1543,6 +1543,7 @@ virCPUx86DataSetSignature; - virCPUx86DataSetVendor; - virCPUx86FeatureFilterDropMSR; - virCPUx86FeatureFilterSelectMSR; -+virCPUx86GetAddedFeatures; - - # datatypes.h - virConnectClass; --- -2.44.0 diff --git a/libvirt-domain_validate-Account-for-NVDIMM-label-size-properly-when-checking-for-memory-conflicts.patch b/libvirt-domain_validate-Account-for-NVDIMM-label-size-properly-when-checking-for-memory-conflicts.patch deleted file mode 100644 index 0cf71d0..0000000 --- a/libvirt-domain_validate-Account-for-NVDIMM-label-size-properly-when-checking-for-memory-conflicts.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 8d48d5fe02c0afcf5bbe68e0a182ee11f9a108dc Mon Sep 17 00:00:00 2001 -Message-ID: <8d48d5fe02c0afcf5bbe68e0a182ee11f9a108dc.1708614745.git.jdenemar@redhat.com> -From: Michal Privoznik -Date: Mon, 19 Feb 2024 15:37:16 +0100 -Subject: [PATCH] domain_validate: Account for NVDIMM label size properly when - checking for memory conflicts - -As of v9.8.0-rc1~7 we check whether two devices don't -overlap (since we allow setting where a device should -be mapped to). We do this pretty straightforward, by comparing -start and end address of each device combination. -But since only the start address is given (an exposed in the -XML), the end address is computed trivially as: - - start + mem->size * 1024 - -And for majority of memory device types this works. Except for -NVDIMMs. For them the device consists of two separate -regions: 1) actual memory device, and 2) label. - -Label is where NVDIMM stores some additional information like -namespaces partition and so on. But it's not mapped into the -guest the same way as actual memory device. In fact, mem->size is -a sum of both actual memory device and label sizes. And to make -things a bit worse, both sizes are subject to alignment (either -the alignsize value specified in XML, or system page size if not -specified in XML). - -Therefore, to get the size of actual memory device we need to -take mem->size and substract label size rounded up to alignment. - -If we don't do this we report there's an overlap between two -NVDIMMs even when in reality there's none. - -Fixes: 3fd64fb0e236fc80ffa2cc977c0d471f11fc39bf -Fixes: 91f9a9fb4fc0d34ed8d7a869de3d9f87687c3618 -Resolves: https://issues.redhat.com/browse/RHEL-4452?focusedId=23805174#comment-23805174 -Signed-off-by: Michal Privoznik -Reviewed-by: Martin Kletzander -(cherry picked from commit 4545f313c23e7000451d1cec793ebc8da1a2c25f) -Signed-off-by: Michal Privoznik ---- - src/conf/domain_validate.c | 51 ++++++++++++++++++++++++++++++++++++-- - 1 file changed, 49 insertions(+), 2 deletions(-) - -diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c -index 46479f10f2..faa7659f07 100644 ---- a/src/conf/domain_validate.c -+++ b/src/conf/domain_validate.c -@@ -2225,6 +2225,53 @@ virDomainHostdevDefValidate(const virDomainHostdevDef *hostdev) - } - - -+/** -+ * virDomainMemoryGetMappedSize: -+ * @mem: memory device definition -+ * -+ * For given memory device definition (@mem) calculate size mapped into -+ * the guest. This is usually mem->size, except for NVDIMM where its -+ * label is mapped elsewhere. -+ * -+ * Returns: Number of bytes a memory device takes when mapped into a -+ * guest. -+ */ -+static unsigned long long -+virDomainMemoryGetMappedSize(const virDomainMemoryDef *mem) -+{ -+ unsigned long long ret = mem->size; -+ -+ if (mem->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM) { -+ unsigned long long alignsize = mem->source.nvdimm.alignsize; -+ unsigned long long labelsize = 0; -+ -+ /* For NVDIMM the situation is a bit more complicated. Firstly, -+ * its