diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2006-01-09 20:51:47 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 08:01:27 -0800 |
commit | aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (patch) | |
tree | f8bfb3cf1850b4e9f1f450c09d9cb33a3b29d667 | |
parent | 69cda7b1f06befb8d6a884b8a663d19dcaef590b (diff) | |
download | op-kernel-dev-aac04b32f3e4c63f461459d0e1d6aa01caac6e66.zip op-kernel-dev-aac04b32f3e4c63f461459d0e1d6aa01caac6e66.tar.gz |
[PATCH] kdump: x86_64: add elfcorehdr command line option
- elfcorehdr= specifies the location of elf core header stored by the
crashed kernel. This command line option will be passed by the kexec-tools
to capture kernel.
Changes in this version :
- Added more comments in kernel-parameters.txt and in code.
Signed-off-by: Murali M Chakravarthy <muralim@in.ibm.com>
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | Documentation/kernel-parameters.txt | 7 | ||||
-rw-r--r-- | arch/i386/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 9 |
3 files changed, 14 insertions, 4 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 12b7d93..dd0bfc2 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -475,10 +475,11 @@ running once the system is up. See Documentation/block/as-iosched.txt and Documentation/block/deadline-iosched.txt for details. - elfcorehdr= [IA-32] + elfcorehdr= [IA-32, X86_64] Specifies physical address of start of kernel core - image elf header. - See Documentation/kdump.txt for details. + image elf header. Generally kexec loader will + pass this option to capture kernel. + See Documentation/kdump/kdump.txt for details. enforcing [SELINUX] Set initial enforcing status. Format: {"0" | "1"} diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 27c956d..f685637 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c @@ -898,7 +898,7 @@ static void __init parse_cmdline_early (char ** cmdline_p) } } #endif -#ifdef CONFIG_CRASH_DUMP +#ifdef CONFIG_PROC_VMCORE /* elfcorehdr= specifies the location of elf core header * stored by the crashed kernel. */ diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index ff9620b..a0e0c9c 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c @@ -35,6 +35,7 @@ #include <asm/processor.h> #include <linux/console.h> #include <linux/seq_file.h> +#include <linux/crash_dump.h> #include <linux/root_dev.h> #include <linux/pci.h> #include <linux/acpi.h> @@ -418,6 +419,14 @@ static __init void parse_cmdline_early (char ** cmdline_p) } #endif +#ifdef CONFIG_PROC_VMCORE + /* elfcorehdr= specifies the location of elf core header + * stored by the crashed kernel. This option will be passed + * by kexec loader to the capture kernel. + */ + else if(!memcmp(from, "elfcorehdr=", 11)) + elfcorehdr_addr = memparse(from+11, &from); +#endif next_char: c = *(from++); if (!c) |