[libvirt PATCH 0/8] Drop 'monitor' from modern x86 CPU models

Daniel P. Berrangé berrange at redhat.com
Mon Nov 23 10:15:11 UTC 2020


On Fri, Nov 20, 2020 at 08:38:59PM +0100, Jiri Denemark wrote:
> 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.

QEMU introduced versioned CPU models to allow them to add/remove
arbitrary features within a named model. What's the timeframe for
supporting those in libvirt. IIUC, that should stop us needing to
introduce special workarounds like this series ? 

> 
> 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
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list