#define page_to_bus(page)      (page_to_phys(page))
 #define phys_to_page(paddr)    (pfn_to_page(phys_to_pfn(paddr)))
 
-#define pfn_valid(pfn)         ((pfn) >= min_low_pfn && (pfn) < max_mapnr)
+#define pfn_valid(pfn)         (((pfn) >= min_low_pfn) && ((pfn) < max_low_pfn))
 
 #define ARCH_PFN_OFFSET                (PAGE_OFFSET >> PAGE_SHIFT)
 
 
 
        min_low_pfn = PFN_UP(MEMORY_START);
        max_low_pfn = PFN_UP(MEMORY_START + MEMORY_SIZE);
+       max_mapnr = max_low_pfn - min_low_pfn;
 
        /* Initialize the boot-time allocator with low memory only. */
        bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn,
 
        unsigned long codesize, reservedpages, datasize, initsize;
        unsigned long tmp, ram = 0;
 
-       max_mapnr = max_low_pfn;
        high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT);
        totalram_pages += free_all_bootmem();
        totalram_pages -= setup_zero_page();    /* Setup zeroed pages. */
        datasize = (unsigned long) &_edata - (unsigned long) &_etext;
        initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
 
-       kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT);
-       kclist_add(&kcore_vmalloc, (void *) VMALLOC_START,
-                       VMALLOC_END - VMALLOC_START);
-
        printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
                        "%ldk reserved, %ldk data, %ldk init, %ldk highmem)\n",
                        (unsigned long) nr_free_pages() << (PAGE_SHIFT-10),