On Fri, Nov 16, 2007 at 11:33:20AM +0900, Ken'ichi Ohmichi wrote: > > This patch fixes the configuration dependencies in the vmcoreinfo data. > > i386's "node_data" is defined in arch/x86/mm/discontig_32.c, > and x86_64's one is defined in arch/x86/mm/numa_64.c. > They depend on CONFIG_NUMA: > arch/x86/mm/Makefile_32:7 > obj-$(CONFIG_NUMA) += discontig_32.o > arch/x86/mm/Makefile_64:7 > obj-$(CONFIG_NUMA) += numa_64.o > > ia64's "pgdat_list" is defined in arch/ia64/mm/discontig.c, > and it depends on CONFIG_DISCONTIGMEM and CONFIG_SPARSEMEM: > arch/ia64/mm/Makefile:9-10 > obj-$(CONFIG_DISCONTIGMEM) += discontig.o > obj-$(CONFIG_SPARSEMEM) += discontig.o > > ia64's "node_memblk" is defined in arch/ia64/mm/numa.c, > and it depends on CONFIG_NUMA: > arch/ia64/mm/Makefile:8 > obj-$(CONFIG_NUMA) += numa.o > > Signed-off-by: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp> This appears correct to me, checking through the symbols and the location of their deffinitions, though I have not had a chance to run many build checks. I also note that CONFIG_ARCH_DISCONTIGMEM_ENABLE does not even appear to exist on i386, so it looks that without this change the code in question whould never be enabled. Acked-by: Simon Horman <horms at verge.net.au> > --- > diff -rpuN a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c > --- a/arch/ia64/kernel/machine_kexec.c 2007-11-14 15:39:06.000000000 +0900 > +++ b/arch/ia64/kernel/machine_kexec.c 2007-11-14 15:41:41.000000000 +0900 > @@ -129,10 +129,11 @@ void machine_kexec(struct kimage *image) > > void arch_crash_save_vmcoreinfo(void) > { > -#if defined(CONFIG_ARCH_DISCONTIGMEM_ENABLE) && defined(CONFIG_NUMA) > +#if defined(CONFIG_DISCONTIGMEM) || defined(CONFIG_SPARSEMEM) > VMCOREINFO_SYMBOL(pgdat_list); > VMCOREINFO_LENGTH(pgdat_list, MAX_NUMNODES); > - > +#endif > +#ifdef CONFIG_NUMA > VMCOREINFO_SYMBOL(node_memblk); > VMCOREINFO_LENGTH(node_memblk, NR_NODE_MEMBLKS); > VMCOREINFO_STRUCT_SIZE(node_memblk_s); > diff -rpuN a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c > --- a/arch/x86/kernel/machine_kexec_32.c 2007-11-14 15:39:19.000000000 +0900 > +++ b/arch/x86/kernel/machine_kexec_32.c 2007-11-14 15:39:33.000000000 +0900 > @@ -151,7 +151,7 @@ NORET_TYPE void machine_kexec(struct kim > > void arch_crash_save_vmcoreinfo(void) > { > -#ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE > +#ifdef CONFIG_NUMA > VMCOREINFO_SYMBOL(node_data); > VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); > #endif > diff -rpuN a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c > --- a/arch/x86/kernel/machine_kexec_64.c 2007-11-14 15:39:19.000000000 +0900 > +++ b/arch/x86/kernel/machine_kexec_64.c 2007-11-14 15:39:33.000000000 +0900 > @@ -235,7 +235,7 @@ void arch_crash_save_vmcoreinfo(void) > { > VMCOREINFO_SYMBOL(init_level4_pgt); > > -#ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE > +#ifdef CONFIG_NUMA > VMCOREINFO_SYMBOL(node_data); > VMCOREINFO_LENGTH(node_data, MAX_NUMNODES); > #endif > _ > > > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec -- $BJuRX(B $B@>Lg(B ($B%[%&%^%s!&%5%$%b%s(B) | Simon Horman (Horms)