aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-02-21 06:50:51 -0500
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:40:45 -0400
commit85eb69a16aab5a394ce043c2131319eae35e6493 (patch)
treea372e2a5936e444c699495b25038f6158e875245
parentb4e0409a36f4533770a12095bde2a574a08a319e (diff)
x86: increase the kernel text limit to 512 MB
people sometimes do crazy stuff like building really large static arrays into their kernels or building allyesconfig kernels. Give more space to the kernel and push modules up a bit: kernel has 512 MB and modules have 1.5 GB. Should be enough for a few years ;-) Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/head_64.S4
-rw-r--r--include/asm-x86/page_64.h4
-rw-r--r--include/asm-x86/pgtable_64.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index a007454133a3..017216916dff 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -383,12 +383,12 @@ NEXT_PAGE(level2_ident_pgt)
383 383
384NEXT_PAGE(level2_kernel_pgt) 384NEXT_PAGE(level2_kernel_pgt)
385 /* 385 /*
386 * 128 MB kernel mapping. We spend a full page on this pagetable 386 * 512 MB kernel mapping. We spend a full page on this pagetable
387 * anyway. 387 * anyway.
388 * 388 *
389 * The kernel code+data+bss must not be bigger than that. 389 * The kernel code+data+bss must not be bigger than that.
390 * 390 *
391 * (NOTE: at +128MB starts the module area, see MODULES_VADDR. 391 * (NOTE: at +512MB starts the module area, see MODULES_VADDR.
392 * If you want to increase this then increase MODULES_VADDR 392 * If you want to increase this then increase MODULES_VADDR
393 * too.) 393 * too.)
394 */ 394 */
diff --git a/include/asm-x86/page_64.h b/include/asm-x86/page_64.h
index 143546073b95..aee05c616e05 100644
--- a/include/asm-x86/page_64.h
+++ b/include/asm-x86/page_64.h
@@ -48,10 +48,10 @@
48#define __VIRTUAL_MASK_SHIFT 48 48#define __VIRTUAL_MASK_SHIFT 48
49 49
50/* 50/*
51 * Kernel image size is limited to 128 MB (see level2_kernel_pgt in 51 * Kernel image size is limited to 512 MB (see level2_kernel_pgt in
52 * arch/x86/kernel/head_64.S), and it is mapped here: 52 * arch/x86/kernel/head_64.S), and it is mapped here:
53 */ 53 */
54#define KERNEL_IMAGE_SIZE (128*1024*1024) 54#define KERNEL_IMAGE_SIZE (512*1024*1024)
55#define KERNEL_IMAGE_START _AC(0xffffffff80000000, UL) 55#define KERNEL_IMAGE_START _AC(0xffffffff80000000, UL)
56 56
57#ifndef __ASSEMBLY__ 57#ifndef __ASSEMBLY__
diff --git a/include/asm-x86/pgtable_64.h b/include/asm-x86/pgtable_64.h
index 0a0b77bc736a..01d2359e7a34 100644
--- a/include/asm-x86/pgtable_64.h
+++ b/include/asm-x86/pgtable_64.h
@@ -140,7 +140,7 @@ static inline void native_pgd_clear(pgd_t * pgd)
140#define VMALLOC_START _AC(0xffffc20000000000, UL) 140#define VMALLOC_START _AC(0xffffc20000000000, UL)
141#define VMALLOC_END _AC(0xffffe1ffffffffff, UL) 141#define VMALLOC_END _AC(0xffffe1ffffffffff, UL)
142#define VMEMMAP_START _AC(0xffffe20000000000, UL) 142#define VMEMMAP_START _AC(0xffffe20000000000, UL)
143#define MODULES_VADDR _AC(0xffffffff88000000, UL) 143#define MODULES_VADDR _AC(0xffffffffa0000000, UL)
144#define MODULES_END _AC(0xfffffffffff00000, UL) 144#define MODULES_END _AC(0xfffffffffff00000, UL)
145#define MODULES_LEN (MODULES_END - MODULES_VADDR) 145#define MODULES_LEN (MODULES_END - MODULES_VADDR)
146 146