search for: vmx_vmenter_helper

Displaying 3 results from an estimated 3 matches for "vmx_vmenter_helper".

2013 Oct 30
3
[PATCH 4/4] XSA-60 security hole: flush cache when vmentry back to UC guest
...while ( todo > 0 ) { count = min_t(int, PAGE_SIZE - (addr & ~PAGE_MASK), todo); diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index d846a9c..1cea5a3 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -2974,6 +2974,13 @@ void vmx_vmenter_helper(const struct cpu_user_regs *regs) struct hvm_vcpu_asid *p_asid; bool_t need_flush; + /* In case hypervisor accessor hvm memory when guest uc mode */ + if ( unlikely(hypervisor_access_uc_hvm_memory) ) + { + hypervisor_access_uc_hvm_memory = 0; + wbinvd(); + } +...
2013 Nov 25
14
[PATCH] VMX: wbinvd when vmentry under UC
...e timer and then loop break, usually it would + * occur 10K~60K times, blocking guest 10s~60s. + * + * reprogram timer to avoid dead_like_loop. + */ +static inline void uc_wbinvd_and_timer_adjust(void) +{ + reprogram_timer(0); + wbinvd(); + reprogram_timer(NOW() + MILLISECS(1)); +} + void vmx_vmenter_helper(const struct cpu_user_regs *regs) { struct vcpu *curr = current; @@ -2974,6 +2991,13 @@ void vmx_vmenter_helper(const struct cpu_user_regs *regs) struct hvm_vcpu_asid *p_asid; bool_t need_flush; + /* + * In case hypervisor may access hvm guest memory, and then + * cache...
2012 Dec 10
26
[PATCH 00/11] Add virtual EPT support Xen.
From: Zhang Xiantao <xiantao.zhang@intel.com> With virtual EPT support, L1 hyerpvisor can use EPT hardware for L2 guest''s memory virtualization. In this way, L2 guest''s performance can be improved sharply. According to our testing, some benchmarks can show > 5x performance gain. Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Zhang Xiantao (11):