The Cascadelake-Server CPU was added last year in
commit c7a88b52f62b30c04158eeb07f73e3f72221b6a8
Author: Tao Xu <address@hidden>
Date: Wed Sep 19 11:11:22 2018 +0800
i386: Add new model of Cascadelake-Server
The commit message says that MSR based features are initially
omitted from its definition:
[quote]
On Cascadelake, some capabilities (RDCL_NO, IBRS_ALL, RSBA,
SKIP_L1DFL_VMENTRY and SSB_NO) are enumerated by MSR.
These features rely on MSR based feature support patch.
Will be added later after that patch's in.
http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg00074.html
[/quote]
The commits referenced in that URL, however, were merged *before*
this Cascadelake-Server CPU was merged in QEMU:
commit d86f963694df27f11b3681ffd225c9362de1b634
Author: Robert Hoo <address@hidden>
Date: Mon Oct 15 12:47:25 2018 +0800
x86: define a new MSR based feature word -- FEATURE_WORDS_ARCH_CAPABILITIES
commit 07585923485952bf4cb7da563c9f91fecc85d09c
Author: Robert Hoo <address@hidden>
Date: Mon Oct 15 12:47:24 2018 +0800
x86: Data structure changes to support MSR based features
commit f57bceb6ab5163ddd6c41ff4344ab8cf28a9c63d
Author: Robert Hoo <address@hidden>
Date: Mon Oct 15 12:47:23 2018 +0800
kvm: Add support to KVM_GET_MSR_FEATURE_INDEX_LIST and KVM_GET_MSRS system
ioctl
None the less, the Cascadelake-Server CPU in QEMU still does not appear
to have the RDCL_NO, IBRS_ALL, RSBA, SKIP_L1DFL_VMENTRY and SSB_NO
features present (unless I'm mis-reading the codE).
I see a later commit updated the stepping supposedly to enable
the MSR based features to be exposed but still doesn't appear to have
actually exposed them:
commit b0a1980384fc265d91de7e09aa5fe531a69e6288
Author: Tao Xu <address@hidden>
Date: Thu Dec 27 10:43:03 2018 +0800
i386: Update stepping of Cascadelake-Server
Update the stepping from 5 to 6, in order that
the Cascadelake-Server CPU model can support AVX512VNNI
and MSR based features exposed by ARCH_CAPABILITIES.
Can anyone shed light on what the status is wrt exposing the MSR based
features in Cascadelake-Server ?