Print this page
16413 Post-barrier Return Stack Buffer (consider no-eIBRS cases)
16413 Post-barrier Return Stack Buffer (PBRSB) fixes can be detected in HW

*** 932,941 **** --- 932,942 ---- #define X86FSET_AVX512_VBMI2 106 #define X86FSET_AVX512_BF16 107 #define X86FSET_AUTO_IBRS 108 #define X86FSET_RFDS_NO 109 #define X86FSET_RFDS_CLEAR 110 + #define X86FSET_PBRSB_NO 111 /* * Intel Deep C-State invariant TSC in leaf 0x80000007. */ #define CPUID_TSC_CSTATE_INVARIANCE (0x100)
*** 1584,1594 **** #if !defined(_ASM) #if defined(_KERNEL) || defined(_KMEMUSER) ! #define NUM_X86_FEATURES 111 extern uchar_t x86_featureset[]; extern void free_x86_featureset(void *featureset); extern boolean_t is_x86_feature(void *featureset, uint_t feature); extern void add_x86_feature(void *featureset, uint_t feature); --- 1585,1595 ---- #if !defined(_ASM) #if defined(_KERNEL) || defined(_KMEMUSER) ! #define NUM_X86_FEATURES 112 extern uchar_t x86_featureset[]; extern void free_x86_featureset(void *featureset); extern boolean_t is_x86_feature(void *featureset, uint_t feature); extern void add_x86_feature(void *featureset, uint_t feature);
*** 1607,1616 **** --- 1608,1618 ---- * These functions are all used to perform various side-channel mitigations. * Please see uts/i86pc/os/cpuid.c for more information. */ extern void (*spec_uarch_flush)(void); extern void x86_rsb_stuff(void); + extern void x86_rsb_stuff_vmexit(void); extern void x86_md_clear(void); #endif #if defined(_KERNEL)