Doing so would normally break migration to older libvirt, but most of
the patches in this series prepare an infrastructure for removing
features from existing CPU models while maintaining backward
compatibility during migration.
See patch 7 for more details.
https://bugzilla.redhat.com/show_bug.cgi?id=1798004
Jiri Denemark (8):
conf: Rename virCPUDefUpdateFeatureInternal
conf: Use enum in virCPUDefAddFeatureInternal
conf: Add virCPUDefAddFeatureIfMissing
cpu: Run arch specific code for virCPUUpdate for all custom CPUs
cpu_x86: Change the flow in virCPUx86Update
cpu_x86: Add support for marking features as removed from a CPU model
cpu_x86: Make sure removed features are always mentioned in CPU def
cpu_map: Drop 'monitor' from modern x86 CPU models
src/conf/cpu_conf.c | 50 +++++--
src/conf/cpu_conf.h | 5 +
src/cpu/cpu.c | 52 +++----
src/cpu/cpu.h | 3 +-
src/cpu/cpu_arm.c | 5 +-
src/cpu/cpu_ppc64.c | 3 +-
src/cpu/cpu_s390.c | 6 +-
src/cpu/cpu_x86.c | 127 ++++++++++++++----
src/cpu_map/x86_Dhyana.xml | 2 +-
src/cpu_map/x86_EPYC-IBPB.xml | 2 +-
src/cpu_map/x86_EPYC.xml | 2 +-
src/cpu_map/x86_Opteron_G3.xml | 2 +-
src/libvirt_private.syms | 1 +
.../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 +
.../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 +
..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 +
...6_64-cpuid-EPYC-7601-32-Core-ibpb-json.xml | 2 +-
.../x86_64-cpuid-EPYC-7601-32-Core-json.xml | 2 +-
..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 +
...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 +
...6_64-cpuid-Hygon-C86-7185-32-core-json.xml | 2 +-
.../x86_64-cpuid-Opteron-1352-guest.xml | 1 +
.../x86_64-cpuid-Opteron-1352-host.xml | 1 +
.../x86_64-cpuid-Opteron-2350-guest.xml | 1 +
.../x86_64-cpuid-Opteron-2350-host.xml | 1 +
.../x86_64-cpuid-Opteron-2350-json.xml | 2 +-
.../x86_64-cpuid-Phenom-B95-guest.xml | 1 +
.../x86_64-cpuid-Phenom-B95-json.xml | 2 +-
...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 +
...64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml | 2 +-
.../domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
.../cpu-host-model-cmt.x86_64-4.0.0.args | 6 +-
43 files changed, 223 insertions(+), 78 deletions(-)
--
2.29.2