18 #include <linux/kernel.h>
19 #include <linux/errno.h>
23 #include <linux/mman.h>
27 #include <asm/bootparam.h>
29 #include <asm/sections.h>
64 "not in any region!\n", start, end);
72 panic(
"meminfo overflow\n");
115 panic(
"No memory found!\n");
132 if (bootmap_start == ~0
UL)
133 panic(
"Cannot find %ld bytes for bootmap\n", bootmap_size);
137 mem_reserve(bootmap_start, bootmap_start + bootmap_size, 1);
139 bootmap_start >> PAGE_SHIFT,
154 unsigned long zones_size[MAX_NR_ZONES];
160 for (i = 1; i < MAX_NR_ZONES; i++)
163 #ifdef CONFIG_HIGHMEM
176 unsigned long codesize, reservedpages, datasize, initsize;
183 #ifdef CONFIG_HIGHMEM
184 #error HIGHGMEM not implemented in init.c
189 reservedpages = ram = 0;
200 printk(
"Memory: %luk/%luk available (%ldk kernel code, %ldk reserved, "
201 "%ldk data, %ldk init %ldk highmem)\n",
222 #ifdef CONFIG_BLK_DEV_INITRD
223 extern int initrd_is_mapped;
227 if (initrd_is_mapped) {
229 printk (
"Freeing initrd memory: %ldk freed\n",(end-start)>>10);
237 printk(
"Freeing unused kernel memory: %zuk freed\n",