kexec load failure introduced by "x86, memblock: Replace e820_/_early string with memblock_"
H. Peter Anvin
hpa at zytor.com
Mon Sep 27 23:46:42 EDT 2010
On 09/27/2010 05:53 PM, Vivek Goyal wrote:
> Actually, hardcoding the upper limit to 4G is probably not the best idea.
> Kexec loads the the relocatable binary (purgatory) and I remember that
> one of the generated relocation type was signed 32 bit and allowed max value
> to be 2G only. So IIRC, purgatory code always needed to be loaded below 2G.
> I liked HPA's other idea better of introducing memblock_find_in_range_lowest()
> so that we search bottom up and not rely on a specific upper limit.
No, it's just another crappy hack which is broken in the same way. It's
better than open-coding, but it's still a hack.
The Right Thing[TM] to do is for kexec to communicate the topmost
address it wants to this code, so it has both the upper and the lower
boundaries available to it instead of just one.
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
More information about the kexec