Commit 4aeaa223 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt

sh: add dynamic crash base address support

Add support for dynamic crash kernel base address.
Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent a30c89ad
...@@ -147,6 +147,7 @@ static void __init reserve_crashkernel(void) ...@@ -147,6 +147,7 @@ static void __init reserve_crashkernel(void)
{ {
unsigned long long free_mem; unsigned long long free_mem;
unsigned long long crash_size, crash_base; unsigned long long crash_size, crash_base;
void *vp;
int ret; int ret;
free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT; free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT;
...@@ -155,12 +156,14 @@ static void __init reserve_crashkernel(void) ...@@ -155,12 +156,14 @@ static void __init reserve_crashkernel(void)
&crash_size, &crash_base); &crash_size, &crash_base);
if (ret == 0 && crash_size) { if (ret == 0 && crash_size) {
if (crash_base <= 0) { if (crash_base <= 0) {
printk(KERN_INFO "crashkernel reservation failed - " vp = alloc_bootmem_nopanic(crash_size);
"you have to specify a base address\n"); if (!vp) {
printk(KERN_INFO "crashkernel allocation "
"failed\n");
return; return;
} }
crash_base = __pa(vp);
if (reserve_bootmem(crash_base, crash_size, } else if (reserve_bootmem(crash_base, crash_size,
BOOTMEM_EXCLUSIVE) < 0) { BOOTMEM_EXCLUSIVE) < 0) {
printk(KERN_INFO "crashkernel reservation failed - " printk(KERN_INFO "crashkernel reservation failed - "
"memory is in use\n"); "memory is in use\n");
......
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