summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Daney <david.daney@cavium.com>2017-10-12 14:02:26 -0700
committerSimon Horman <horms@verge.net.au>2017-10-16 09:01:17 +0200
commit552bfbfc00eeaef773e8746867b44cd162c9a0dd (patch)
treee741975e9d2832e9fd5ae22433d57865b890d428
parent69431282f075ab723c4886f20aa248976920aaae (diff)
kexec-tools: mips: Don't set lowmem_limit to 2G for 64-bit systems.
The 64-bit MIPS architecture doesn't have the same 2G limit the 32-bit version has. Set MAXMEM and lowmem_limit to 0 for 64-bit MIPS so that memory above 2G is usable in the kdump core files. Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/arch/mips/crashdump-mips.c4
-rw-r--r--kexec/arch/mips/crashdump-mips.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/kexec/arch/mips/crashdump-mips.c b/kexec/arch/mips/crashdump-mips.c
index 6308ec8..22fc38e 100644
--- a/kexec/arch/mips/crashdump-mips.c
+++ b/kexec/arch/mips/crashdump-mips.c
@@ -201,7 +201,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
memory_ranges++;
/* Segregate linearly mapped region. */
- if ((MAXMEM - 1) >= start && (MAXMEM - 1) <= end) {
+ if (MAXMEM && (MAXMEM - 1) >= start && (MAXMEM - 1) <= end) {
crash_memory_range[memory_ranges - 1].end = MAXMEM - 1;
/* Add segregated region. */
@@ -304,7 +304,7 @@ static struct crash_elf_info elf_info64 = {
data : ELFDATALOCAL,
machine : EM_MIPS,
page_offset : PAGE_OFFSET,
- lowmem_limit : MAXMEM,
+ lowmem_limit : 0, /* 0 == no limit */
};
static struct crash_elf_info elf_info32 = {
diff --git a/kexec/arch/mips/crashdump-mips.h b/kexec/arch/mips/crashdump-mips.h
index c986835..7edd859 100644
--- a/kexec/arch/mips/crashdump-mips.h
+++ b/kexec/arch/mips/crashdump-mips.h
@@ -6,12 +6,13 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
unsigned long max_addr, unsigned long min_base);
#ifdef __mips64
#define PAGE_OFFSET 0xa800000000000000ULL
+#define MAXMEM 0
#else
#define PAGE_OFFSET 0x80000000
+#define MAXMEM 0x80000000
#endif
#define __pa(x) ((unsigned long)(X) & 0x7fffffff)
-#define MAXMEM 0x80000000
#define CRASH_MAX_MEMMAP_NR (KEXEC_MAX_SEGMENTS + 1)
#define CRASH_MAX_MEMORY_RANGES (MAX_MEMORY_RANGES + 2)