This reverts commit
86d60e85 as well as one related change from
62652c00 ("VMX: fix cr0.cd handling"), on the basis that all of this
flushing is still insufficient and, while not known to fix anything, is
known to negatively affect performance.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Liu Jinsong <jinsong.liu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
return HVMCOPY_unhandleable;
#endif
- if ( unlikely(curr->arch.hvm_vcpu.cache_mode == NO_FILL_CACHE_MODE) )
- curr->arch.hvm_vcpu.hypervisor_access_uc_hvm_memory = 1;
-
while ( todo > 0 )
{
count = min_t(int, PAGE_SIZE - (addr & ~PAGE_MASK), todo);
return HVMCOPY_unhandleable;
#endif
- if ( unlikely(curr->arch.hvm_vcpu.cache_mode == NO_FILL_CACHE_MODE) )
- curr->arch.hvm_vcpu.hypervisor_access_uc_hvm_memory = 1;
-
while ( todo > 0 )
{
count = min_t(int, PAGE_SIZE - (addr & ~PAGE_MASK), todo);
__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);
}
struct hvm_vcpu_asid *p_asid;
bool_t need_flush;
- /* In case hypervisor access hvm memory when guest uc mode */
- if ( unlikely(curr->arch.hvm_vcpu.hypervisor_access_uc_hvm_memory) )
- {
- curr->arch.hvm_vcpu.hypervisor_access_uc_hvm_memory = 0;
- wbinvd();
- }
-
if ( !cpu_has_vmx_vpid )
goto out;
if ( nestedhvm_vcpu_in_guestmode(curr) )
/* Which cache mode is this VCPU in (CR0:CD/NW)? */
u8 cache_mode;
- bool_t hypervisor_access_uc_hvm_memory;
struct hvm_vcpu_io hvm_io;