Commit Graph

6 Commits

Author SHA1 Message Date
Hauke Mehrtens
2909a4b78e brcm47xx: relocate the stack in loader
By default we are reusing the stack provided by CFE, like it is intended
by CFE. On my WRT54GS it is located at 0x8043BF30, so a big kernel image
could overwrite it. Relocate it to a different memory region which is
still under the 8MB RAM, but in the higher area. We only need this
memory region for the stack of the loader, Linux will set up this
for its own.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-10-11 21:36:24 +02:00
Hauke Mehrtens
d5cf4a5aa4 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>
2017-10-11 21:36:24 +02:00
Gabor Juhos
395fff6f8b brcm47xx: lzma-loader: fix cache invalidation
The current code only partially invalidates both caches
because the cache size and cache-line size values are
incorrectly passed to the C code.

Fix the assembly code to pass the arguments in the correct
order.

Compile tested only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 49060
2016-03-21 13:15:22 +00:00
Gabor Juhos
f8933cbd5f brcm47xx: lzma-loader: remove trailing whitespaces from head.S
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 49059
2016-03-21 13:15:21 +00:00
Hauke Mehrtens
41b3383499 brcm47xx: Add edimax PS1208mfg support
Thank you clemvangelis for the patches. (closes #7672)

SVN-Revision: 24217
2010-12-02 21:27:54 +00:00
Felix Fietkau
812f026323 add back the base-files/image code from brcm-2.4 to brcm47xx
SVN-Revision: 21945
2010-06-26 20:41:49 +00:00