static void __init bootmem_init(void)
 {
-       unsigned long init_begin, reserved_end;
+       unsigned long reserved_end;
        unsigned long mapstart = ~0UL;
        unsigned long bootmap_size;
        int i;
                                         min_low_pfn, max_low_pfn);
 
 
-       init_begin = PFN_UP(__pa_symbol(&__init_begin));
        for (i = 0; i < boot_mem_map.nr_map; i++) {
                unsigned long start, end;
 
                end = PFN_DOWN(boot_mem_map.map[i].addr
                                + boot_mem_map.map[i].size);
 
-               if (start <= init_begin)
-                       start = init_begin;
+               if (start <= min_low_pfn)
+                       start = min_low_pfn;
                if (start >= end)
                        continue;
 
 
 
 void __init prom_free_prom_memory(void)
 {
-#if 0 /* for now ...  */
        unsigned long addr;
        int i;
 
                free_init_pages("prom memory",
                                addr, addr + boot_mem_map.map[i].size);
        }
-#endif
 }