Index: linux-2.6.19-rc1-mm1/arch/alpha/mm/numa.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/alpha/mm/numa.c 2006-10-12 23:31:12.050705575 -0500 +++ linux-2.6.19-rc1-mm1/arch/alpha/mm/numa.c 2006-10-12 23:46:20.420403844 -0500 @@ -122,8 +122,8 @@ setup_memory_node(int nid, void *kernel_ return; /* Update global {min,max}_low_pfn from node information. */ - if (node_min_pfn < min_low_pfn) - min_low_pfn = node_min_pfn; + if (node_min_pfn < mem_map_min) + mem_map_min = node_min_pfn; if (node_max_pfn > max_low_pfn) max_pfn = max_low_pfn = node_max_pfn; @@ -255,7 +255,7 @@ setup_memory(void *kernel_end) nodes_clear(node_online_map); - min_low_pfn = ~0UL; + mem_map_min = ~0UL; max_low_pfn = 0UL; for (nid = 0; nid < MAX_NUMNODES; nid++) setup_memory_node(nid, kernel_end); Index: linux-2.6.19-rc1-mm1/arch/cris/kernel/setup.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/cris/kernel/setup.c 2006-10-12 23:31:12.059495390 -0500 +++ linux-2.6.19-rc1-mm1/arch/cris/kernel/setup.c 2006-10-12 23:46:20.435053534 -0500 @@ -118,10 +118,10 @@ setup_arch(char **cmdline_p) */ max_low_pfn = max_pfn; - min_low_pfn = PAGE_OFFSET >> PAGE_SHIFT; + mem_map_min = PAGE_OFFSET >> PAGE_SHIFT; bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn, - min_low_pfn, + mem_map_min, max_low_pfn); /* And free all memory not belonging to the kernel (addr, size) */ Index: linux-2.6.19-rc1-mm1/arch/cris/mm/init.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/cris/mm/init.c 2006-10-12 23:31:12.069261852 -0500 +++ linux-2.6.19-rc1-mm1/arch/cris/mm/init.c 2006-10-12 23:46:20.445796639 -0500 @@ -176,7 +176,7 @@ mem_init(void) * high_memory was also set in setup.c */ - max_mapnr = num_physpages = max_low_pfn - min_low_pfn; + max_mapnr = num_physpages = max_low_pfn - mem_map_min; /* this will put all memory onto the freelists */ totalram_pages = free_all_bootmem(); Index: linux-2.6.19-rc1-mm1/arch/frv/kernel/setup.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/frv/kernel/setup.c 2006-10-12 23:31:12.078051667 -0500 +++ linux-2.6.19-rc1-mm1/arch/frv/kernel/setup.c 2006-10-12 23:46:20.462399621 -0500 @@ -924,9 +924,9 @@ static void __init setup_linux_memory(vo low_top_pfn = num_physpages; } - min_low_pfn = memory_start >> PAGE_SHIFT; + mem_map_min = phys_to_pfn(memory_start); max_low_pfn = low_top_pfn; - max_pfn = memory_end >> PAGE_SHIFT; + mem_map_max = phys_to_pfn(memory_end); num_mappedpages = low_top_pfn; @@ -995,9 +995,9 @@ static void __init setup_uclinux_memory( high_memory = (void *) (memory_end & PAGE_MASK); max_mapnr = num_physpages = ((unsigned long) high_memory - PAGE_OFFSET) >> PAGE_SHIFT; - min_low_pfn = memory_start >> PAGE_SHIFT; - max_low_pfn = memory_end >> PAGE_SHIFT; - max_pfn = max_low_pfn; + mem_map_min = phys_to_pfn(memory_start); + mem_map_high = phys_to_pfn(memory_end); + mem_map_max = mem_map_high; /* now take back the bits the core kernel is occupying */ #ifndef CONFIG_PROTECT_KERNEL Index: linux-2.6.19-rc1-mm1/arch/frv/mm/init.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/frv/mm/init.c 2006-10-12 23:31:12.087818128 -0500 +++ linux-2.6.19-rc1-mm1/arch/frv/mm/init.c 2006-10-12 23:46:20.475096019 -0500 @@ -126,7 +126,7 @@ void __init paging_init(void) /* distribute the allocatable pages across the various zones and pass them to the allocator */ - zones_size[ZONE_DMA] = max_low_pfn - min_low_pfn; + zones_size[ZONE_DMA] = mem_map_high - mem_map_min; zones_size[ZONE_NORMAL] = 0; #ifdef CONFIG_HIGHMEM zones_size[ZONE_HIGHMEM] = num_physpages - num_mappedpages; Index: linux-2.6.19-rc1-mm1/arch/i386/kernel/setup.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/arch/i386/kernel/setup.c 2006-10-12 23:31:12.100514528 -0500 +++ linux-2.6.19-rc1-mm1/arch/i386/kernel/setup.c 2006-10-12 23:46:20.493652292 -0500 @@ -1067,16 +1067,16 @@ static unsigned long __init setup_memory * partially used pages are not usable - thus * we are rounding upwards: */ - min_low_pfn = PFN_UP(init_pg_tables_end); + mem_map_min = PFN_UP(init_pg_tables_end); find_max_pfn(); - max_low_pfn = find_max_low_pfn(); + mem_map_high = find_max_low_pfn(); #ifdef CONFIG_HIGHMEM highstart_pfn = highend_pfn = max_pfn; - if (max_pfn > max_low_pfn) { - highstart_pfn = max_low_pfn; + if (mem_map_max > mem_map_high) { + highstart_pfn = mem_map_high; } printk(KERN_NOTICE "%ldMB HIGHMEM available.\n", pages_to_mb(highend_pfn - highstart_pfn)); @@ -1087,14 +1087,14 @@ static unsigned long __init setup_memory high_memory = (void *) __va(max_low_pfn * PAGE_SIZE - 1) + 1; #endif #ifdef CONFIG_FLATMEM - max_mapnr = num_physpages; + mem_map_max = num_physpages; #endif printk(KERN_NOTICE "%ldMB LOWMEM available.\n", pages_to_mb(max_low_pfn)); setup_bootmem_allocator(); - return max_low_pfn; + return mem_map_high; } void __init zone_sizes_init(void) @@ -1124,7 +1124,7 @@ void __init setup_bootmem_allocator(void /* * Initialize the boot-time allocator (with low memory only): */ - bootmap_size = init_bootmem(min_low_pfn, max_low_pfn); + bootmap_size = init_bootmem(mem_map_min, mem_map_high); register_bootmem_low_pages(max_low_pfn); @@ -1134,7 +1134,7 @@ void __init setup_bootmem_allocator(void * the (very unlikely) case of us accidentally initializing the * bootmem allocator with an invalid RAM area. */ - reserve_bootmem(__PHYSICAL_START, (PFN_PHYS(min_low_pfn) + + reserve_bootmem(__PHYSICAL_START, (PFN_PHYS(mem_map_min) + bootmap_size + PAGE_SIZE-1) - (__PHYSICAL_START)); /* @@ -1176,7 +1176,7 @@ void __init setup_bootmem_allocator(void numa_kva_reserve(); #ifdef CONFIG_BLK_DEV_INITRD if (LOADER_TYPE && INITRD_START) { - if (INITRD_START + INITRD_SIZE <= (max_low_pfn << PAGE_SHIFT)) { + if (INITRD_START + INITRD_SIZE <= (mem_map_high << PAGE_SHIFT)) { reserve_bootmem(INITRD_START, INITRD_SIZE); initrd_start = INITRD_START ? INITRD_START + PAGE_OFFSET : 0; @@ -1186,7 +1186,7 @@ void __init setup_bootmem_allocator(void printk(KERN_ERR "initrd extends beyond end of memory " "(0x%08lx > 0x%08lx)\ndisabling initrd\n", INITRD_START + INITRD_SIZE, - max_low_pfn << PAGE_SHIFT); + mem_map_high << PAGE_SHIFT); initrd_start = 0; } } Index: linux-2.6.19-rc1-mm1/fs/proc/proc_misc.c =================================================================== --- linux-2.6.19-rc1-mm1.orig/fs/proc/proc_misc.c 2006-10-12 23:31:12.040939114 -0500 +++ linux-2.6.19-rc1-mm1/fs/proc/proc_misc.c 2006-10-12 23:46:20.511231920 -0500 @@ -675,7 +675,7 @@ read_page_owner(struct file *file, char int i; ssize_t num_written = 0; - pfn = min_low_pfn + *ppos; + pfn = mem_map_min + *ppos; page = pfn_to_page(pfn); for (; pfn < max_pfn; pfn++) { if (!pfn_valid(pfn)) Index: linux-2.6.19-rc1-mm1/include/asm-frv/page.h =================================================================== --- linux-2.6.19-rc1-mm1.orig/include/asm-frv/page.h 2006-10-12 23:31:12.003826561 -0500 +++ linux-2.6.19-rc1-mm1/include/asm-frv/page.h 2006-10-12 23:46:20.526858255 -0500 @@ -52,14 +52,13 @@ typedef struct { unsigned long pgprot; } #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) extern unsigned long max_low_pfn; -extern unsigned long min_low_pfn; extern unsigned long max_pfn; #ifdef CONFIG_MMU #define pfn_valid(pfn) ((pfn) < max_mapnr) #else #define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT) -#define pfn_valid(pfn) ((pfn) >= min_low_pfn && (pfn) < max_low_pfn) +#define pfn_valid(pfn) ((pfn) >= mem_map_min && (pfn) < max_low_pfn) #endif Index: linux-2.6.19-rc1-mm1/include/asm-ia64/page.h =================================================================== --- linux-2.6.19-rc1-mm1.orig/include/asm-ia64/page.h 2006-10-12 23:31:12.013593022 -0500 +++ linux-2.6.19-rc1-mm1/include/asm-ia64/page.h 2006-10-12 23:46:20.536624715 -0500 @@ -110,7 +110,6 @@ do { \ #ifdef CONFIG_FLATMEM # define pfn_valid(pfn) (((pfn) < max_mapnr) && ia64_pfn_valid(pfn)) #elif defined(CONFIG_DISCONTIGMEM) -extern unsigned long min_low_pfn; extern unsigned long max_low_pfn; # define pfn_valid(pfn) (((pfn) >= min_low_pfn) && ((pfn) < max_low_pfn) && ia64_pfn_valid(pfn)) #endif Index: linux-2.6.19-rc1-mm1/include/linux/bootmem.h =================================================================== --- linux-2.6.19-rc1-mm1.orig/include/linux/bootmem.h 2006-10-12 23:31:11.995036746 -0500 +++ linux-2.6.19-rc1-mm1/include/linux/bootmem.h 2006-10-12 23:46:20.547367821 -0500 @@ -12,7 +12,6 @@ */ extern unsigned long max_low_pfn; -extern unsigned long min_low_pfn; /* * highest page