aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/domain_build.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-08-27 11:12:12 +0200
committerJan Beulich <jbeulich@suse.com>2013-08-27 11:12:12 +0200
commitd838ac2539cf1987bea6e15662fd6a80a58fe26d (patch)
tree9c45e5dee6feb902e58e401dcfda3bb3af10dd78 /xen/arch/x86/domain_build.c
parent850188e1278cecd1dfb9b936024bee2d8dfdcc18 (diff)
downloadxen-d838ac2539cf1987bea6e15662fd6a80a58fe26d.tar.gz
xen-d838ac2539cf1987bea6e15662fd6a80a58fe26d.tar.bz2
xen-d838ac2539cf1987bea6e15662fd6a80a58fe26d.zip
x86: don't allow Dom0 access to the HT address range
In particular, MMIO assignments should not be done using this area. Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/domain_build.c')
-rw-r--r--xen/arch/x86/domain_build.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index 8365f327f4..232adf8db2 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -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++ )