Sorry, with "real mode" are we talking about struct boot_params or the actual realmode trampoline? The latter needs to be < 640K as a hw requirement. Sorry, on my cellphone atm and can't direcly check. Yinghai Lu <yinghai at kernel.org> wrote: >On Sat, Nov 17, 2012 at 12:25 AM, Eric W. Biederman ><ebiederm at xmission.com> wrote: >> Yinghai Lu <yinghai at kernel.org> writes: >> >>> On Fri, Nov 16, 2012 at 10:18 PM, Eric W. Biederman >>> <ebiederm at xmission.com> wrote: >>>> Yinghai Lu <yinghai at kernel.org> writes: >>>> >>>>> So could limit range for 4g above buffers. >>>> >>>> What is wrong with mem-min and mem-max? At this point in the >patchset >>>> it looks like you are introducing mem64-min and mem64-max as a hack >to >>>> avoid fixing mem-min and mem-max properly. >>> >>> if we set mem-min high, some buffers for purgatory and real_mode can >>> not be allocated properly. >> >> Let's see. For a 32bit kexec that is a fundamental limit, even if we >> are booting a 64bit kernel. >> >> For a 64bit kexec we have a 64bit purgatory so it should not be a >> problem to relocate it higher. >> >> Hmm. I'm not certain about the real_mode bits. Splitting out the >64bit >> bzImage loader from the 32bit bzImage loader should allow a lot of >the >> legacy bits to be deleted. Past that I think we simply down in the >real >> of needing a command line pointer that is 64bit instead of the >current >> 32bit one. That we should be able to fix by fixing the boot >protocol. >> >> Since the real mode bits when loading a 64bit kernel are just a >> parameter area there should be no fundamental reason for them to be >> below 4G. >> >> The code needs to default to loading the kernel in the non kdump case >> at the address it was compiled to run at. But for the rest I really >> don't see why we can't load the kernel very high. > >then for setup data (boot param) and command line, we have to set extra >ident >mapping for them in kernel arch/x86/kernel/head_64.S > >with my current patchset for kernel and kexec, we only need to set >ident mapping >for [_text, _end) in kernel arch/x86/kernel/head_64.S > >Yinghai -- Sent from my mobile phone. Please excuse brevity and lack of formatting.