On Sat, Nov 17, 2012 at 8:47 PM, Eric W. Biederman <ebiederm at xmission.com> wrote: > "H. Peter Anvin" <hpa at zytor.com> writes: > > > 64bit purgatory coming from kexec should be running with a page table > that identity maps everything loaded by kexec and in practice all of > memory. there is lots of R_X86_64_32 and R_X86_64_32S for 64bit purgatory. those come from global variables...could kill some by converting them static... but still have some global string or ro data.... build one big file include all .S ? > > We should still be using that page table when we enter the new kernel. > > However then the 64bit kernel switches to it's own page tables. > > So after that point we potentially need early_ioremap, because the > kernel's page tables may not have covered the boot_params. Certainly we > need to do something to ensure the kernels page table covers boot_params. yes, I tested that and it works.