linux/arch/i386
Jeremy Fitzhardinge 9ce8c2ed12 [PATCH] i386: map enough initial memory to create lowmem mappings
head.S creates the very initial pagetable for the kernel.  This just
maps enough space for the kernel itself, and an allocation bitmap.
The amount of mapped memory is rounded up to 4Mbytes, and so this
typically ends up mapping 8Mbytes of memory.

When booting, pagetable_init() needs to create mappings for all
lowmem, and the pagetables for these mappings are allocated from the
free pages around the kernel in low memory.  If the number of
pagetable pages + kernel size exceeds head.S's initial mapping, it
will end up faulting on an unmapped page.  This will only happen with
specific combinations of kernel size and memory size.

This patch makes sure that head.S also maps enough space to fit the
kernel pagetables as well as the kernel itself.  It ends up using an
additional two pages of unreclaimable memory.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Acked-by: "H. Peter Anvin" <hpa@zytor.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Zachary Amsden <zach@vmware.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
2007-05-02 19:27:16 +02:00
..
boot [PATCH] x86: deflate stack usage in lib/inflate.c 2007-05-02 19:27:15 +02:00
crypto
kernel [PATCH] i386: map enough initial memory to create lowmem mappings 2007-05-02 19:27:16 +02:00
lib [PATCH] i386: type cast clean up for find_next_zero_bit 2007-05-02 19:27:08 +02:00
mach-default
mach-es7000
mach-generic [PATCH] i386: modpost apic related warning fixes 2007-05-02 19:27:08 +02:00
mach-visws
mach-voyager [PATCH] i386: Use per-cpu GDT immediately upon boot 2007-05-02 19:27:10 +02:00
math-emu
mm [PATCH] i386: PARAVIRT: flush lazy mmu updates on kunmap_atomic 2007-05-02 19:27:15 +02:00
oprofile [PATCH] i386: Support Oprofile for AMD Family 10 CPUs 2007-05-02 19:27:06 +02:00
pci
power [PATCH] x86: Move swsusp __pa() dependent code to arch portion 2007-05-02 19:27:07 +02:00
defconfig [PATCH] i386: Update defconfig 2007-05-02 19:27:04 +02:00
Kconfig [PATCH] i386: Use menuconfig objects - APM 2007-05-02 19:27:12 +02:00
Kconfig.cpu [PATCH] i386: Add an option for the VIA C7 which sets appropriate L1 cache 2007-05-02 19:27:05 +02:00
Kconfig.debug [PATCH] i386: PARAVIRT: Remove CONFIG_DEBUG_PARAVIRT 2007-05-02 19:27:13 +02:00
Makefile [PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+ 2007-05-02 19:27:06 +02:00
Makefile.cpu [PATCH] i386: Fix usage of -mtune when X86_GENERIC=y or CONFIG_MCORE2=y 2007-05-02 19:27:06 +02:00