31 lines
1.0 KiB
Diff
31 lines
1.0 KiB
Diff
# HG changeset patch
|
|
# User Dongxiao Xu <dongxiao.xu@intel.com>
|
|
# Date 1354813046 0
|
|
# Node ID 1ed1507fa0407f1da715d04fe1b510e81ca4fb31
|
|
# Parent e6eb1e52da7cfcb1a7697b35b4d842f35107d1ed
|
|
nested vmx: enable IA32E mode while do VM entry
|
|
|
|
Some VMMs may check the platform capability to judge whether long
|
|
mode guest is supported. Therefore we need to expose this bit to
|
|
guest VMM.
|
|
|
|
Xen on Xen works fine in current solution because Xen doesn't
|
|
check this capability but directly set it in VMCS if guest
|
|
supports long mode.
|
|
|
|
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
Acked-by: Jan Beulich <jbeulich@suse.com>
|
|
Committed-by: Keir Fraser <keir@xen.org>
|
|
|
|
--- a/xen/arch/x86/hvm/vmx/vvmx.c
|
|
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
|
|
@@ -1351,7 +1351,7 @@ int nvmx_msr_read_intercept(unsigned int
|
|
case MSR_IA32_VMX_ENTRY_CTLS:
|
|
/* bit 0-8, and 12 must be 1 (refer G5 of SDM) */
|
|
data = 0x11ff;
|
|
- data = (data << 32) | data;
|
|
+ data = ((data | VM_ENTRY_IA32E_MODE) << 32) | data;
|
|
break;
|
|
|
|
case IA32_FEATURE_CONTROL_MSR:
|