Re: [PATCH v12 20/24] KVM: x86: Enable CET virtualization for VMX and advertise to userspace
From: Sean Christopherson
Date: Tue Aug 19 2025 - 14:50:09 EST
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),
> );
>