summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2013-05-24 02:16:21 +0200
committerRichard Braun <rbraun@sceen.net>2013-05-24 20:37:53 +0200
commit84675b4ba694b482cef49c497cad4adc8e42addd (patch)
treec2ac0267540589b6538de3776be09de2e54a5a6b
parent02dee35e91a3d62c77d9affb61308c0ad4597c73 (diff)
x86/param: update kernel space end address on i386
The kernel image is loaded where the kernel space ends. The previous end address left 2 MiB to the kernel image. Since boot stacks are now statically allocated, a kernel configured for a large number of processors would overflow the area reserved for the kernel image. Reduce the kernel space end address so that 64 MiB are now available for the kernel image.
-rw-r--r--arch/x86/machine/param.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/machine/param.h b/arch/x86/machine/param.h
index 41861398..e7612441 100644
--- a/arch/x86/machine/param.h
+++ b/arch/x86/machine/param.h
@@ -110,10 +110,16 @@
*/
#define VM_MIN_KERNEL_ADDRESS (VM_PMAP_PTEMAP_ADDRESS + VM_PMAP_PTEMAP_SIZE)
+/*
+ * In addition to being the end of the kernel address space, this is also
+ * where the kernel image is loaded. Excluding the kernel image from its
+ * address space simplifies bootstrapping, and also saves a static VM map
+ * entry.
+ */
#ifdef __LP64__
#define VM_MAX_KERNEL_ADDRESS DECL_CONST(0xffffffff80000000, UL)
#else /* __LP64__ */
-#define VM_MAX_KERNEL_ADDRESS DECL_CONST(0xffe00000, UL)
+#define VM_MAX_KERNEL_ADDRESS DECL_CONST(0xfc000000, UL)
#endif /* __LP64__ */
/*