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