diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2006-01-09 23:51:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 11:01:27 -0500 |
commit | aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (patch) | |
tree | f8bfb3cf1850b4e9f1f450c09d9cb33a3b29d667 | |
parent | 69cda7b1f06befb8d6a884b8a663d19dcaef590b (diff) |
[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 12b7d938a897..dd0bfc291a68 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -475,10 +475,11 @@ running once the system is up. | |||
475 | See Documentation/block/as-iosched.txt and | 475 | See Documentation/block/as-iosched.txt and |
476 | Documentation/block/deadline-iosched.txt for details. | 476 | Documentation/block/deadline-iosched.txt for details. |
477 | 477 | ||
478 | elfcorehdr= [IA-32] | 478 | elfcorehdr= [IA-32, X86_64] |
479 | Specifies physical address of start of kernel core | 479 | Specifies physical address of start of kernel core |
480 | image elf header. | 480 | image elf header. Generally kexec loader will |
481 | See Documentation/kdump.txt for details. | 481 | pass this option to capture kernel. |
482 | See Documentation/kdump/kdump.txt for details. | ||
482 | 483 | ||
483 | enforcing [SELINUX] Set initial enforcing status. | 484 | enforcing [SELINUX] Set initial enforcing status. |
484 | Format: {"0" | "1"} | 485 | Format: {"0" | "1"} |
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 27c956db0461..f685637a100d 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) | |||
898 | } | 898 | } |
899 | } | 899 | } |
900 | #endif | 900 | #endif |
901 | #ifdef CONFIG_CRASH_DUMP | 901 | #ifdef CONFIG_PROC_VMCORE |
902 | /* elfcorehdr= specifies the location of elf core header | 902 | /* elfcorehdr= specifies the location of elf core header |
903 | * stored by the crashed kernel. | 903 | * stored by the crashed kernel. |
904 | */ | 904 | */ |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index ff9620b800c0..a0e0c9ca8f10 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <asm/processor.h> | 35 | #include <asm/processor.h> |
36 | #include <linux/console.h> | 36 | #include <linux/console.h> |
37 | #include <linux/seq_file.h> | 37 | #include <linux/seq_file.h> |
38 | #include <linux/crash_dump.h> | ||
38 | #include <linux/root_dev.h> | 39 | #include <linux/root_dev.h> |
39 | #include <linux/pci.h> | 40 | #include <linux/pci.h> |
40 | #include <linux/acpi.h> | 41 | #include <linux/acpi.h> |
@@ -418,6 +419,14 @@ static __init void parse_cmdline_early (char ** cmdline_p) | |||
418 | } | 419 | } |
419 | #endif | 420 | #endif |
420 | 421 | ||
422 | #ifdef CONFIG_PROC_VMCORE | ||
423 | /* elfcorehdr= specifies the location of elf core header | ||
424 | * stored by the crashed kernel. This option will be passed | ||
425 | * by kexec loader to the capture kernel. | ||
426 | */ | ||
427 | else if(!memcmp(from, "elfcorehdr=", 11)) | ||
428 | elfcorehdr_addr = memparse(from+11, &from); | ||
429 | #endif | ||
421 | next_char: | 430 | next_char: |
422 | c = *(from++); | 431 | c = *(from++); |
423 | if (!c) | 432 | if (!c) |