diff options
author | Bernhard Walle <bwalle@suse.de> | 2008-06-08 16:16:07 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-19 10:08:48 +0200 |
commit | d3942cff620bea073fc4e3c8ed878eb1e84615ce (patch) | |
tree | 55f0b2954d91d67fcd0b8ad9b97c7356fb9799fd /arch | |
parent | df17b1d990fc214f033c5588e58216ec941591e0 (diff) | |
download | linux-d3942cff620bea073fc4e3c8ed878eb1e84615ce.tar.gz linux-d3942cff620bea073fc4e3c8ed878eb1e84615ce.tar.bz2 linux-d3942cff620bea073fc4e3c8ed878eb1e84615ce.zip |
x86: use BOOTMEM_EXCLUSIVE on 32-bit
This patch uses the BOOTMEM_EXCLUSIVE for crashkernel reservation also for
i386 and prints a error message on failure.
The patch is still for 2.6.26 since it is only bug fixing. The unification
of reserve_crashkernel() between i386 and x86_64 should be done for 2.6.27.
Signed-off-by: Bernhard Walle <bwalle@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/setup_32.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 2c5f8b213e86..5a2f8e063887 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c @@ -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"); |