x86: Move bios page reserve early to head32/64.c
So prepare to make one more clean of early_res.c. -v2: don't need to reserve first page in early_res because we already mark that in e820 as reserved already. Signed-off-by: Yinghai Lu <yinghai@kernel.org> LKML-Reference: <1265793639-15071-20-git-send-email-yinghai@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
9bdac91424
commit
db8f77c889
@ -743,29 +743,11 @@ struct early_res {
|
|||||||
char name[15];
|
char name[15];
|
||||||
char overlap_ok;
|
char overlap_ok;
|
||||||
};
|
};
|
||||||
static struct early_res early_res_x[MAX_EARLY_RES_X] __initdata = {
|
static struct early_res early_res_x[MAX_EARLY_RES_X] __initdata;
|
||||||
{ 0, PAGE_SIZE, "BIOS data page", 1 }, /* BIOS data page */
|
|
||||||
#if defined(CONFIG_X86_32) && defined(CONFIG_X86_TRAMPOLINE)
|
|
||||||
/*
|
|
||||||
* But first pinch a few for the stack/trampoline stuff
|
|
||||||
* FIXME: Don't need the extra page at 4K, but need to fix
|
|
||||||
* trampoline before removing it. (see the GDT stuff)
|
|
||||||
*/
|
|
||||||
{ PAGE_SIZE, PAGE_SIZE + PAGE_SIZE, "EX TRAMPOLINE", 1 },
|
|
||||||
#endif
|
|
||||||
|
|
||||||
{}
|
|
||||||
};
|
|
||||||
|
|
||||||
static int max_early_res __initdata = MAX_EARLY_RES_X;
|
static int max_early_res __initdata = MAX_EARLY_RES_X;
|
||||||
static struct early_res *early_res __initdata = &early_res_x[0];
|
static struct early_res *early_res __initdata = &early_res_x[0];
|
||||||
static int early_res_count __initdata =
|
static int early_res_count __initdata;
|
||||||
#ifdef CONFIG_X86_32
|
|
||||||
2
|
|
||||||
#else
|
|
||||||
1
|
|
||||||
#endif
|
|
||||||
;
|
|
||||||
|
|
||||||
static int __init find_overlapped_early(u64 start, u64 end)
|
static int __init find_overlapped_early(u64 start, u64 end)
|
||||||
{
|
{
|
||||||
|
@ -29,6 +29,16 @@ static void __init i386_default_early_setup(void)
|
|||||||
|
|
||||||
void __init i386_start_kernel(void)
|
void __init i386_start_kernel(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_X86_TRAMPOLINE
|
||||||
|
/*
|
||||||
|
* But first pinch a few for the stack/trampoline stuff
|
||||||
|
* FIXME: Don't need the extra page at 4K, but need to fix
|
||||||
|
* trampoline before removing it. (see the GDT stuff)
|
||||||
|
*/
|
||||||
|
reserve_early_overlap_ok(PAGE_SIZE, PAGE_SIZE + PAGE_SIZE,
|
||||||
|
"EX TRAMPOLINE");
|
||||||
|
#endif
|
||||||
|
|
||||||
reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS");
|
reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS");
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
#ifdef CONFIG_BLK_DEV_INITRD
|
||||||
|
Loading…
x
Reference in New Issue
Block a user