On Mon, Aug 11, 2025, Chao Gao wrote: > diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h > index ce10a7e2d3d9..c85c50019523 100644 > --- a/arch/x86/include/asm/vmx.h > +++ b/arch/x86/include/asm/vmx.h > @@ -134,6 +134,7 @@ > #define VMX_BASIC_DUAL_MONITOR_TREATMENT BIT_ULL(49) > #define VMX_BASIC_INOUT BIT_ULL(54) > #define VMX_BASIC_TRUE_CTLS BIT_ULL(55) > +#define VMX_BASIC_NO_HW_ERROR_CODE_CC BIT_ULL(56) > > static inline u32 vmx_basic_vmcs_revision_id(u64 vmx_basic) > { > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 85079caaf507..2515b2623fb1 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -944,6 +944,7 @@ void kvm_set_cpu_caps(void) > VENDOR_F(WAITPKG), > F(SGX_LC), > F(BUS_LOCK_DETECT), > + F(SHSTK), I think we should limit this to 64-bit kernels with X86_64_F(). It probably won't change anything in practice, but we mitigate the virtualization holes related to 32-bit vCPUs at least a little bit. > ); > > /* > @@ -970,6 +971,7 @@ void kvm_set_cpu_caps(void) > F(AMX_INT8), > F(AMX_BF16), > F(FLUSH_L1D), > + F(IBT), > ); >