On 2023/12/20 23:46, Lameter, Christopher wrote:
On Mon, 18 Dec 2023, Huang Shijie wrote:
> diff --git a/arm64.c b/arm64.c
> index 57965c6..fc4ba64 100644
> --- a/arm64.c
> +++ b/arm64.c
> @@ -117,6 +117,28 @@ static void arm64_calc_kernel_start(void)
> ms->kimage_end = (sp ? sp->value : 0);
> }
Since x86 also supports VMEMMAP the same approach should work on x86.
yes, x86_64 already has a similar function without the vmemmap
vmcoreinfo entry.
In fact most platforms use VMMEMMAP:
cl@eng07sys-r113:~/linux$ grep VMEMMAP_ENABLE arch/*/Kconfig*
arch/arm64/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE
arch/loongarch/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE
arch/powerpc/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE
arch/riscv/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE if 64BIT
arch/s390/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE
arch/sparc/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE
arch/x86/Kconfig: select SPARSEMEM_VMEMMAP_ENABLE if X86_64
Can the crash code be generalized so that it works on all platforms?
probably it can, crash implementation for vmemmap is not completely
consistent depending on architectures, some adjustment might be needed.
Thanks,
Kazu