[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] linux: vmalloc_sync_all() is not a no-op when running in PAE mode on Xen.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1171718793 0
# Node ID c5ff7671b9f29d7862f00ef6e6bdb464d96c2c10
# Parent  31e65c4ba739cc8fcd14fb4198a76a63f1bd5049
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@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c                       |    2 +-
 linux-2.6-xen-sparse/drivers/xen/util.c                             |    2 ++
 linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff -r 31e65c4ba739 -r c5ff7671b9f2 
linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c     Sat Feb 17 09:59:00 
2007 +0000
+++ b/linux-2.6-xen-sparse/arch/i386/mm/fault-xen.c     Sat Feb 17 13:26:33 
2007 +0000
@@ -731,7 +731,7 @@ do_sigbus:
        force_sig_info_fault(SIGBUS, BUS_ADRERR, address, tsk);
 }
 
-#ifndef CONFIG_X86_PAE
+#if !HAVE_SHARED_KERNEL_PMD
 void vmalloc_sync_all(void)
 {
        /*
diff -r 31e65c4ba739 -r c5ff7671b9f2 linux-2.6-xen-sparse/drivers/xen/util.c
--- a/linux-2.6-xen-sparse/drivers/xen/util.c   Sat Feb 17 09:59:00 2007 +0000
+++ b/linux-2.6-xen-sparse/drivers/xen/util.c   Sat Feb 17 13:26:33 2007 +0000
@@ -31,7 +31,9 @@ struct vm_struct *alloc_vm_area(unsigned
        }
 
        /* Map page directories into every address space. */
+#ifdef CONFIG_X86
        vmalloc_sync_all();
+#endif
 
        return area;
 }
diff -r 31e65c4ba739 -r c5ff7671b9f2 
linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h
--- a/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h       
Sat Feb 17 09:59:00 2007 +0000
+++ b/linux-2.6-xen-sparse/include/asm-i386/mach-xen/asm/pgtable-3level.h       
Sat Feb 17 13:26:33 2007 +0000
@@ -180,6 +180,6 @@ static inline pmd_t pfn_pmd(unsigned lon
 
 #define __pmd_free_tlb(tlb, x)         do { } while (0)
 
-#define vmalloc_sync_all() ((void)0)
+void vmalloc_sync_all(void);
 
 #endif /* _I386_PGTABLE_3LEVEL_H */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.