Skip to content

Commit

Permalink
sh: add dynamic crash base address support
Browse files Browse the repository at this point in the history
Add support for dynamic crash kernel base address.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Magnus Damm authored and Paul Mundt committed Oct 20, 2008
1 parent a30c89a commit 4aeaa22
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions arch/sh/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ static void __init reserve_crashkernel(void)
{
unsigned long long free_mem;
unsigned long long crash_size, crash_base;
void *vp;
int ret;

free_mem = ((unsigned long long)max_low_pfn - min_low_pfn) << PAGE_SHIFT;
Expand All @@ -155,12 +156,14 @@ static void __init reserve_crashkernel(void)
&crash_size, &crash_base);
if (ret == 0 && crash_size) {
if (crash_base <= 0) {
printk(KERN_INFO "crashkernel reservation failed - "
"you have to specify a base address\n");
return;
}

if (reserve_bootmem(crash_base, crash_size,
vp = alloc_bootmem_nopanic(crash_size);
if (!vp) {
printk(KERN_INFO "crashkernel allocation "
"failed\n");
return;
}
crash_base = __pa(vp);
} else if (reserve_bootmem(crash_base, crash_size,
BOOTMEM_EXCLUSIVE) < 0) {
printk(KERN_INFO "crashkernel reservation failed - "
"memory is in use\n");
Expand Down

0 comments on commit 4aeaa22

Please sign in to comment.