[PATCH] LoongArch: Increase MAX_MEMORY_RANGES to 1024
Ming Wang
wangming01 at loongson.cn
Tue Mar 3 17:19:14 PST 2026
On some LoongArch systems, especially multi-socket machines like 3D6000,
the current limit of MAX_MEMORY_RANGES (64) is too small to accommodate
all memory range entries in /proc/iomem.
When the limit is reached, get_memory_ranges() stops parsing, which causes
kexec to fail with "locate_hole failed" because it cannot correctly identify
the crash kernel reserved memory or necessary RAM segments.
Increase MAX_MEMORY_RANGES to 1024 to support systems with complex
memory layouts.
Signed-off-by: Ming Wang <wangming01 at loongson.cn>
---
kexec/arch/loongarch/kexec-loongarch.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kexec/arch/loongarch/kexec-loongarch.h b/kexec/arch/loongarch/kexec-loongarch.h
index 2e65eb0..895809c 100644
--- a/kexec/arch/loongarch/kexec-loongarch.h
+++ b/kexec/arch/loongarch/kexec-loongarch.h
@@ -8,7 +8,7 @@
#define BOOT_BLOCK_VERSION 17
#define BOOT_BLOCK_LAST_COMP_VERSION 16
-#define MAX_MEMORY_RANGES 64
+#define MAX_MEMORY_RANGES 1024
#define MAX_LINE 160
#define CORE_TYPE_ELF64 1
--
2.43.0
More information about the kexec
mailing list