Comment 7 for bug 1887490

Revision history for this message
Markus Schade (lp-markusschade) wrote : Re: Add/Backport EPYC-v3 and EPYC-Rome CPU model

Plain qemu with the EPYC-Rome model works without any problems. I already get xsave, xsaveopt, xsavec and xsaveerptr with the current focal kernel, which also means that gcc finally uses znver1 (for v3) and znver2 (for Rome) optimizations.

Libvirt would require cherrypicking a number of commits to enable support for all CPU flags currently supported by focal qemu and for the additional AMD flags from the mentioned patched.
I currently run a private build in production with the following patches added:

https://github.com/libvirt/libvirt/commits/master/src/cpu_map:

- cpu_map: Distinguish Cascadelake-Server from Skylake-Server (unrelated, but recommended)
- cpu_map: Add pschange-mc-no bit in IA32_ARCH_CAPABILITIES MSR
- cpu_map: Request test files update when adding x86 features
- cpu_map: Add missing x86 features in 0x7 CPUID leaf
- cpu_map: Add missing x86 features in 0x80000008 CPUID leaf

Plus the attached patch which defines an EPYC-Rome type (without any tests), so not quite ready for upstream