aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@in.ibm.com>2006-01-09 23:51:47 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-10 11:01:27 -0500
commitaac04b32f3e4c63f461459d0e1d6aa01caac6e66 (patch)
treef8bfb3cf1850b4e9f1f450c09d9cb33a3b29d667
parent69cda7b1f06befb8d6a884b8a663d19dcaef590b (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.txt7
-rw-r--r--arch/i386/kernel/setup.c2
-rw-r--r--arch/x86_64/kernel/setup.c9
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)