The new qemu version works as expected together with 5.4.0-49 kernel
required for xsaves

# grep -e 'model name' -e 'flags' /proc/cpuinfo 
model name      : AMD EPYC-Rome Processor
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb 
rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 
fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor 
lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw 
topoext perfctr_core ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 
rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero 
xsaveerptr wbnoinvd arat npt nrip_save umip rdpid

Patches for libvirt are submitted upstream
https://www.redhat.com/archives/libvir-list/2020-October/msg00008.html

A version fitting for the focal version is attached

** Patch added: "Add-EPYC-ROME-x86-CPU-model.patch"
   
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1887490/+attachment/5416509/+files/Add-EPYC-ROME-x86-CPU-model.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1887490

Title:
  Add/Backport EPYC-v3 and EPYC-Rome CPU model

Status in libvirt package in Ubuntu:
  Incomplete
Status in linux package in Ubuntu:
  Invalid
Status in qemu package in Ubuntu:
  Fix Released
Status in libvirt source package in Focal:
  Incomplete
Status in linux source package in Focal:
  Fix Committed
Status in qemu source package in Focal:
  Fix Committed

Bug description:
  ## Qemu SRU ##

  [Impact]

   * CPU definitions are added to qemu as these CPUs are known.
     And due to that over time are missing in former releases.

   * To really benefit from the new features of these chips
     they have to be known, therefore new type additions done by
     upstream should be backported if they generally apply and do
     not depend on SRU-critical changes.

   * This backports two upstream fixes that just add definitions (no
     control flow changes)

  [Test Case]

   * Probe qemu for the known CPU types (works on all HW)
     $ qemu-system-x86_64 -cpu ? | grep EPYC
     Focal without fix:
     x86 EPYC                  (alias configured by machine type)              
     x86 EPYC-IBPB             (alias of EPYC-v2)                              
     x86 EPYC-v1               AMD EPYC Processor                              
     x86 EPYC-v2               AMD EPYC Processor (with IBPB)
     Focal with fix also adds:
     x86 EPYC-Rome             (alias configured by machine type)               
         
     x86 EPYC-Rome-v1          AMD EPYC-Rome Processor                          
         
     x86 EPYC-v3               AMD EPYC Processor 

   * Given such HW is available start a KVM guest using those new types
     Since we don't have libvirt support (yet) do so directly in qemu 
     commandline like (bootloader is enough)
     $ qemu-system-x86_64 -cpu EPYC-Rome -machine pc-q35-focal,accel=kvm 
-nographic
     $ qemu-system-x86_64 -cpu EPYC-v3 -machine pc-q35-focal,accel=kvm 
-nographic

  [Regression Potential]

   * This adds new CPU types to the list of known CPUs defining their name
     and features. Generally the changes are contained to those new types
     and only active when selected - and usually only selectable on such new 
     machines. Therefore not a lot should change for other users.
     One thing thou, if a user selected an unversioned type (which in this 
     case only can be "EPYC") by default it will pick the latest subversion
     that applies. In this case the behavior will change and pick EPYC-v3 
     after the fix. But this is the whole purpose of versioned (stay as is) 
     and unversioned (move with updates) CPU types - so that should be ok.
     The EPYC-Rome type didn't exist in Focal before, so it can't "change" 
     for users.

  
  [Other Info]
   
   * Depends on the new kernel 5.4.0-49 or later (Currently in
     focal-proposed)

  ---

  Qemu in focal has already support for most (except amd-stibp) flags of
  this model.

  Please backport the following patches:

  https://github.com/qemu/qemu/commit/a16e8dbc043720abcb37fc7dca313e720b4e0f0c

  https://github.com/qemu/qemu/commit/143c30d4d346831a09e59e9af45afdca0331e819

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1887490/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to