Yinghai Lu wrote: > On Sun, Apr 6, 2008 at 9:38 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: >> Yinghai Lu wrote: >> >>> so will cost every bzImage extra memory copy? that could be 18M or >>> even more big. >>> >> I wouldn't worry about that. You will typically have several copies of the >> images during the execution of the boot loader. > > i put all drivers needed in kernel. > 1. bootloader copy bzImage (6M) to memory > 2. arch/x86/boot/compressed/head_32.S, will copy bzImage to end of > buffer to do uncompress on possiton. > 3. parse_elf will copy the vmlinux (the uncompressed, that is some big, 18M) > > I suggest that could have special elf header, and will only have one > PT_LOAD, and avoid the copy, and just offset start address of > uncompressed kernel for jump later. Once again, I think you will have a hard time measuring the time difference. The start address of the uncompressed kernel is defined at compile time. Typically it is set based on alignment constraints in the hardware; for x86-32 is is normally 1 MB but for reasonably large hardware 16 MB is better (in fact, I have proposed making 16 MB the default.) Recovery kernels are frequently compiled with completely different addresses. With your proposal, this would no longer be possible to be a configurable option, which would be a major loss -- a major loss of functionality for a small fraction of time at bootup time (which is almost certainly dwarfed by all the other copying and initialization that happens at boot time.) -hpa _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization