|
@@ -532,10 +532,16 @@ static void __init reserve_crashkernel(void)
|
|
|
(unsigned long)(crash_size >> 20),
|
|
|
(unsigned long)(crash_base >> 20),
|
|
|
(unsigned long)(total_mem >> 20));
|
|
|
+
|
|
|
+ if (reserve_bootmem(crash_base, crash_size,
|
|
|
+ BOOTMEM_EXCLUSIVE) < 0) {
|
|
|
+ printk(KERN_INFO "crashkernel reservation "
|
|
|
+ "failed - memory is in use\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
crashk_res.start = crash_base;
|
|
|
crashk_res.end = crash_base + crash_size - 1;
|
|
|
- reserve_bootmem(crash_base, crash_size,
|
|
|
- BOOTMEM_DEFAULT);
|
|
|
} else
|
|
|
printk(KERN_INFO "crashkernel reservation failed - "
|
|
|
"you have to specify a base address\n");
|