brcm47xx: relocate loader to higher address
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 8 Oct 2017 14:52:28 +0000 (16:52 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 5 Jan 2018 23:40:00 +0000 (00:40 +0100)
commitda43069f5bf60dfa302ee6983d2e54f2a6a47174
treef1e778c3413b2d984bb03e1fdb6a0e84d3cfa0b6
parentf19416ae9d62817ac7169721db3f3d3b13f1ece3
brcm47xx: relocate loader to higher address

The boot process on a WRT54GL works the following way:
1. CFE gets loaded by the boot rom from flash
2. CFE loads the loader from the flash and gzip uncompresses it
3. CFE starts the loader
4. The loader stores the FW arguments and relocates itself to
   BZ_TEXT_START (now 0x80600000)
5. The loader reads the Linux image from flash
6. The loader lzma decompresses the Linux image to LOADADDR (0x80001000)
7. The loader executes the uncompress Linux image at LOADADDR

The BZ_TEXT_START was set to 0x80400000 before. When the kernel gets
uncompressed and is bigger than BZ_TEXT_START - LOADADDR it overwrote
the loader which was currently uncompressing it and made the board
crash. Increase the BZ_TEXT_START my 2 MB to have more space for the
kernel. Even on 16MB RAM devices the memory goes till 0x80FFFFFF so this
should not be a problem.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/brcm47xx/image/lzma-loader/src/Makefile