aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/hvm/vmx
diff options
context:
space:
mode:
authorJiongxi Li <jiongxi.li@intel.com>2012-09-17 21:04:08 +0100
committerJiongxi Li <jiongxi.li@intel.com>2012-09-17 21:04:08 +0100
commitf62b02e177cd03da2b8397b9bdf1a53b541df3f3 (patch)
tree027525f95f8aa2466520d406fe91937673aad791 /xen/include/asm-x86/hvm/vmx
parent3a91769d6e1664f73ff31e6620000302ecb60286 (diff)
downloadxen-f62b02e177cd03da2b8397b9bdf1a53b541df3f3.tar.gz
xen-f62b02e177cd03da2b8397b9bdf1a53b541df3f3.tar.bz2
xen-f62b02e177cd03da2b8397b9bdf1a53b541df3f3.zip
xen: enable APIC-Register Virtualization
Add APIC register virtualization support - APIC read doesn't cause VM-Exit - APIC write becomes trap-like Signed-off-by: Gang Wei <gang.wei@intel.com> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com> Signed-off-by: Jiongxi Li <jiongxi.li@intel.com>
Diffstat (limited to 'xen/include/asm-x86/hvm/vmx')
-rw-r--r--xen/include/asm-x86/hvm/vmx/vmcs.h3
-rw-r--r--xen/include/asm-x86/hvm/vmx/vmx.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h
index 975bc13b1f..7e57dc2cbf 100644
--- a/xen/include/asm-x86/hvm/vmx/vmcs.h
+++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
@@ -180,6 +180,7 @@ extern u32 vmx_vmentry_control;
#define SECONDARY_EXEC_ENABLE_VPID 0x00000020
#define SECONDARY_EXEC_WBINVD_EXITING 0x00000040
#define SECONDARY_EXEC_UNRESTRICTED_GUEST 0x00000080
+#define SECONDARY_EXEC_APIC_REGISTER_VIRT 0x00000100
#define SECONDARY_EXEC_PAUSE_LOOP_EXITING 0x00000400
#define SECONDARY_EXEC_ENABLE_INVPCID 0x00001000
extern u32 vmx_secondary_exec_control;
@@ -228,6 +229,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr_info;
SECONDARY_EXEC_UNRESTRICTED_GUEST)
#define cpu_has_vmx_ple \
(vmx_secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING)
+#define cpu_has_vmx_apic_reg_virt \
+ (vmx_secondary_exec_control & SECONDARY_EXEC_APIC_REGISTER_VIRT)
/* GUEST_INTERRUPTIBILITY_INFO flags. */
#define VMX_INTR_SHADOW_STI 0x00000001
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index 6d9402b182..27704f1f38 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -129,6 +129,7 @@ void vmx_update_cpu_exec_control(struct vcpu *v);
#define EXIT_REASON_INVVPID 53
#define EXIT_REASON_WBINVD 54
#define EXIT_REASON_XSETBV 55
+#define EXIT_REASON_APIC_WRITE 56
#define EXIT_REASON_INVPCID 58
/*