x86, hvm: Only warn on memory attribute conflicts for real RAM.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 5 Nov 2008 10:25:11 +0000 (10:25 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 5 Nov 2008 10:25:11 +0000 (10:25 +0000)
From: Disheng Su <disheng.su@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/mtrr.c

index 77f31a6f7f3e62ca2eb01c4e835a1af23422d96c..7344576f16dcbea771ce0101abf2d13aa85505f5 100644 (file)
@@ -392,12 +392,13 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
     {
-        gdprintk(XENLOG_WARNING,
-                 "Conflict occurs for a given guest l1e flags:%x "
-                 "at %"PRIx64" (the effective mm type:%d), "
-                 "because the host mtrr type is:%d\n",
-                 gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
-                 shadow_mtrr_type);
+        if (mfn_valid(paddr_to_pfn(spaddr)))
+            gdprintk(XENLOG_WARNING,
+                    "Conflict occurs for a given guest l1e flags:%x "
+                    "at %"PRIx64" (the effective mm type:%d), "
+                    "because the host mtrr type is:%d\n",
+                    gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
+                    shadow_mtrr_type);
         pat_entry_value = PAT_TYPE_UNCACHABLE;
     }
     /* 4. Get the pte flags */