diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-08-27 11:11:38 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-08-27 11:11:38 +0200 |
commit | 850188e1278cecd1dfb9b936024bee2d8dfdcc18 (patch) | |
tree | 5aa18fb3a28bd285254984898a05f6f66d4d66ab /xen/arch/x86/domain_build.c | |
parent | 8a7769b4453168e23e8935a85e9a875ef5117253 (diff) | |
download | xen-850188e1278cecd1dfb9b936024bee2d8dfdcc18.tar.gz xen-850188e1278cecd1dfb9b936024bee2d8dfdcc18.tar.bz2 xen-850188e1278cecd1dfb9b936024bee2d8dfdcc18.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>
Diffstat (limited to 'xen/arch/x86/domain_build.c')
-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++ ) |