lkml.org 
[lkml]   [2008]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] x86: cleanup min_low_pfn
    Date

    for 32bit
    we already had early_res support, so don't need to track min_low_pfn.
    keep it to 0 always.

    also use init_bootmem_node instead of init_bootmem, so don't touch
    min_low_pfn.

    Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

    ---
    arch/x86/mm/init_32.c | 10 ++++------
    arch/x86/mm/init_64.c | 4 +++-
    2 files changed, 7 insertions(+), 7 deletions(-)

    Index: linux-2.6/arch/x86/mm/init_32.c
    ===================================================================
    --- linux-2.6.orig/arch/x86/mm/init_32.c
    +++ linux-2.6/arch/x86/mm/init_32.c
    @@ -565,11 +565,7 @@ void __init find_low_pfn_range(void)
    {
    /* it could update max_pfn */

    - /*
    - * partially used pages are not usable - thus
    - * we are rounding upwards:
    - */
    - min_low_pfn = PFN_UP(init_pg_tables_end);
    + /* max_low_pfn is 0, we already have early_res support */

    max_low_pfn = max_pfn;
    if (max_low_pfn > MAXMEM_PFN) {
    @@ -694,7 +690,9 @@ void __init setup_bootmem_allocator(void
    panic("Cannot find bootmem map of size %ld\n", bootmap_size);
    reserve_early(bootmap, bootmap + bootmap_size, "BOOTMAP");

    - bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, max_low_pfn);
    + /* don't touch min_low_pfn */
    + bootmap_size = init_bootmem_node(NODE_DATA(0), bootmap >> PAGE_SHIFT,
    + min_low_pfn, max_low_pfn);
    printk(KERN_INFO " mapped low ram: 0 - %08lx\n",
    max_pfn_mapped<<PAGE_SHIFT);
    printk(KERN_INFO " low ram: %08lx - %08lx\n",
    Index: linux-2.6/arch/x86/mm/init_64.c
    ===================================================================
    --- linux-2.6.orig/arch/x86/mm/init_64.c
    +++ linux-2.6/arch/x86/mm/init_64.c
    @@ -633,7 +633,9 @@ void __init initmem_init(unsigned long s
    PAGE_SIZE);
    if (bootmap == -1L)
    panic("Cannot find bootmem map of size %ld\n", bootmap_size);
    - bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, end_pfn);
    + /* don't touch min_low_pfn */
    + bootmap_size = init_bootmem_node(NODE_DATA(0), bootmap >> PAGE_SHIFT,
    + 0, end_pfn);
    e820_register_active_regions(0, start_pfn, end_pfn);
    free_bootmem_with_active_regions(0, end_pfn);
    early_res_to_bootmem(0, end_pfn<<PAGE_SHIFT);

    \
     
     \ /
      Last update: 2008-06-23 12:09    [W:0.023 / U:58.500 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site