ia64/xen-unstable

changeset 14001:c5ff7671b9f2

linux: vmalloc_sync_all() is not a no-op when running in PAE mode on Xen.
Also vmalloc_sync_all() is only defined for x86 architectures so make
use of it in driver code conditional on CONFIG_X86.
Signed-off-by: Keir Fraser <keir@xensource.com>
author Keir Fraser <keir@xensource.com>
date Sat Feb 17 13:26:33 2007 +0000 (2007-02-17)
parents 31e65c4ba739
children b5fc88aad1b0
files linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c linux-2.6-xen-sparse/drivers/xen/util.c linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c	Sat Feb 17 09:59:00 2007 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c	Sat Feb 17 13:26:33 2007 +0000
     1.3 @@ -731,7 +731,7 @@ do_sigbus:
     1.4  	force_sig_info_fault(SIGBUS, BUS_ADRERR, address, tsk);
     1.5  }
     1.6  
     1.7 -#ifndef CONFIG_X86_PAE
     1.8 +#if !HAVE_SHARED_KERNEL_PMD
     1.9  void vmalloc_sync_all(void)
    1.10  {
    1.11  	/*
     2.1 --- a/linux-2.6-xen-sparse/drivers/xen/util.c	Sat Feb 17 09:59:00 2007 +0000
     2.2 +++ b/linux-2.6-xen-sparse/drivers/xen/util.c	Sat Feb 17 13:26:33 2007 +0000
     2.3 @@ -31,7 +31,9 @@ struct vm_struct *alloc_vm_area(unsigned
     2.4  	}
     2.5  
     2.6  	/* Map page directories into every address space. */
     2.7 +#ifdef CONFIG_X86
     2.8  	vmalloc_sync_all();
     2.9 +#endif
    2.10  
    2.11  	return area;
    2.12  }
     3.1 --- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h	Sat Feb 17 09:59:00 2007 +0000
     3.2 +++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h	Sat Feb 17 13:26:33 2007 +0000
     3.3 @@ -180,6 +180,6 @@ static inline pmd_t pfn_pmd(unsigned lon
     3.4  
     3.5  #define __pmd_free_tlb(tlb, x)		do { } while (0)
     3.6  
     3.7 -#define vmalloc_sync_all() ((void)0)
     3.8 +void vmalloc_sync_all(void);
     3.9  
    3.10  #endif /* _I386_PGTABLE_3LEVEL_H */