ia64/xen-unstable

changeset 19085:ef156b933aad

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 <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Sun Jan 25 10:16:11 2009 +0000 (2009-01-25)
parents 55bf9404a675
children 2f993fde1dc6
files xen/arch/ia64/xen/xensetup.c xen/arch/x86/tboot.c xen/drivers/passthrough/vtd/iommu.c
line diff
     1.1 --- a/xen/arch/ia64/xen/xensetup.c	Sun Jan 25 10:12:38 2009 +0000
     1.2 +++ b/xen/arch/ia64/xen/xensetup.c	Sun Jan 25 10:16:11 2009 +0000
     1.3 @@ -747,8 +747,3 @@ int xen_in_range(paddr_t start, paddr_t 
     1.4  
     1.5      return start < end;
     1.6  }
     1.7 -
     1.8 -int tboot_in_range(paddr_t start, paddr_t end)
     1.9 -{
    1.10 -    return 0;
    1.11 -}
     2.1 --- a/xen/arch/x86/tboot.c	Sun Jan 25 10:12:38 2009 +0000
     2.2 +++ b/xen/arch/x86/tboot.c	Sun Jan 25 10:16:11 2009 +0000
     2.3 @@ -96,18 +96,6 @@ int tboot_in_measured_env(void)
     2.4      return (g_tboot_shared != NULL);
     2.5  }
     2.6  
     2.7 -int tboot_in_range(paddr_t start, paddr_t end)
     2.8 -{
     2.9 -    if ( g_tboot_shared == NULL || g_tboot_shared->version < 0x02 )
    2.10 -        return 0;
    2.11 -
    2.12 -    start = max_t(paddr_t, start, g_tboot_shared->tboot_base);
    2.13 -    end = min_t(paddr_t, end, 
    2.14 -                g_tboot_shared->tboot_base + g_tboot_shared->tboot_size);
    2.15 - 
    2.16 -    return start < end; 
    2.17 -}
    2.18 -
    2.19  /*
    2.20   * Local variables:
    2.21   * mode: C
     3.1 --- a/xen/drivers/passthrough/vtd/iommu.c	Sun Jan 25 10:12:38 2009 +0000
     3.2 +++ b/xen/drivers/passthrough/vtd/iommu.c	Sun Jan 25 10:16:11 2009 +0000
     3.3 @@ -994,16 +994,11 @@ static int intel_iommu_domain_init(struc
     3.4      if ( d->domain_id == 0 )
     3.5      {
     3.6          extern int xen_in_range(paddr_t start, paddr_t end);
     3.7 -        extern int tboot_in_range(paddr_t start, paddr_t end);
     3.8  
     3.9 -        /* 
    3.10 -         * Set up 1:1 page table for dom0 except the critical segments
    3.11 -         * like Xen and tboot.
    3.12 -         */
    3.13 +        /* Set up 1:1 page table for dom0 for all RAM except Xen bits. */
    3.14          for ( i = 0; i < max_page; i++ )
    3.15          {
    3.16              if ( xen_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) ||
    3.17 -                 tboot_in_range(i << PAGE_SHIFT, (i + 1) << PAGE_SHIFT) ||
    3.18                   !memory_is_conventional_ram(i << PAGE_SHIFT) )
    3.19                  continue;
    3.20