From: Michael Holzheu <holzheu@linux.vnet.ibm.com>
To: akpm@linux-foundation.org
Cc: oomichi@mxs.nes.nec.co.jp, linux-s390@vger.kernel.org,
mahesh@linux.vnet.ibm.com, heiko.carstens@de.ibm.com,
linux-kernel@vger.kernel.org, hbabu@us.ibm.com,
horms@verge.net.au, ebiederm@xmission.com,
schwidefsky@de.ibm.com, kexec@lists.infradead.org,
vgoyal@redhat.com
Subject: [patch 2/2] kdump: Add size to elfcorehdr kernel parameter
Date: Fri, 19 Aug 2011 16:18:59 +0200 [thread overview]
Message-ID: <20110819141940.335341157@linux.vnet.ibm.com> (raw)
In-Reply-To: 20110819141857.052232873@linux.vnet.ibm.com
[-- Attachment #1: s390-kdump-common-elfcorehdr-parm.patch --]
[-- Type: text/plain, Size: 3012 bytes --]
From: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Currently only the address of the pre-allocated ELF header is passed with
the elfcorehdr= kernel parameter. In order to reserve memory for the header
in the 2nd kernel also the size is required. Current kdump architecture
backends use different methods to do that, e.g. x86 uses the memmap= kernel
parameter. On s390 there is no easy way to transfer this information.
Therefore the elfcorehdr kernel parameter is extended to also pass the size.
This now can also be used as standard mechanism by all future kdump
architecture backends.
The syntax of the kernel parameter is extended as follows:
elfcorehdr=[size[KMG]@]offset[KMG]
This change is backward compatible because elfcorehdr=size is still allowed.
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
---
Documentation/kernel-parameters.txt | 6 +++---
include/linux/crash_dump.h | 1 +
kernel/crash_dump.c | 11 +++++++++++
3 files changed, 15 insertions(+), 3 deletions(-)
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -727,10 +727,10 @@ bytes respectively. Such letter suffixes
See Documentation/block/as-iosched.txt and
Documentation/block/deadline-iosched.txt for details.
- elfcorehdr= [IA-64,PPC,SH,X86]
+ elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
Specifies physical address of start of kernel core
- image elf header. Generally kexec loader will
- pass this option to capture kernel.
+ image elf header and optionally the size. Generally
+ kexec loader will pass this option to capture kernel.
See Documentation/kdump/kdump.txt for details.
enable_mtrr_cleanup [X86]
--- a/include/linux/crash_dump.h
+++ b/include/linux/crash_dump.h
@@ -10,6 +10,7 @@
#define ELFCORE_ADDR_ERR (-2ULL)
extern unsigned long long elfcorehdr_addr;
+extern unsigned long long elfcorehdr_size;
extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
unsigned long, int);
--- a/kernel/crash_dump.c
+++ b/kernel/crash_dump.c
@@ -20,8 +20,15 @@ unsigned long saved_max_pfn;
unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
/*
+ * stores the size of elf header of crash image
+ */
+unsigned long long elfcorehdr_size;
+
+/*
* 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.
+ *
+ * Syntax: elfcorehdr=[size[KMG]@]offset[KMG]
*/
static int __init setup_elfcorehdr(char *arg)
{
@@ -29,6 +36,10 @@ static int __init setup_elfcorehdr(char
if (!arg)
return -EINVAL;
elfcorehdr_addr = memparse(arg, &end);
+ if (*end == '@') {
+ elfcorehdr_size = elfcorehdr_addr;
+ elfcorehdr_addr = memparse(end + 1, &end);
+ }
return end > arg ? 0 : -EINVAL;
}
early_param("elfcorehdr", setup_elfcorehdr);
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2011-08-19 14:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-19 14:18 [patch 0/2] kdump: Common code changes for s390 kdump support Michael Holzheu
2011-08-19 14:18 ` [patch 1/2] kdump: Add KEXEC_CRASH_CONTROL_MEMORY_LIMIT Michael Holzheu
2011-08-19 14:24 ` Vivek Goyal
2011-08-19 14:18 ` Michael Holzheu [this message]
2011-08-19 14:25 ` [patch 2/2] kdump: Add size to elfcorehdr kernel parameter Vivek Goyal
2011-08-19 22:03 ` [patch 0/2] kdump: Common code changes for s390 kdump support Andrew Morton
2011-08-22 6:34 ` Martin Schwidefsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110819141940.335341157@linux.vnet.ibm.com \
--to=holzheu@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=hbabu@us.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=horms@verge.net.au \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mahesh@linux.vnet.ibm.com \
--cc=oomichi@mxs.nes.nec.co.jp \
--cc=schwidefsky@de.ibm.com \
--cc=vgoyal@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox