summaryrefslogtreecommitdiff
path: root/kexec/kexec-syscall.h
diff options
context:
space:
mode:
authorCliff Wickman <cpw@sgi.com>2013-02-04 13:54:00 -0600
committerSimon Horman <horms@verge.net.au>2013-03-05 10:52:03 +0900
commite35aa29fb40b37bf86d980b2e19af5e01c2d2549 (patch)
tree5e5c99d7529f478bc7f9f0bdc53a95a9358ef790 /kexec/kexec-syscall.h
parent49320340f705694e387d794f7f19d407ad9baefa (diff)
downloadkexec-tools-e35aa29fb40b37bf86d980b2e19af5e01c2d2549.tar.gz
kexec: include reserved e820 sections in crash kernel
The crash kernel is not able to find its root device if that device is not on PCI 0. This is because it is booted with the command line option memmap=exactmap which currently clears the e820 table and does not restore reserved spaces. This works for a device on PCI 0 because ACPI falls back to a legacy mode. But the error message " [Firmware Bug]: PCI: MMCONFIG at [mem 0x80000000-0x80cfffff] not reserved in ACPI motherboard resources" is written to the log even in this functioning case. It fails for some devices on UV2, and only for UV2, because SGI seems to be the only manufacturer currently using the extended PCI(>0). The fix is simple, as long as the command line is long enough to include all the reserved spaces. The command line may have to be lengthened. See [PATCH] kexec: lengthen the kernel command line image Signed-off-by: Cliff Wickman <cpw@sgi.com> [ horms@verge.net.au: Manually applied due to conflicts ] Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/kexec-syscall.h')
-rw-r--r--kexec/kexec-syscall.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
index b56cb00..f5ee992 100644
--- a/kexec/kexec-syscall.h
+++ b/kexec/kexec-syscall.h
@@ -78,7 +78,7 @@ static inline long kexec_load(void *entry, unsigned long nr_segments,
#define KEXEC_ARCH_MIPS ( 8 << 16)
#define KEXEC_ARCH_CRIS (76 << 16)
-#define KEXEC_MAX_SEGMENTS 16
+#define KEXEC_MAX_SEGMENTS 70
#ifdef __i386__
#define KEXEC_ARCH_NATIVE KEXEC_ARCH_386