On Thu, Oct 07, 2010 at 11:54:31AM -0700, H. Peter Anvin wrote: > On 10/07/2010 11:18 AM, Vivek Goyal wrote: > > > > Ok, I was browsing through kexec-tools, x86 bzImage code and trying to > > refresh my memory what segments were being loaded and what were memory > > address concerns. > > > > - relocatable bzImage (max addr 0x37ffffff, 896MB). > > Though I don't know/understand where that 896MB come from. > > > > - initrd (max addr 0x37ffffff, 896MB) > > Don't know why 896MB as upper limit > > 896 MB is presumably the (default!!) LOWMEM limit on 32 bits. This is > actually wrong if vmalloc= is also specified on command line, though, or > with nonstandard compile-time options. > > > - Purgatory (max addr 2G) > > > > - A segment to keep elf headers (no limit) > > These are accessed when second kernel as fully booted so can be > > addressed in higher addresses. > > > > - A backup segment to copy first 640K of memory (not aware of any limit) > > - Setup/parameter segment (no limit) > > - We don't really execute anything here and just access it for > > command line. > > Probably has a 4 GB limit, since I believe it only has a 32-bit pointer. > > > So atleast for bzImage it looks that if we specify crashkernel=128M<896M, it > > will work. > > > > So I am fine with above additional syntax for crashkernel=. May be we shall > > have to the deprecate the crashkernel=X<@0 syntax. > > > > CCing kexec list, in case others have any comments. > > It would be easy enough to either deprecate or make it an alias for > crashkernel=...<896M, which is basically what Yinghai's patch does. Agreed. So Yinghai's patch is fine. I need to write a patch for introducing crashkernel=X<Y syntax to make the behavior explicit. Will do... Thanks Vivek