[PATCH] Add vmlist.addr to vmcoreinfo for x86 vmalloc translation.

Ken'ichi Ohmichi oomichi at mxs.nes.nec.co.jp
Thu Oct 16 00:10:54 EDT 2008


Hi Andrew,

This patch adds both symbol 'vmlist' and offset 'vm_struct.addr' to
the vmcoreinfo[1] data for i386 vmalloc translation.

makedumpfile[2] needs VMALLOC_START value for distinguishing a vmalloc
address or not, because it should choose suitable translation method.
If applying this patch, makedumpfile will be able to take VMALLOC_START
value from 'vmlist.addr'.

This patch is for linux-2.6.27 and its CodingStyle have been checked by
checkpatch.pl.


vmcoreinfo[1]:
The vmcoreinfo data has the minimum debugging information only for dump
filtering. makedumpfile[2] uses it to distinguish unnecessary pages and
creates a small dumpfile.

makedumpfile[2]:
dump filtering command
https://sourceforge.net/projects/makedumpfile/


Thanks
Ken'ichi Ohmichi

Signed-off-by: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp>
---
--- a/kernel/kexec.c	2008-10-10 07:13:53.000000000 +0900
+++ b/kernel/kexec.c	2008-10-15 13:12:50.000000000 +0900
@@ -1371,6 +1371,7 @@ static int __init crash_save_vmcoreinfo_
 	VMCOREINFO_SYMBOL(node_online_map);
 	VMCOREINFO_SYMBOL(swapper_pg_dir);
 	VMCOREINFO_SYMBOL(_stext);
+	VMCOREINFO_SYMBOL(vmlist);
 
 #ifndef CONFIG_NEED_MULTIPLE_NODES
 	VMCOREINFO_SYMBOL(mem_map);
@@ -1406,6 +1407,7 @@ static int __init crash_save_vmcoreinfo_
 	VMCOREINFO_OFFSET(free_area, free_list);
 	VMCOREINFO_OFFSET(list_head, next);
 	VMCOREINFO_OFFSET(list_head, prev);
+	VMCOREINFO_OFFSET(vm_struct, addr);
 	VMCOREINFO_LENGTH(zone.free_area, MAX_ORDER);
 	VMCOREINFO_LENGTH(free_area.free_list, MIGRATE_TYPES);
 	VMCOREINFO_NUMBER(NR_FREE_PAGES);
_



More information about the kexec mailing list