|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [xenppc-unstable] [LINUX][X86_64] Destroy initial page-table ma
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxxxx
# Node ID 40331b1545d2de761b3d4d2777ff9349eceb5c1a
# Parent a3733a587a9ce1348ef429f4495781592191ec6f
[LINUX][X86_64] Destroy initial page-table mappings to avoid overlap with
modules.
The temporary mappings needed to set up the 1:1 mappings must be torn
down after use; otherwise they may trigger the
WARN_ON() in vmap_pte_range() (namely if the chunk allocated to hold
kernel and initial page tables gets close to or
exceeds 128Mb, or if a sufficiently high mem= argument causes the
static allocations to grow beyond 128Mb, which in
either case means these mappings extend into the modules area).
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletion(-)
diff -r a3733a587a9c -r 40331b1545d2
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c
--- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c Fri Jun 02 17:54:55
2006 +0100
+++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c Fri Jun 02 18:06:50
2006 +0100
@@ -666,7 +666,18 @@ void __meminit init_memory_mapping(unsig
set_pgd(pgd_offset_k(start), mk_kernel_pgd(pud_phys));
}
- BUG_ON(!after_bootmem && start_pfn != table_end);
+ if (!after_bootmem) {
+ BUG_ON(start_pfn != table_end);
+ /*
+ * Destroy the temporary mappings created above. Prevents
+ * overlap with modules area (if init mapping is very big).
+ */
+ start = __START_KERNEL_map + (table_start << PAGE_SHIFT);
+ end = __START_KERNEL_map + (table_end << PAGE_SHIFT);
+ for (; start < end; start += PAGE_SIZE)
+ WARN_ON(HYPERVISOR_update_va_mapping(
+ start, __pte_ma(0), 0));
+ }
__flush_tlb_all();
}
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [XenPPC] [xenppc-unstable] [LINUX][X86_64] Destroy initial page-table mappings to avoid overlap with modules.,
Xen patchbot-xenppc-unstable <=
|
|
|
|
|