2013-09-09 15:27:39 +00:00
|
|
|
# Commit 850188e1278cecd1dfb9b936024bee2d8dfdcc18
|
|
|
|
# Date 2013-08-27 11:11:38 +0200
|
|
|
|
# Author Jan Beulich <jbeulich@suse.com>
|
|
|
|
# Committer Jan Beulich <jbeulich@suse.com>
|
|
|
|
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>
|
|
|
|
|
2013-10-02 22:41:46 +00:00
|
|
|
--- a/xen/arch/x86/domain_build.c
|
|
|
|
+++ b/xen/arch/x86/domain_build.c
|
2013-09-09 15:27:39 +00:00
|
|
|
@@ -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++ )
|