mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
nested vmx: enable Descriptor-table exiting for L1 VMM
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Acked-by: Jun Nakajima <jun.nakajima@intel.com> Committed-by: Keir Fraser <keir@xen.org>
This commit is contained in:
1 parent
6034456b6f
commit
d2bddeb9d5
2 files changed
+8
-1
No files matched your search
@@ -1300,7 +1300,7 @@ int nvmx_msr_read_intercept(unsigned int msr, u64 *msr_content)
|
||||
break;
|
||||
case MSR_IA32_VMX_PROCBASED_CTLS2:
|
||||
/* 1-seetings */
|
||||
data = 0;
|
||||
data = SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING;
|
||||
/* 0-settings */
|
||||
tmp = 0;
|
||||
data = (data << 32) | tmp;
|
||||
@@ -1507,6 +1507,12 @@ int nvmx_n2_vmexit_handler(struct cpu_user_regs *regs,
|
||||
if ( ctrl & CPU_BASED_MONITOR_TRAP_FLAG)
|
||||
nvcpu->nv_vmexit_pending = 1;
|
||||
break;
|
||||
case EXIT_REASON_ACCESS_GDTR_OR_IDTR:
|
||||
case EXIT_REASON_ACCESS_LDTR_OR_TR:
|
||||
ctrl = __n2_secondary_exec_control(v);
|
||||
if ( ctrl & SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING )
|
||||
nvcpu->nv_vmexit_pending = 1;
|
||||
break;
|
||||
/* L1 has priority handling several other types of exits */
|
||||
case EXIT_REASON_HLT:
|
||||
ctrl = __n2_exec_control(v);
|
||||
|
||||
@@ -179,6 +179,7 @@ extern u32 vmx_vmentry_control;
|
||||
|
||||
#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
|
||||
#define SECONDARY_EXEC_ENABLE_EPT 0x00000002
|
||||
#define SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING 0x00000004
|
||||
#define SECONDARY_EXEC_ENABLE_RDTSCP 0x00000008
|
||||
#define SECONDARY_EXEC_ENABLE_VPID 0x00000020
|
||||
#define SECONDARY_EXEC_WBINVD_EXITING 0x00000040
|
||||
|
||||