aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm
diff options
context:
space:
mode:
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>2009-09-22 19:45:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-23 10:39:41 -0400
commitc30bb2a25fcfde6157e6154a32c14686fb0bedbe (patch)
treeafa4811d46e5f9035a035b2c8c864bbb6c5af049 /arch/x86/mm
parent2ef43ec772551e975a6ea7cf22b59c84955aadf9 (diff)
kcore: add kclist types
Presently, kclist_add() only eats start address and size as its arguments. Considering to make kclist dynamically reconfigulable, it's necessary to know which kclists are for System RAM and which are not. This patch add kclist types as KCORE_RAM KCORE_VMALLOC KCORE_TEXT KCORE_OTHER This "type" is used in a patch following this for detecting KCORE_RAM. Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r--arch/x86/mm/init_32.c4
-rw-r--r--arch/x86/mm/init_64.c11
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index b49b4f67453d..2cbc40112932 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -886,9 +886,9 @@ void __init mem_init(void)
886 datasize = (unsigned long) &_edata - (unsigned long) &_etext; 886 datasize = (unsigned long) &_edata - (unsigned long) &_etext;
887 initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; 887 initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
888 888
889 kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT); 889 kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT, KCORE_RAM);
890 kclist_add(&kcore_vmalloc, (void *)VMALLOC_START, 890 kclist_add(&kcore_vmalloc, (void *)VMALLOC_START,
891 VMALLOC_END-VMALLOC_START); 891 VMALLOC_END-VMALLOC_START, KCORE_VMALLOC);
892 892
893 printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, " 893 printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, "
894 "%dk reserved, %dk data, %dk init, %ldk highmem)\n", 894 "%dk reserved, %dk data, %dk init, %ldk highmem)\n",
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 810bd31e7f5f..c05810b614fe 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -677,13 +677,14 @@ void __init mem_init(void)
677 initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin; 677 initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
678 678
679 /* Register memory areas for /proc/kcore */ 679 /* Register memory areas for /proc/kcore */
680 kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT); 680 kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT, KCORE_RAM);
681 kclist_add(&kcore_vmalloc, (void *)VMALLOC_START, 681 kclist_add(&kcore_vmalloc, (void *)VMALLOC_START,
682 VMALLOC_END-VMALLOC_START); 682 VMALLOC_END-VMALLOC_START, KCORE_VMALLOC);
683 kclist_add(&kcore_kernel, &_stext, _end - _stext); 683 kclist_add(&kcore_kernel, &_stext, _end - _stext, KCORE_TEXT);
684 kclist_add(&kcore_modules, (void *)MODULES_VADDR, MODULES_LEN); 684 kclist_add(&kcore_modules, (void *)MODULES_VADDR, MODULES_LEN,
685 KCORE_OTHER);
685 kclist_add(&kcore_vsyscall, (void *)VSYSCALL_START, 686 kclist_add(&kcore_vsyscall, (void *)VSYSCALL_START,
686 VSYSCALL_END - VSYSCALL_START); 687 VSYSCALL_END - VSYSCALL_START, KCORE_OTHER);
687 688
688 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, " 689 printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "
689 "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n", 690 "%ldk absent, %ldk reserved, %ldk data, %ldk init)\n",