diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2006-02-09 00:58:59 -0500 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2006-02-09 00:58:59 -0500 |
| commit | cac0e8e8bb2e7a086643bdd00c41d900a79bb4fa (patch) | |
| tree | 73cd85e5529a01fa2338ab6d58b99c36dd666cbe /arch/mips/mm/init.c | |
| parent | ddef9bb367b19383df627e388cb4c01c86ddba6c (diff) | |
| parent | 0bdd340c092b0936f78a54bdbd3927463ed4fca3 (diff) | |
Merge branch 'master'
Diffstat (limited to 'arch/mips/mm/init.c')
| -rw-r--r-- | arch/mips/mm/init.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 4ee91c9a556f..0ff9a348b843 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> |
| 25 | #include <linux/highmem.h> | 25 | #include <linux/highmem.h> |
| 26 | #include <linux/swap.h> | 26 | #include <linux/swap.h> |
| 27 | #include <linux/proc_fs.h> | ||
| 27 | 28 | ||
| 28 | #include <asm/bootinfo.h> | 29 | #include <asm/bootinfo.h> |
| 29 | #include <asm/cachectl.h> | 30 | #include <asm/cachectl.h> |
| @@ -200,6 +201,11 @@ static inline int page_is_ram(unsigned long pagenr) | |||
| 200 | return 0; | 201 | return 0; |
| 201 | } | 202 | } |
| 202 | 203 | ||
| 204 | static struct kcore_list kcore_mem, kcore_vmalloc; | ||
| 205 | #ifdef CONFIG_64BIT | ||
| 206 | static struct kcore_list kcore_kseg0; | ||
| 207 | #endif | ||
| 208 | |||
| 203 | void __init mem_init(void) | 209 | void __init mem_init(void) |
| 204 | { | 210 | { |
| 205 | unsigned long codesize, reservedpages, datasize, initsize; | 211 | unsigned long codesize, reservedpages, datasize, initsize; |
| @@ -249,6 +255,16 @@ void __init mem_init(void) | |||
| 249 | datasize = (unsigned long) &_edata - (unsigned long) &_etext; | 255 | datasize = (unsigned long) &_edata - (unsigned long) &_etext; |
| 250 | initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; | 256 | initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; |
| 251 | 257 | ||
| 258 | #ifdef CONFIG_64BIT | ||
| 259 | if ((unsigned long) &_text > (unsigned long) CKSEG0) | ||
| 260 | /* The -4 is a hack so that user tools don't have to handle | ||
| 261 | the overflow. */ | ||
| 262 | kclist_add(&kcore_kseg0, (void *) CKSEG0, 0x80000000 - 4); | ||
| 263 | #endif | ||
| 264 | kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT); | ||
| 265 | kclist_add(&kcore_vmalloc, (void *)VMALLOC_START, | ||
| 266 | VMALLOC_END-VMALLOC_START); | ||
| 267 | |||
| 252 | printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " | 268 | printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " |
| 253 | "%ldk reserved, %ldk data, %ldk init, %ldk highmem)\n", | 269 | "%ldk reserved, %ldk data, %ldk init, %ldk highmem)\n", |
| 254 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), | 270 | (unsigned long) nr_free_pages() << (PAGE_SHIFT-10), |
