From 84675b4ba694b482cef49c497cad4adc8e42addd Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Fri, 24 May 2013 02:16:21 +0200 Subject: 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. --- arch/x86/machine/param.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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__ */ /* -- cgit v1.2.3