]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86: use BOOTMEM_EXCLUSIVE on 32-bit
authorBernhard Walle <bwalle@suse.de>
Fri, 20 Jun 2008 21:31:06 +0000 (21:31 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Jun 2008 21:08:30 +0000 (14:08 -0700)
commit d3942cff620bea073fc4e3c8ed878eb1e84615ce upstream

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/setup_32.c

index 2b3e5d45176bda99d2172a2484076e973d53cfd4..9ac056b4919183df8a5ddc33e923dc1ee16b3956 100644 (file)
@@ -483,10 +483,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");