Displaying 2 results from an estimated 2 matches for "no_fill_cache_mod".
Did you mean:
no_fill_cache_mode
2013 Oct 30
3
[PATCH 4/4] XSA-60 security hole: flush cache when vmentry back to UC guest
..._access_uc_hvm_memory;
unsigned int opt_hvm_debug_level __read_mostly;
integer_param("hvm_debug", opt_hvm_debug_level);
@@ -2483,6 +2484,9 @@ static enum hvm_copy_result __hvm_copy(
return HVMCOPY_unhandleable;
#endif
+ if ( unlikely(curr->arch.hvm_vcpu.cache_mode == NO_FILL_CACHE_MODE) )
+ hypervisor_access_uc_hvm_memory = 1;
+
while ( todo > 0 )
{
count = min_t(int, PAGE_SIZE - (addr & ~PAGE_MASK), todo);
@@ -2596,6 +2600,9 @@ static enum hvm_copy_result __hvm_clear(paddr_t addr, int size)
return HVMCOPY_unhandleable;
#endif
+ if...
2013 Nov 25
14
[PATCH] VMX: wbinvd when vmentry under UC
...rch/x86/hvm/vmx/vmx.c
@@ -642,10 +642,6 @@ static void vmx_ctxt_switch_to(struct vcpu *v)
__invept(INVEPT_SINGLE_CONTEXT, ept_get_eptp(ept_data), 0);
}
- /* For guest cr0.cd setting, do not use potentially polluted cache */
- if ( unlikely(v->arch.hvm_vcpu.cache_mode == NO_FILL_CACHE_MODE) )
- wbinvd();
-
vmx_restore_guest_msrs(v);
vmx_restore_dr(v);
}
@@ -2967,6 +2963,27 @@ out:
nvmx_idtv_handling();
}
+/*
+ * wbinvd is a _very_ time consuming operation, so
+ * 1. wbinvd ... timer has a good possibility to expire while
+ * irq disabled, it then wou...