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.
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?