diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2005-06-25 14:58:01 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 16:24:50 -0700 |
commit | 1bc3b91aeed71a904e431d12ca90e9b6bcb42c91 (patch) | |
tree | 58e139e6a348dfe06fb62bf9cd5b40cd6a6f8bad /arch/i386/kernel/efi.c | |
parent | 63d30298efc387c72557d11e2a7b467554c05a64 (diff) | |
download | kernel_samsung_espresso10-1bc3b91aeed71a904e431d12ca90e9b6bcb42c91.zip kernel_samsung_espresso10-1bc3b91aeed71a904e431d12ca90e9b6bcb42c91.tar.gz kernel_samsung_espresso10-1bc3b91aeed71a904e431d12ca90e9b6bcb42c91.tar.bz2 |
[PATCH] crashdump: x86 crashkernel option
This is the x86 implementation of the crashkernel option. It reserves a
window of memory very early in the bootup process, so we never use it for
anything but the kernel to switch to when the running kernel panics.
In addition to reserving this memory a resource structure is registered so
looking at /proc/iomem it is clear what happened to that memory.
ISSUES:
Is it possible to implement this in a architecture generic way?
What should be done with architectures that always use an iommu and
thus don't report their RAM memory resources in /proc/iomem?
Signed-off-by: Eric Biederman <ebiederm@xmission.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/efi.c')
-rw-r--r-- | arch/i386/kernel/efi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/i386/kernel/efi.c b/arch/i386/kernel/efi.c index f732f42..385883e 100644 --- a/arch/i386/kernel/efi.c +++ b/arch/i386/kernel/efi.c @@ -30,6 +30,7 @@ #include <linux/ioport.h> #include <linux/module.h> #include <linux/efi.h> +#include <linux/kexec.h> #include <asm/setup.h> #include <asm/io.h> @@ -598,6 +599,9 @@ efi_initialize_iomem_resources(struct resource *code_resource, if (md->type == EFI_CONVENTIONAL_MEMORY) { request_resource(res, code_resource); request_resource(res, data_resource); +#ifdef CONFIG_KEXEC + request_resource(res, &crashk_res); +#endif } } } |