On 06/03/2012 01:32 PM, Eric W. Biederman wrote: > > Create a space for the elf headers at the begginng of the > kernels image in memory. Removing the need for an extra > copy of the kernel during boot. Making things faster > and making vmlinux smaller. > > - Allow room for the elf headers in the vmlinux. > This removes the need to insert padding between > the elf headers and the start of text. Reducing > the size of vmlinux by 2MB on x86_64 and removing > the need for parse_elf in boot.c to move the code. > > - Return the relocated entry point address from parse_elf > as the kernel's entry point is no long at a fixed address. > > - Remove the now unnecessary copies in arch/x86/compress/misc.c:parse_elf > The ELF headers are now guaranteed to not conflict with the program > data in the uncompressed image. > > - In cleanup_highmap keep all pages starting with __START_KERNEL_map > instead of _text. Those values used to be the same but with the > insertion of the hole for the ELF headers they differ and cause us > to nuke our first 2MB of text ouch! So use the __START_KERNEL_map > which includes the elf headers. > Sadly, this patch breaks the boot with of of my standard configurations (attached)... it goes into an infinite reboot loop. This was the first config I tested, so it might very well break more. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.