lkml.org 
[lkml]   [2010]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 18/35] x86: move bios page reserve early to head32/64.c
    so prepare to make one more clean 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>
    ---
    arch/x86/kernel/e820.c | 22 ++--------------------
    arch/x86/kernel/head32.c | 10 ++++++++++
    2 files changed, 12 insertions(+), 20 deletions(-)

    diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
    index fd14052..42dc8f1 100644
    --- a/arch/x86/kernel/e820.c
    +++ b/arch/x86/kernel/e820.c
    @@ -743,29 +743,11 @@ struct early_res {
    char name[15];
    char overlap_ok;
    };
    -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 struct early_res early_res_x[MAX_EARLY_RES_X] __initdata;

    static int max_early_res __initdata = MAX_EARLY_RES_X;
    static struct early_res *early_res __initdata = &early_res_x[0];
    -static int early_res_count __initdata =
    -#ifdef CONFIG_X86_32
    - 2
    -#else
    - 1
    -#endif
    - ;
    +static int early_res_count __initdata;

    static int __init find_overlapped_early(u64 start, u64 end)
    {
    diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c
    index 5051b94..adedeef 100644
    --- a/arch/x86/kernel/head32.c
    +++ b/arch/x86/kernel/head32.c
    @@ -29,6 +29,16 @@ static void __init i386_default_early_setup(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");

    #ifdef CONFIG_BLK_DEV_INITRD
    --
    1.6.4.2


    \
     
     \ /
      Last update: 2010-02-09 20:39    [W:4.367 / U:0.516 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site