diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-09-09 11:45:16 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-09 11:45:16 +0200 |
commit | b9e3a6e16a6f46e20d300e21100ac1aeadac1c33 (patch) | |
tree | 939c153dc26e17df3c19a3779634313d18be2024 | |
parent | 25ec2ee4122167d85c847f51834c787767b96ba1 (diff) | |
download | xen-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.c | 4 |
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++ ) |