$ apt install qemu-system-x86 --no-install-recommends
...

root@j-2019968:~# qemu-system-x86_64 -cpu ? | grep EPYC-
x86 EPYC-IBPB             (alias of EPYC-v2)
x86 EPYC-Milan            (alias configured by machine type)
x86 EPYC-Milan-v1         AMD EPYC-Milan Processor
x86 EPYC-Rome             (alias configured by machine type)
x86 EPYC-Rome-v1          AMD EPYC-Rome Processor
x86 EPYC-Rome-v2          AMD EPYC-Rome Processor
x86 EPYC-v1               AMD EPYC Processor
x86 EPYC-v2               AMD EPYC Processor (with IBPB)
x86 EPYC-v3               AMD EPYC Processor

We see the original version has Milan and v1 of the same alias currently

Upgrading after enabling proposed

root@j-2019968:~# apt install qemu-system-x86 --no-install-recommends
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  qemu-system-common qemu-system-data
Suggested packages:
  samba vde2
Recommended packages:
  qemu-system-gui qemu-utils ovmf qemu-block-extra cpu-checker
The following packages will be upgraded:
  qemu-system-common qemu-system-data qemu-system-x86
3 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
Need to get 13.5 MB of archives.
After this operation, 6144 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 
qemu-system-x86 amd64 1:6.2+dfsg-2ubuntu6.25 [10.0 MB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 
qemu-system-common amd64 1:6.2+dfsg-2ubuntu6.25 [2048 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 
qemu-system-data all 1:6.2+dfsg-2ubuntu6.25 [1431 kB]
Fetched 13.5 MB in 4s (3529 kB/s)      
(Reading database ... 57540 files and directories currently installed.)
Preparing to unpack .../qemu-system-x86_1%3a6.2+dfsg-2ubuntu6.25_amd64.deb ...
Unpacking qemu-system-x86 (1:6.2+dfsg-2ubuntu6.25) over 
(1:6.2+dfsg-2ubuntu6.24) ...
Preparing to unpack .../qemu-system-common_1%3a6.2+dfsg-2ubuntu6.25_amd64.deb 
...
Unpacking qemu-system-common (1:6.2+dfsg-2ubuntu6.25) over 
(1:6.2+dfsg-2ubuntu6.24) ...
Preparing to unpack .../qemu-system-data_1%3a6.2+dfsg-2ubuntu6.25_all.deb ...
Unpacking qemu-system-data (1:6.2+dfsg-2ubuntu6.25) over 
(1:6.2+dfsg-2ubuntu6.24) ...
Setting up qemu-system-common (1:6.2+dfsg-2ubuntu6.25) ...
Setting up qemu-system-data (1:6.2+dfsg-2ubuntu6.25) ...
Setting up qemu-system-x86 (1:6.2+dfsg-2ubuntu6.25) ...
Processing triggers for man-db (2.10.2-1) ...


root@j-2019968:~# qemu-system-x86_64 -cpu ? | grep EPYC-
x86 EPYC-IBPB             (alias of EPYC-v2)
x86 EPYC-Milan            (alias configured by machine type)
x86 EPYC-Milan-v1         AMD EPYC-Milan Processor
x86 EPYC-Milan-v2         AMD EPYC-Milan-v2 Processor
x86 EPYC-Rome             (alias configured by machine type)
x86 EPYC-Rome-v1          AMD EPYC-Rome Processor
x86 EPYC-Rome-v2          AMD EPYC-Rome Processor
x86 EPYC-v1               AMD EPYC Processor
x86 EPYC-v2               AMD EPYC Processor (with IBPB)
x86 EPYC-v3               AMD EPYC Processor

It now knows about v2.
As Markus mentioned, there will be further changes to add v3/v4 in the future, 
but that should being the situation forward a bit without resetting it all.

This is already verifying the testcase, but let me also ask @Markus do you have 
a Milan system at hand to see if the Milan-v2 here works as expected on the 
real system?
I have not looked in our HW pool if I could have access to one and you might 
likely have that more easily - do you?

** Tags removed: verification-needed verification-needed-jammy
** Tags added: verification-done verification-done-jammy

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

Title:
  Add missing feature bits in EPYC-Milan model

Status in linux package in Ubuntu:
  Confirmed
Status in qemu package in Ubuntu:
  Fix Released
Status in linux source package in Jammy:
  Confirmed
Status in qemu source package in Jammy:
  Fix Committed
Status in linux source package in Kinetic:
  Won't Fix
Status in qemu source package in Kinetic:
  Won't Fix
Status in linux source package in Lunar:
  Won't Fix
Status in qemu source package in Lunar:
  Won't Fix
Status in linux source package in Mantic:
  Won't Fix
Status in qemu source package in Mantic:
  Won't Fix

Bug description:
  [Impact]

      Add the following feature bits for EPYC-Milan model and bump the version.
      vaes            : Vector VAES(ENC|DEC), VAES(ENC|DEC)LAST instruction 
support
      vpclmulqdq      : Vector VPCLMULQDQ instruction support
      stibp-always-on : Single Thread Indirect Branch Prediction Mode has 
enhanced
                        performance and may be left Always on
      amd-psfd        : Predictive Store Forward Disable
      no-nested-data-bp         : Processor ignores nested data breakpoints
      lfence-always-serializing : LFENCE instruction is always serializing
      null-sel-clr-base         : Null Selector Clears Base. When this bit is
                                  set, a null segment load clears the segment 
base

  [Test Plan]

   * First of all we'll (and have in advance) run general regression
  tests

   * Qemu shall show to be aware of the new types
     # qemu-system-x86_64 -cpu ? | grep EPYC-Milan
      x86 EPYC-Milan             (alias configured by machine type)
      x86 EPYC-Milan-v1          AMD EPYC-Milan Processor
      x86 EPYC-Milan-v2          AMD EPYC-Milan Processor

  [Where problems could occur]

   * There are two areas to look at
     a) compat behavior on old systems - e.g. libvirt would now detect IBRS
        on such AMD chips and one might wonder about the change.
        E.g. compatibility would exist between old-code/new-code/old->new
        code; but any action (e.g. suspend resume) from new to old code
        might run into trouble (not supported that way but worth to mention
        for awareness)
     b) Migrations between systems - this should be covered by chip
        versioning but still is worth to mention. Versioning will recognize
        a formerly started system as v1 and continue to handle it that way.
        Only new started guests would become v2 and behave the new and
        improved way.

  [Other Info]

   * n/a

  ---

  https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg02082.html

  
https://github.com/qemu/qemu/commit/27f03be6f59d04bd5673ba1e1628b2b490f9a9ff.patch

  This patch depends on the definitions that were added as part of the
  EPYC-Milan patch:

  amd-psfd, stibp-always-on:
  * 
https://github.com/qemu/qemu/commit/bb039a230e6a7920d71d21fa9afee2653a678c48.patch
  Add feature bits for CPUID_Fn80000021_EAX:
  * 
https://github.com/qemu/qemu/commit/b70eec312b185197d639bff689007727e596afd1.patch

  Kernel patches:
  https://lkml.kernel.org/lkml/20230124163319.2277355-1-kim.phill...@amd.com/

  kvm: Add support for CPUID_80000021_EAX
  * 
https://github.com/torvalds/linux/commit/8415a74852d7c24795007ee9862d25feb519007c.patch
  kvm: Add the NO_NESTED_DATA_BP feature
  * 
https://github.com/torvalds/linux/commit/a9dc9ec5a1fafc3d2fe7a7b594eefaeaccf89a6b.patch
  kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf
  * 
https://github.com/torvalds/linux/commit/84168ae786f8a15a7eb0f79d34f20b8d261ce2f5.patch
  kvm: Add the Null Selector Clears Base feature
  * 
https://github.com/torvalds/linux/commit/5b909d4ae59aedc711b7a432da021be0e82c95a0.patch
  kvm: Add the SMM_CTL MSR not present feature
  
https://github.com/torvalds/linux/commit/faabfcb194a8d0686396e3fff6a5b42911f65191.patch

  And probably this one as well:
  KVM: Add common feature flag for AMD's PSFD
  
https://github.com/torvalds/linux/commit/3d8f61bf8bcd69bcd397276d53aa18f7ca8347f9.patch

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2019968/+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