x86: increase the kernel text limit to 512 MB
authorIngo Molnar <mingo@elte.hu>
Thu, 21 Feb 2008 11:50:51 +0000 (12:50 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:40:45 +0000 (17:40 +0200)
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>
arch/x86/kernel/head_64.S
include/asm-x86/page_64.h
include/asm-x86/pgtable_64.h

index a007454133a33743b60fce4ebd3c90e8c32ee85e..017216916dff6699e78ee66570c1629ff7ebf220 100644 (file)
@@ -383,12 +383,12 @@ NEXT_PAGE(level2_ident_pgt)
 
 NEXT_PAGE(level2_kernel_pgt)
        /*
-        * 128 MB kernel mapping. We spend a full page on this pagetable
+        * 512 MB kernel mapping. We spend a full page on this pagetable
         * anyway.
         *
         * The kernel code+data+bss must not be bigger than that.
         *
-        * (NOTE: at +128MB starts the module area, see MODULES_VADDR.
+        * (NOTE: at +512MB starts the module area, see MODULES_VADDR.
         *  If you want to increase this then increase MODULES_VADDR
         *  too.)
         */
index 143546073b958097eef072e4d8849b820995232b..aee05c616e058c4cbae48305b4c810faa6f007e2 100644 (file)
 #define __VIRTUAL_MASK_SHIFT   48
 
 /*
- * Kernel image size is limited to 128 MB (see level2_kernel_pgt in
+ * Kernel image size is limited to 512 MB (see level2_kernel_pgt in
  * arch/x86/kernel/head_64.S), and it is mapped here:
  */
-#define KERNEL_IMAGE_SIZE      (128*1024*1024)
+#define KERNEL_IMAGE_SIZE      (512*1024*1024)
 #define KERNEL_IMAGE_START     _AC(0xffffffff80000000, UL)
 
 #ifndef __ASSEMBLY__
index 0a0b77bc736a82171beb2f50d39df7a6e2aae947..01d2359e7a348a3a6817d57db2f769e95118fb13 100644 (file)
@@ -140,7 +140,7 @@ static inline void native_pgd_clear(pgd_t * pgd)
 #define VMALLOC_START    _AC(0xffffc20000000000, UL)
 #define VMALLOC_END      _AC(0xffffe1ffffffffff, UL)
 #define VMEMMAP_START   _AC(0xffffe20000000000, UL)
-#define MODULES_VADDR    _AC(0xffffffff88000000, UL)
+#define MODULES_VADDR    _AC(0xffffffffa0000000, UL)
 #define MODULES_END      _AC(0xfffffffffff00000, UL)
 #define MODULES_LEN   (MODULES_END - MODULES_VADDR)