x86-32: use brk segment for allocating initial kernel pagetable
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Fri, 27 Feb 2009 21:27:38 +0000 (13:27 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 15 Mar 2009 00:23:47 +0000 (17:23 -0700)
commitccf3fe02e35f4abca2589f99022cc25084bbd8ae
tree3bcf329116b8c689b4da1bb1a0d87bb587d3f3c7
parent5368a2be34b96fda9c05d79424fa63a73ead04ed
x86-32: use brk segment for allocating initial kernel pagetable

Impact: use new interface instead of previous ad hoc implementation

Rather than having special purpose init_pg_table_start/end variables
to delimit the kernel pagetable built by head_32.S, just use the brk
mechanism to extend the bss for the new pagetable.

This patch removes init_pg_table_start/end and pg0, defines __brk_base
(which is page-aligned and immediately follows _end), initializes
the brk region to start there, and uses it for the 32-bit pagetable.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/pgtable_32.h
arch/x86/include/asm/setup.h
arch/x86/kernel/head32.c
arch/x86/kernel/head_32.S
arch/x86/kernel/setup.c
arch/x86/kernel/vmlinux_32.lds.S
arch/x86/lguest/boot.c