This series fixes a migration regression introduced in 9.10.0 release which added support for a bunch of vmx-* CPU features. Domains with vmx feature enabled started by libvirt 9.9.0 or older cannot be migrated to current releases 9.10.0 and newer.
After this series migration works again with libvirt 9.9.0 and older in both directions. Migration from the affected releases to the fixed version works as well, but the other direction remains broken unless the fix is backported. See patches 1/22 and 4/22 for more details about the issue and the fix. Fixes: https://gitlab.com/libvirt/libvirt/-/issues/568 Jiri Denemark (22): cpu: x86: Add support for adding features to existing CPU models qemu: domain: Check arch in qemuDomainMakeCPUMigratable conf: cpu: Introduce virCPUDefListFeatures qemu: domain: Drop added features from migratable CPU cpu_map: Do not ignore VMX features in sync_qemu_models script Add vmx-* features to Broadwell* Add vmx-* features to Cascadelake* Add vmx-* features to Conroe Add vmx-* features to Cooperlake Add vmx-* features to core{,2}duo Add vmx-* features to Haswell* Add vmx-* features to Icelake* Add vmx-* features to IvyBridge* Add vmx-* features to kvm* Add vmx-* features to Nehalem* Add vmx-* features to Penryn Add vmx-* features to SandyBridge* Add vmx-* features to SapphireRapids Add vmx-* features to Skylake* Add vmx-* features to Snowridge Add vmx-* features to Westmere* NEWS: Document the fix for migration or vmx enabled domains NEWS.rst | 12 ++ src/conf/cpu_conf.c | 24 ++++ src/conf/cpu_conf.h | 3 + src/cpu/cpu_x86.c | 69 ++++++++++- src/cpu/cpu_x86.h | 3 + src/cpu_map/sync_qemu_models_i386.py | 114 +++++++++++++++++- 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 ++++++++++++ src/cpu_map/x86_Cascadelake-Server-noTSX.xml | 76 ++++++++++++ src/cpu_map/x86_Cascadelake-Server.xml | 74 ++++++++++++ src/cpu_map/x86_Conroe.xml | 26 ++++ src/cpu_map/x86_Cooperlake.xml | 76 ++++++++++++ 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 +++++++++++ src/cpu_map/x86_Icelake-Server-noTSX.xml | 77 ++++++++++++ src/cpu_map/x86_Icelake-Server.xml | 72 +++++++++++ src/cpu_map/x86_IvyBridge-IBRS.xml | 67 ++++++++++ src/cpu_map/x86_IvyBridge.xml | 67 ++++++++++ src/cpu_map/x86_Nehalem-IBRS.xml | 61 ++++++++++ src/cpu_map/x86_Nehalem.xml | 61 ++++++++++ src/cpu_map/x86_Penryn.xml | 29 +++++ src/cpu_map/x86_SandyBridge-IBRS.xml | 63 ++++++++++ src/cpu_map/x86_SandyBridge.xml | 63 ++++++++++ src/cpu_map/x86_SapphireRapids.xml | 77 ++++++++++++ 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 ++++++++++++ src/cpu_map/x86_Snowridge.xml | 76 ++++++++++++ src/cpu_map/x86_Westmere-IBRS.xml | 63 ++++++++++ src/cpu_map/x86_Westmere.xml | 63 ++++++++++ src/cpu_map/x86_core2duo.xml | 26 ++++ src/cpu_map/x86_coreduo.xml | 18 +++ src/cpu_map/x86_kvm32.xml | 18 +++ src/cpu_map/x86_kvm64.xml | 20 +++ src/libvirt_private.syms | 2 + src/qemu/qemu_domain.c | 60 ++++++++- src/qemu/qemu_domain.h | 4 +- src/qemu/qemu_migration_cookie.c | 5 +- 45 files changed, 2487 insertions(+), 12 deletions(-) -- 2.44.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-le...@lists.libvirt.org