diff options
author | Jiongxi Li <jiongxi.li@intel.com> | 2012-09-17 21:04:08 +0100 |
---|---|---|
committer | Jiongxi Li <jiongxi.li@intel.com> | 2012-09-17 21:04:08 +0100 |
commit | f62b02e177cd03da2b8397b9bdf1a53b541df3f3 (patch) | |
tree | 027525f95f8aa2466520d406fe91937673aad791 /xen/include/asm-x86/hvm/vmx | |
parent | 3a91769d6e1664f73ff31e6620000302ecb60286 (diff) | |
download | xen-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.h | 3 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/vmx/vmx.h | 1 |
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 /* |