|
|
766e0d |
From 4a6d67d9e938a7accf128aff23f8ad4bda67f729 Mon Sep 17 00:00:00 2001
|
|
|
766e0d |
From: Xunlei Pang <xlpang@redhat.com>
|
|
|
766e0d |
Date: Thu, 23 Mar 2017 19:16:59 +0800
|
|
|
766e0d |
Subject: [PATCH] x86: Support large number of memory ranges
|
|
|
766e0d |
|
|
|
766e0d |
We got a problem on one SGI 64TB machine, the current kexec-tools
|
|
|
766e0d |
failed to work due to the insufficient ranges(MAX_MEMORY_RANGES)
|
|
|
766e0d |
allowed which is defined as 1024(less than the ranges on the machine).
|
|
|
766e0d |
The kcore header is insufficient due to the same reason as well.
|
|
|
766e0d |
|
|
|
766e0d |
To solve this, this patch simply doubles "MAX_MEMORY_RANGES" and
|
|
|
766e0d |
"KCORE_ELF_HEADERS_SIZE".
|
|
|
766e0d |
|
|
|
766e0d |
Signed-off-by: Xunlei Pang <xlpang@redhat.com>
|
|
|
766e0d |
Tested-by: Frank Ramsay <frank.ramsay@hpe.com>
|
|
|
766e0d |
Signed-off-by: Simon Horman <horms@verge.net.au>
|
|
|
766e0d |
---
|
|
|
766e0d |
kexec/arch/i386/kexec-x86.h | 2 +-
|
|
|
766e0d |
kexec/crashdump.h | 4 ++--
|
|
|
766e0d |
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
766e0d |
|
|
|
766e0d |
diff --git a/kexec/arch/i386/kexec-x86.h b/kexec/arch/i386/kexec-x86.h
|
|
|
766e0d |
index 33df352..51855f8 100644
|
|
|
766e0d |
--- a/kexec/arch/i386/kexec-x86.h
|
|
|
766e0d |
+++ b/kexec/arch/i386/kexec-x86.h
|
|
|
766e0d |
@@ -1,7 +1,7 @@
|
|
|
766e0d |
#ifndef KEXEC_X86_H
|
|
|
766e0d |
#define KEXEC_X86_H
|
|
|
766e0d |
|
|
|
766e0d |
-#define MAX_MEMORY_RANGES 1024
|
|
|
766e0d |
+#define MAX_MEMORY_RANGES 2048
|
|
|
766e0d |
|
|
|
766e0d |
enum coretype {
|
|
|
766e0d |
CORE_TYPE_UNDEF = 0,
|
|
|
766e0d |
diff --git a/kexec/crashdump.h b/kexec/crashdump.h
|
|
|
766e0d |
index 86e1ef2..18bd691 100644
|
|
|
766e0d |
--- a/kexec/crashdump.h
|
|
|
766e0d |
+++ b/kexec/crashdump.h
|
|
|
766e0d |
@@ -7,8 +7,8 @@ extern int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len);
|
|
|
766e0d |
|
|
|
766e0d |
/* Need to find a better way to determine per cpu notes section size. */
|
|
|
766e0d |
#define MAX_NOTE_BYTES 1024
|
|
|
766e0d |
-/* Expecting ELF headers to fit in 32K. Increase it if you need more. */
|
|
|
766e0d |
-#define KCORE_ELF_HEADERS_SIZE 32768
|
|
|
766e0d |
+/* Expecting ELF headers to fit in 64K. Increase it if you need more. */
|
|
|
766e0d |
+#define KCORE_ELF_HEADERS_SIZE 65536
|
|
|
766e0d |
/* The address of the ELF header is passed to the secondary kernel
|
|
|
766e0d |
* using the kernel command line option memmap=nnn.
|
|
|
766e0d |
* The smallest unit the kernel accepts is in kilobytes,
|
|
|
766e0d |
--
|
|
|
766e0d |
1.8.3.1
|
|
|
766e0d |
|