vt-d: Exclude non-RAM pages (as reported by boot firmware) from dom0 mappings.
authorKeir Fraser <keir.fraser@citrix.com>
Sat, 24 Jan 2009 09:25:25 +0000 (09:25 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Sat, 24 Jan 2009 09:25:25 +0000 (09:25 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/drivers/passthrough/vtd/iommu.c

index 63806a498ec6e232c22fdd67ff9c48ef8b472900..76ecf5801d8ae5263cbd50e8324930ec7a5dd905 100644 (file)
@@ -1003,7 +1003,8 @@ static int intel_iommu_domain_init(struct domain *d)
         for ( i = 0; i < max_page; i++ )
         {
             if ( xen_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) ||
-                 tboot_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) )
+                 tboot_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) ||
+                 !memory_is_conventional_ram(i << PAGE_SHIFT) )
                 continue;
 
             tmp = 1 << (PAGE_SHIFT - PAGE_SHIFT_4K);