Comment 32 for bug 1828495

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Some updates to libvirt:
- we already have ssbd/md-clear through security updates
- rdctl-no, ibrs-all, skip-l1dfl-vmentry, mds-no are part of
  c8ec678f cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features
- arch_capabilities itself comes in 511df17a

There are also updates to the cascade/icelake cpu types. They related to the qemu commits, but not necessary for the feature support itself. Yet having those named types recognized would be nice to have along the qemu feature backports (If they cause trouble we will skip them).
 2878278c cpu_map: Add Cascadelake-Server CPU model
 5cae1f47 cpu_map: Use and install Icelake model definitions
 993d85ae cpu_map: Add Icelake CPU models

We have not backported any of the features associated with:
 98130811 cpu_map: Add features for Icelake CPUs
Further there also is stibp in:
  eb1b551d cpu: Add support for "stibp" x86_64 feature
But that isn't the preferred way to mititgate anyway and hence isn't backported in qemu for now, see https://lwn.net/Articles/773118/ for some details.
OTOH it would not really hurt to "detect" those properly, that does not mean they would be used on a qemu not supporting them.
And having them reduces some context noise, as above we will try to backport but if those cause trouble we might skip them.

All the pacthes above have some context/series they need on top.
There also were some file renaming actions, so this needs quite some effort to have the backports stay sane.
We have to check that and create a full list of dependent changes.

Some of the changes realize that qemu can't always present what it can support in older versions (unavailable-features probing). So host-model woudl skip them, but the core code for that is in qemu since 2016. I have not found a unavailable-features-MSR patch for qemu - but if there is one this might be needed.

The list above extended by some context patches that we might need creates this overall list that might be a good start:
(further indent being context to main changes)
   8eb4a89f qemu: Forbid MSR features with old QEMU
   2674d00e qemu: Drop MSR features from host-model with old QEMU
 c8ec678f cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features
   bcfed7f1 cpu_x86: Introduce virCPUx86FeatureFilter*MSR
   b8e086a5 cpu_x86: Turn virCPUx86DataIteratorInit into a function
   4e6f58b8 conf: Introduce virCPUDefCheckFeatures
 4a0f604d cpu_map: Distribute x86_Cascadelake-Server.xml
 2878278c cpu_map: Add Cascadelake-Server CPU model
 511df17a cpu_map: Add support for arch-capabilities feature
   eb1b551d cpu: Add support for "stibp" x86_64 feature
 5cae1f47 cpu_map: Use and install Icelake model definitions
 993d85ae cpu_map: Add Icelake CPU models
   98130811 cpu_map: Add features for Icelake CPUs