10 #include <linux/module.h>
11 #include <linux/signal.h>
12 #include <linux/sched.h>
15 #include <linux/kernel.h>
16 #include <linux/string.h>
17 #include <linux/types.h>
22 #include <asm/setup.h>
23 #include <asm/uaccess.h>
25 #include <asm/pgalloc.h>
26 #include <asm/traps.h>
27 #include <asm/machdep.h>
32 #include <asm/sections.h>
40 #ifndef CONFIG_SINGLE_MEMORY_CHUNK
47 #ifndef CONFIG_SINGLE_MEMORY_CHUNK
53 for (; i <=
end; i++) {
55 printk(
"overlap at %u for chunk %u\n", i, node);
56 pg_data_table[
i] = pg_data_map +
node;
78 #if defined(CONFIG_MMU) && !defined(CONFIG_COLDFIRE)
79 #define VECTORS &vectors[0]
81 #define VECTORS _ramvec
86 #define UL(x) ((unsigned long) (x))
87 #define MLK(b, t) UL(b), UL(t), (UL(t) - UL(b)) >> 10
88 #define MLM(b, t) UL(b), UL(t), (UL(t) - UL(b)) >> 20
89 #define MLK_ROUNDUP(b, t) b, t, DIV_ROUND_UP(((t) - (b)), 1024)
91 pr_notice(
"Virtual kernel memory layout:\n"
92 " vector : 0x%08lx - 0x%08lx (%4ld KiB)\n"
93 " kmap : 0x%08lx - 0x%08lx (%4ld MiB)\n"
94 " vmalloc : 0x%08lx - 0x%08lx (%4ld MiB)\n"
95 " lowmem : 0x%08lx - 0x%08lx (%4ld MiB)\n"
96 " .init : 0x%p" " - 0x%p" " (%4d KiB)\n"
97 " .text : 0x%p" " - 0x%p" " (%4d KiB)\n"
98 " .data : 0x%p" " - 0x%p" " (%4d KiB)\n"
99 " .bss : 0x%p" " - 0x%p" " (%4d KiB)\n",
125 struct page *
page = pgdat->node_mem_map +
i;
128 if (!PageReserved(page))
141 #if !defined(CONFIG_SUN3) && !defined(CONFIG_COLDFIRE)
154 printk(
"Memory: %luk/%luk available (%dk kernel code, %dk data, %dk init)\n",
163 #ifdef CONFIG_BLK_DEV_INITRD
174 printk (
"Freeing initrd memory: %dk freed\n", pages);