[PATCH v4 15/23] x86/hvm: check for VMX in SMX if Slaunch is active
Sergii Dmytruk <[email protected]> Sun, 2 Aug 2026 16:09:31 +0300
| Newsgroups | org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <239c0018e4c51a00bf4134971d3e15bf73947042.1785668458.git.sergii.dmytruk@3mdeb.com> |
From: Michał Żygowski <[email protected]> Check whther IA32_FEATURE_CONTROL has the proper bits enabled to run VMX in SMX when slaunch is active. Signed-off-by: Michał Żygowski <[email protected]> Signed-off-by: Sergii Dmytruk <[email protected]> Acked-by: Jan Beulich <[email protected]> --- Notes: v4: added Acked-by xen/arch/x86/hvm/vmx/vmcs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index 8e52ef4d49..3c5dfd7c1b 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -30,6 +30,7 @@ #include <asm/msr.h> #include <asm/processor.h> #include <asm/shadow.h> +#include <asm/slaunch.h> #include <asm/spec_ctrl.h> #include <asm/tboot.h> #include <asm/xstate.h> @@ -742,7 +743,7 @@ static int _vmx_cpu_up(bool bsp) bios_locked = !!(eax & IA32_FEATURE_CONTROL_LOCK); if ( bios_locked ) { - if ( !(eax & (tboot_in_measured_env() + if ( !(eax & (tboot_in_measured_env() || slaunch_active ? IA32_FEATURE_CONTROL_ENABLE_VMXON_INSIDE_SMX : IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX)) ) { -- 2.55.0