[RESEND PATCH] kexec : add sparse memory related values to vmcore

Simon Horman horms at verge.net.au
Wed May 28 17:13:28 PDT 2014


On Wed, May 28, 2014 at 09:49:56PM +0800, Liu Hua wrote:
> This patch deales with sparse memory model.
> 
> For ARM32 platforms, different vendors may define different
> SECTION_SIZE_BITS, which we did not write to vmcore.
> 
> For example:
> 
>   1 arch/arm/mach-clps711x/include/mach/memory.h
>     #define SECTION_SIZE_BITS 24
>   2 arch/arm/mach-exynos/include/mach/memory.h
>     #define SECTION_SIZE_BITS 28
>   3 arch/arm/mach-sa1100/include/mach/memory.h
>     #define SECTION_SIZE_BITS 27

I wonder if this problem will eventually go away, or at least only
apply to older platforms, as ARM moves towards multiplatform: a single
kernel for more than one platform.

> It is really a bad news for user space tools such as
> makedumpfile and crash, who have to defines them as
> macros. So for the same architecture, we may need to
> recomile them to parse vmcores with different
> SECTION_SIZE_BITS.
> 
> And if we enable LPAE, MAX_PHYSMEM_SIZE can alse
> be variable.
> 
> This patch adds these SECTION_SIZE_BITS and MAX_PHYSMEM_SIZE
> to vmcore. which makes user space tools more compatible.
> 
> BTW, makedumpfile has queued the related patch.
> 
> Signed-off-by: Liu Hua <sdu.liu at huawei.com>
> ---
>  kernel/kexec.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/kernel/kexec.c b/kernel/kexec.c
> index bf0b929e..8b1a193 100644
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -1577,6 +1577,8 @@ static int __init crash_save_vmcoreinfo_init(void)
>  	VMCOREINFO_LENGTH(mem_section, NR_SECTION_ROOTS);
>  	VMCOREINFO_STRUCT_SIZE(mem_section);
>  	VMCOREINFO_OFFSET(mem_section, section_mem_map);
> +	VMCOREINFO_NUMBER(MAX_PHYSMEM_BITS);
> +	VMCOREINFO_NUMBER(SECTION_SIZE_BITS);
>  #endif
>  	VMCOREINFO_STRUCT_SIZE(page);
>  	VMCOREINFO_STRUCT_SIZE(pglist_data);
> -- 
> 1.9.0
> 
> 
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
> 



More information about the kexec mailing list