x86: don't allow Dom0 access to the HT address range
authorJan Beulich <jbeulich@suse.com>
Tue, 27 Aug 2013 09:12:12 +0000 (11:12 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 27 Aug 2013 09:12:12 +0000 (11:12 +0200)
In particular, MMIO assignments should not be done using this area.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/domain_build.c

index 8365f327f43cd52cbf239821135125c256ec0642..232adf8db21a0fa611d3f8741a5e2f6510f93f98 100644 (file)
@@ -1126,6 +1126,10 @@ int __init construct_dom0(
     rc |= iomem_deny_access(dom0, paddr_to_pfn(MSI_ADDR_BASE_LO),
                             paddr_to_pfn(MSI_ADDR_BASE_LO +
                                          MSI_ADDR_DEST_ID_MASK));
+    /* HyperTransport range. */
+    if ( boot_cpu_data.x86_vendor == X86_VENDOR_AMD )
+        rc |= iomem_deny_access(dom0, paddr_to_pfn(0xfdULL << 32),
+                                paddr_to_pfn((1ULL << 40) - 1));
 
     /* Remove access to E820_UNUSABLE I/O regions above 1MB. */
     for ( i = 0; i < e820.nr_map; i++ )