Commit 2030eae5 authored by Vivek Goyal's avatar Vivek Goyal Committed by Linus Torvalds

[PATCH] Retrieve elfcorehdr address from command line

This patch adds support for retrieving the address of elf core header if one
is passed in command line.
Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 60e64d46
...@@ -451,6 +451,10 @@ running once the system is up. ...@@ -451,6 +451,10 @@ running once the system is up.
Format: {"as"|"cfq"|"deadline"|"noop"} Format: {"as"|"cfq"|"deadline"|"noop"}
See Documentation/block/as-iosched.txt See Documentation/block/as-iosched.txt
and Documentation/block/deadline-iosched.txt for details. 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. enforcing [SELINUX] Set initial enforcing status.
Format: {"0" | "1"} Format: {"0" | "1"}
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include <linux/edd.h> #include <linux/edd.h>
#include <linux/nodemask.h> #include <linux/nodemask.h>
#include <linux/kexec.h> #include <linux/kexec.h>
#include <linux/crash_dump.h>
#include <video/edid.h> #include <video/edid.h>
...@@ -881,6 +882,13 @@ static void __init parse_cmdline_early (char ** cmdline_p) ...@@ -881,6 +882,13 @@ static void __init parse_cmdline_early (char ** cmdline_p)
} }
} }
#endif #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. * highmem=size forces highmem to be exactly 'size' bytes.
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <linux/device.h> #include <linux/device.h>
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
extern unsigned long long elfcorehdr_addr;
extern ssize_t copy_oldmem_page(unsigned long, char *, size_t, extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
unsigned long, int); unsigned long, int);
#endif /* CONFIG_CRASH_DUMP */ #endif /* CONFIG_CRASH_DUMP */
......
...@@ -15,6 +15,9 @@ ...@@ -15,6 +15,9 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/uaccess.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 * 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. * in the current kernel. We stitch up a pte, similar to kmap_atomic.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment