aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-09-09 11:45:16 +0200
committerJan Beulich <jbeulich@suse.com>2013-09-09 11:45:16 +0200
commitb9e3a6e16a6f46e20d300e21100ac1aeadac1c33 (patch)
tree939c153dc26e17df3c19a3779634313d18be2024
parent25ec2ee4122167d85c847f51834c787767b96ba1 (diff)
downloadxen-b9e3a6e16a6f46e20d300e21100ac1aeadac1c33.tar.gz
xen-b9e3a6e16a6f46e20d300e21100ac1aeadac1c33.tar.bz2
xen-b9e3a6e16a6f46e20d300e21100ac1aeadac1c33.zip
x86: don't allow Dom0 access to the MSI address range
In particular, MMIO assignments should not be done using this area. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by Xiantao Zhang <xiantao.zhang@intel.com> master commit: 850188e1278cecd1dfb9b936024bee2d8dfdcc18 master date: 2013-08-27 11:11:38 +0200
-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 03fe845e4b..8365f327f4 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -1122,6 +1122,10 @@ int __init construct_dom0(
if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
rc |= iomem_deny_access(dom0, mfn, mfn);
}
+ /* MSI range. */
+ rc |= iomem_deny_access(dom0, paddr_to_pfn(MSI_ADDR_BASE_LO),
+ paddr_to_pfn(MSI_ADDR_BASE_LO +
+ MSI_ADDR_DEST_ID_MASK));
/* Remove access to E820_UNUSABLE I/O regions above 1MB. */
for ( i = 0; i < e820.nr_map; i++ )