diff options
author | Zhang Xiantao <xiantao.zhang@intel.com> | 2013-01-15 11:18:46 +0100 |
---|---|---|
committer | Zhang Xiantao <xiantao.zhang@intel.com> | 2013-01-15 11:18:46 +0100 |
commit | b2c0b32f5ad9ce6f280982e37afb444b94ee7d5d (patch) | |
tree | 3fa9914faba94ae66ea461f0eb5e206317038595 /xen/include/asm-x86/hvm/vmx | |
parent | 90805dcb16a1f4132b9dec0726cc56de4d771cc5 (diff) | |
download | xen-b2c0b32f5ad9ce6f280982e37afb444b94ee7d5d.tar.gz xen-b2c0b32f5ad9ce6f280982e37afb444b94ee7d5d.tar.bz2 xen-b2c0b32f5ad9ce6f280982e37afb444b94ee7d5d.zip |
nEPT: Try to enable EPT paging for L2 guest
Once found EPT is enabled by L1 VMM, enabled nested EPT support
for L2 guest.
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Acked-by: Tim Deegan <tim@xen.org>
Acked-by: Jun Nakajima <jun.nakajima@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/include/asm-x86/hvm/vmx')
-rw-r--r-- | xen/include/asm-x86/hvm/vmx/vvmx.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/include/asm-x86/hvm/vmx/vvmx.h index 33d059a31f..5f92784b9c 100644 --- a/xen/include/asm-x86/hvm/vmx/vvmx.h +++ b/xen/include/asm-x86/hvm/vmx/vvmx.h @@ -33,9 +33,10 @@ struct nestedvmx { u32 error_code; } intr; struct { + bool_t enabled; uint32_t exit_reason; uint32_t exit_qual; - } ept_exit; + } ept; }; #define vcpu_2_nvmx(v) (vcpu_nestedhvm(v).u.nvmx) @@ -110,6 +111,8 @@ int nvmx_intercepts_exception(struct vcpu *v, unsigned int trap, int error_code); void nvmx_domain_relinquish_resources(struct domain *d); +bool_t nvmx_ept_enabled(struct vcpu *v); + int nvmx_handle_vmxon(struct cpu_user_regs *regs); int nvmx_handle_vmxoff(struct cpu_user_regs *regs); @@ -178,6 +181,8 @@ enum vvmcs_encoding_type { u64 __get_vvmcs(void *vvmcs, u32 vmcs_encoding); void __set_vvmcs(void *vvmcs, u32 vmcs_encoding, u64 val); +uint64_t get_shadow_eptp(struct vcpu *v); + void nvmx_destroy_vmcs(struct vcpu *v); int nvmx_handle_vmptrld(struct cpu_user_regs *regs); int nvmx_handle_vmptrst(struct cpu_user_regs *regs); |