x86: move dma32_reserve_bootmem() after reserve_crashkernel()
On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual "64M@16M" failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the dma32_reserve_bootmem() reservation down a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While we strictly don't need that patch in 2.6.27 because we have the automatic, dynamic offset detection, it makes sense to also include it here because: - it's easier to get it in -stable then, - many people are still used to the 'crashkernel=...@16M' syntax, - not everybody may be using a reloatable kernel. Signed-off-by: Bernhard Walle <bwalle@suse.de> Cc: kexec@lists.infradead.org Cc: vgoyal@redhat.com Cc: akpm@linux-foundation.org Cc: Bernhard Walle <bwalle@suse.de> Cc: yhlu.kernel@gmail.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
5b664cb235
commit
91467bdf6e
|
@ -792,10 +792,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
|
||||
initmem_init(0, max_pfn);
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
dma32_reserve_bootmem();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
/*
|
||||
* Reserve low memory region for sleep support.
|
||||
|
@ -810,6 +806,15 @@ void __init setup_arch(char **cmdline_p)
|
|||
#endif
|
||||
reserve_crashkernel();
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
/*
|
||||
* dma32_reserve_bootmem() allocates bootmem which may conflict
|
||||
* with the crashkernel command line, so do that after
|
||||
* reserve_crashkernel()
|
||||
*/
|
||||
dma32_reserve_bootmem();
|
||||
#endif
|
||||
|
||||
reserve_ibft_region();
|
||||
|
||||
#ifdef CONFIG_KVM_CLOCK
|
||||
|
|
Loading…
Reference in New Issue