Skip to content

Commit

Permalink
[PATCH] Retrieve elfcorehdr address from command line
Browse files Browse the repository at this point in the history
This patch adds support for retrieving the address of elf core header if one
is passed in command line.

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>
  • Loading branch information
Vivek Goyal authored and Linus Torvalds committed Jun 25, 2005
1 parent 60e64d4 commit 2030eae
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,10 @@ running once the system is up.
Format: {"as"|"cfq"|"deadline"|"noop"}
See Documentation/block/as-iosched.txt
and Documentation/block/deadline-iosched.txt for details.
elfcorehdr= [IA-32]
Specifies physical address of start of kernel core image
elf header.
See Documentation/kdump.txt for details.

enforcing [SELINUX] Set initial enforcing status.
Format: {"0" | "1"}
Expand Down
8 changes: 8 additions & 0 deletions arch/i386/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#include <linux/edd.h>
#include <linux/nodemask.h>
#include <linux/kexec.h>
#include <linux/crash_dump.h>

#include <video/edid.h>

Expand Down Expand Up @@ -881,6 +882,13 @@ static void __init parse_cmdline_early (char ** cmdline_p)
}
}
#endif
#ifdef CONFIG_CRASH_DUMP
/* elfcorehdr= specifies the location of elf core header
* stored by the crashed kernel.
*/
else if (!memcmp(from, "elfcorehdr=", 11))
elfcorehdr_addr = memparse(from+11, &from);
#endif

/*
* highmem=size forces highmem to be exactly 'size' bytes.
Expand Down
1 change: 1 addition & 0 deletions include/linux/crash_dump.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <linux/device.h>
#include <linux/proc_fs.h>

extern unsigned long long elfcorehdr_addr;
extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
unsigned long, int);
#endif /* CONFIG_CRASH_DUMP */
Expand Down
3 changes: 3 additions & 0 deletions kernel/crash_dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
#include <asm/io.h>
#include <asm/uaccess.h>

/* Stores the physical address of elf header of crash image. */
unsigned long long elfcorehdr_addr;

/*
* Copy a page from "oldmem". For this page, there is no pte mapped
* in the current kernel. We stitch up a pte, similar to kmap_atomic.
Expand Down

0 comments on commit 2030eae

Please sign in to comment.