|
|
|
@ -130,25 +130,6 @@ void __init prom_meminit(void) |
|
|
|
|
|
|
|
|
|
unsigned long __init prom_free_prom_memory(void) |
|
|
|
|
{ |
|
|
|
|
unsigned long freed = 0; |
|
|
|
|
unsigned long addr; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
for (i = 0; i < boot_mem_map.nr_map; i++) { |
|
|
|
|
if (boot_mem_map.map[i].type != BOOT_MEM_ROM_DATA) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
addr = PAGE_ALIGN(boot_mem_map.map[i].addr); |
|
|
|
|
while (addr < boot_mem_map.map[i].addr |
|
|
|
|
+ boot_mem_map.map[i].size) { |
|
|
|
|
ClearPageReserved(virt_to_page(__va(addr))); |
|
|
|
|
init_page_count(virt_to_page(__va(addr))); |
|
|
|
|
free_page((unsigned long)__va(addr)); |
|
|
|
|
addr += PAGE_SIZE; |
|
|
|
|
freed += PAGE_SIZE; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
printk("Freeing prom memory: %ldkb freed\n", freed >> 10); |
|
|
|
|
|
|
|
|
|
return freed; |
|
|
|
|
/* We do not have to prom memory to free */ |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|