1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-04 23:04:03 +02:00
openwrt-xburst/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed
wbx 21db875713 lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@513 3c298f89-4303-0410-b956-a3cf2f4a3e73
2005-04-02 12:12:58 +00:00
..
data.lds add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
decompress_bunzip2.c add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
decompress_bunzip2.lds add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
decompress_bunzip2.lds.in add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
head.S add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
Makefile lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory 2005-04-02 12:12:58 +00:00
README.mjn3 add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
vmlinux.lds add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00
vmlinux.lds.in add all source code from linksys/broadcom which is free, to cvs for better maintainence inside 2005-03-16 13:50:00 +00:00

FIRST... See the dedication in the decompress_bunzip2.c file as it applies
here too.  Donations to hospice in Toni's memory would be appreciated.

As far as the code goes... the bzImage is just a bzip'd kernel image with
a small gzip'd decompressor/loader stuck on front.  CFE ungzip's the loader
app which then relocates the bunzip decompressor into higher memory and
bunzip's the compressed kernel directly from flash.  Then the instruction
cache is flushed (to remove traces of the loader) and the kernel is executed.

Of course, a better approach would be to add bunzip decompression to CFE.

Notes...
  1) Instruction cache size and linesize are hardcoded (see the #warning).
  2) Currently assumes at least 16M or ram.
  3) Thanks to Mike Baker   mbm at alt dot org  for bouncing ideas back
     and forth as well as diagnosing the last (icache) bug.

Manuel Novoa III   <mjn3@codepoet.org>        May 30, 2004