From: Keir Fraser Date: Sun, 25 Jan 2009 10:16:11 +0000 (+0000) Subject: vt-d: Do not explicitly exclude tboot ranges from dom0 vt-d X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14014^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f610be82c2cb10eb686f440c5d3968d7d6b0c5cf;p=xen.git vt-d: Do not explicitly exclude tboot ranges from dom0 vt-d mappings. tboot is not registered as RAM in e820 tables, and hence will not be mapped anyway (fails memory_is_conventional_ram() check). Signed-off-by: Keir Fraser --- diff --git a/xen/arch/ia64/xen/xensetup.c b/xen/arch/ia64/xen/xensetup.c index 923774a6e6..330cf920ee 100644 --- a/xen/arch/ia64/xen/xensetup.c +++ b/xen/arch/ia64/xen/xensetup.c @@ -747,8 +747,3 @@ int xen_in_range(paddr_t start, paddr_t end) return start < end; } - -int tboot_in_range(paddr_t start, paddr_t end) -{ - return 0; -} diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c index ec4aa9436d..697ca9f461 100644 --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -96,18 +96,6 @@ int tboot_in_measured_env(void) return (g_tboot_shared != NULL); } -int tboot_in_range(paddr_t start, paddr_t end) -{ - if ( g_tboot_shared == NULL || g_tboot_shared->version < 0x02 ) - return 0; - - start = max_t(paddr_t, start, g_tboot_shared->tboot_base); - end = min_t(paddr_t, end, - g_tboot_shared->tboot_base + g_tboot_shared->tboot_size); - - return start < end; -} - /* * Local variables: * mode: C diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 76ecf5801d..905ac51b81 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -994,16 +994,11 @@ static int intel_iommu_domain_init(struct domain *d) if ( d->domain_id == 0 ) { extern int xen_in_range(paddr_t start, paddr_t end); - extern int tboot_in_range(paddr_t start, paddr_t end); - /* - * Set up 1:1 page table for dom0 except the critical segments - * like Xen and tboot. - */ + /* Set up 1:1 page table for dom0 for all RAM except Xen bits. */ for ( i = 0; i < max_page; i++ ) { if ( xen_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) || - tboot_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) || !memory_is_conventional_ram(i << PAGE_SHIFT) ) continue;