How does kdump deal with trampoline allocation?
vgoyal at redhat.com
Mon Jan 3 00:01:09 EST 2011
On Mon, Dec 27, 2010 at 04:13:55PM -0800, H. Peter Anvin wrote:
> On 12/27/2010 04:06 PM, Vivek Goyal wrote:
> > On Mon, Dec 27, 2010 at 12:31:20PM -0800, H. Peter Anvin wrote:
> >> Hi guys,
> >> I'm planning a major overhaul of the trampoline allocation in x86, and
> >> I'm trying to understand how kdump deals with it. The trampoline has to
> >> be allocated in low memory (< 1 MiB) and obviously that doesn't include
> >> the kdump area at all.
> > Hi Peter,
> > Kdump has the concept of backup area. We backup the contents of first
> > 640KB of physical RAM in kdump reserved area and then allow kdump kernel
> > to use first 640KB of memory. So any trampoline allocation can be done
> > in low memory area without overwritting the contents of first kernel.
> OK, that's straightforward. That presumably means that the low 640K is
> marked unused in the memory map that memblock sees during early startup.
Yes, the available memory for second kernel is told to second kernel with
kernel command line option "memmap=", hence it should be visible to
memblock and it should be able to allocate this memory.
More information about the kexec