
Hi,
On 11/30/2010 11:35 PM, Luigi 'Comio' Mantellini wrote:
Look the following benchmark (qemu-mips board):
U-Boot Vanilla 179600 bytes u-boot.bin
Bootstrap code w/o compresion (memcpy) 189224 bytes u-boot-bootstrap.bin --> size 105%
Bootstrap code using BZIP2 compression 114388 bytes u-boot-bootstrap.bin -->size 64%
Bootstrap code using GZIP compression 114204 bytes u-boot-bootstrap.bin -->size 64%
Bootstrap code using LZMA compression 89456 bytes u-boot-bootstrap.bin -->size 50% <-- BEST
Bootstrap code using LZO compression 104388 bytes u-boot-bootstrap.bin -->size 58%
Personally, I don't much care about the size of U-Boot bin itself (179kB or 104kB), but it depends. And I'd like to see how much boot time of U-Boot improved on your environment.
The following patches introduce the bootstrap support that enable to have a
compressed U-Boot image. The bootstrap code supports the uncompressed as well as compressed payloads, using LZMA, GZIP, BZIP2 and LZO.
Actually I developed just the mips version (using qemu-mips board)...
Please see the Patch #1 for the required defines to enable the required features.
Not having a closer look at the patch yet, some general comments:
* Two patches posted, but contains multiple logical changes: - CONFIG_BOOTSTRAP* build infrastructure (main body) - common: Introduce console_bootstrap - MIPS: Separate _machine_restart() and do_reset() into reset.c - MIPS: config.mk: Append -g debug option to PLATFORM_CPPFLAGS, which is already provided by $(TOPDIR)/config.mk. - MIPS: qemu_mips: bootstrap support enablement (experimental)
Please break into logical changes, please.
* '_bootstrap' suffixed files are almost identical to the original ones: - arch/mips/cpu/reset{,_bootstrap}.c - arch/mips/cpu/start{,_bootstrap}.S - board/qemu-mips/u-boot{,_bootstrap}.lds
Is there any way not to duplicate them? Do we really need to have _bootstrap files separated?
Once this bootstrap feature approved as general U-Boot feature, I'd like to take MIPS-related changes.
Thanks,
Ralf