]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
x86/mtrr: recalculate P2M type for domains with iocaps
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Tue, 4 Jun 2019 13:34:21 +0000 (15:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 4 Jun 2019 13:34:21 +0000 (15:34 +0200)
This change reflects the logic in epte_get_entry_emt() and allows
changes in guest MTTRs to be reflected in EPT for domains having
direct access to certain hardware memory regions but without IOMMU
context assigned (e.g. XenGT).

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: f3d880bf2be92534c5bacf11de2f561cbad550fb
master date: 2019-05-13 09:54:45 +0200

xen/arch/x86/hvm/mtrr.c

index b8fa340d5a966d308377a777f25234afc7d01880..7ccd85bcea3035db032bc87ecaa20b1219434603 100644 (file)
@@ -783,7 +783,7 @@ HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, hvm_load_mtrr_msr, 1,
 
 void memory_type_changed(struct domain *d)
 {
-    if ( has_iommu_pt(d) && d->vcpu && d->vcpu[0] )
+    if ( (has_iommu_pt(d) || cache_flush_permitted(d)) && d->vcpu && d->vcpu[0] )
     {
         p2m_memory_type_changed(d);
         flush_all(FLUSH_CACHE);