x86/EPT: relax treatment of APIC MFN
authorJan Beulich <jbeulich@suse.com>
Fri, 28 Mar 2014 12:43:25 +0000 (13:43 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 28 Mar 2014 12:43:25 +0000 (13:43 +0100)
There's no point in this being mapped UC by the guest due to using a
respective PAT index - set the ignore-PAT flag to true.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
xen/arch/x86/hvm/mtrr.c

index 170c8c124a9ac0062612fd5d6e0a1e79987eae26..df52a54f39bed24e521b5ac7ef4bcba11bdf7a53 100644 (file)
@@ -719,8 +719,12 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     }
 
     if ( direct_mmio )
-        return mfn_x(mfn) != d->arch.hvm_domain.vmx.apic_access_mfn
-               ? MTRR_TYPE_UNCACHABLE : MTRR_TYPE_WRBACK;
+    {
+        if ( mfn_x(mfn) != d->arch.hvm_domain.vmx.apic_access_mfn )
+            return MTRR_TYPE_UNCACHABLE;
+        *ipat = 1;
+        return MTRR_TYPE_WRBACK;
+    }
 
     if ( iommu_snoop )
     {