Hi Andrew, This patch fixes the problem that makedumpfile sometimes fails on x86_64 machine. I hope that this patch will be merged to both linux-2.6.25 and linux-2.6.24.5. This patch adds the symbol "phys_base" to a vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. On x86_64 kernel which compiled with CONFIG_PHYSICAL_START=0x0 and CONFIG_RELOCATABLE=y, makedumpfile fails like the following: # makedumpfile -d31 /proc/vmcore dumpfile The kernel version is not supported. The created dumpfile may be incomplete. _exclude_free_page: Can't get next online node. makedumpfile Failed. # The cause is the lack of the symbol "phys_base" in a vmcoreinfo data. If the symbol "phys_base" does not exist, makedumpfile considers an x86_64 kernel as non relocatable. As the result, makedumpfile misunderstands the physical address where the kernel is loaded, and it cannot translate a kernel virtual address to physical address correctly. To fix this proble, the attached patch which adds the symbol "phys_base" to a vmcoreinfo data. Thanks Ken'ichi Ohmichi Signed-off-by: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp> --- diff -rpuN linux-2.6.25-rc7.orig/arch/x86/kernel/machine_kexec_64.c linux-2.6.25-rc7/arch/x86/kernel/machine_kexec_64.c --- linux-2.6.25-rc7.orig/arch/x86/kernel/machine_kexec_64.c 2008-03-26 14:55:29.000000000 +0900 +++ linux-2.6.25-rc7/arch/x86/kernel/machine_kexec_64.c 2008-03-26 14:52:52.000000000 +0900 @@ -233,6 +233,7 @@ NORET_TYPE void machine_kexec(struct kim void arch_crash_save_vmcoreinfo(void) { + VMCOREINFO_SYMBOL(phys_base); VMCOREINFO_SYMBOL(init_level4_pgt); #ifdef CONFIG_NUMA