Use extended crashkernel command line on x86_64
This patch removes the crashkernel parsing from arch/x86_64/kernel/machine_kexec.c and calls the generic function, introduced in the last patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle <bwalle@suse.de> Cc: Andi Kleen <ak@suse.de> Cc: Vivek Goyal <vgoyal@in.ibm.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d62cc47163
commit
5c3391f9f7
@@ -231,33 +231,6 @@ NORET_TYPE void machine_kexec(struct kimage *image)
|
||||
image->start);
|
||||
}
|
||||
|
||||
/* crashkernel=size@addr specifies the location to reserve for
|
||||
* a crash kernel. By reserving this memory we guarantee
|
||||
* that linux never set's it up as a DMA target.
|
||||
* Useful for holding code to do something appropriate
|
||||
* after a kernel panic.
|
||||
*/
|
||||
static int __init setup_crashkernel(char *arg)
|
||||
{
|
||||
unsigned long size, base;
|
||||
char *p;
|
||||
if (!arg)
|
||||
return -EINVAL;
|
||||
size = memparse(arg, &p);
|
||||
if (arg == p)
|
||||
return -EINVAL;
|
||||
if (*p == '@') {
|
||||
base = memparse(p+1, &p);
|
||||
/* FIXME: Do I want a sanity check to validate the
|
||||
* memory range? Yes you do, but it's too early for
|
||||
* e820 -AK */
|
||||
crashk_res.start = base;
|
||||
crashk_res.end = base + size - 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
early_param("crashkernel", setup_crashkernel);
|
||||
|
||||
void arch_crash_save_vmcoreinfo(void)
|
||||
{
|
||||
#ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE
|
||||
|
||||
Reference in New Issue
Block a user