ath79: move lzma-loader to the end of available RAM
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Wed, 22 Jan 2020 17:06:07 +0000 (18:06 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 23 Jan 2020 14:28:03 +0000 (15:28 +0100)
In certain cases, the uncompressed initramfs image will overwrite
the lzma-loader, which is currently only 10 MB away from kernel image
start. To prevent this, change LZMA_TEXT_START to 24 MB, so loader
and compressed image have 8 MB at the end of RAM and uncompressed
image has 24 MB available.

This is only enabled for ath79 at the moment, as there we can be sure
that all devices have 32+ MB RAM and TARGET_INITRAMFS_COMPRESSION_LZMA
is not enabled there.

Despite, since lzma-loader is currently build specifically for ath79
anyway, there is no need to re-specify LOADADDR and LZMA_TEXT_START
in image/Makefile, so the values are set directly in
image/lzma-loader/Makefile and the overwrite in image/Makefile is
removed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
target/linux/ath79/image/Makefile
target/linux/ath79/image/lzma-loader/Makefile

index 34bd0a2490ee57f863adf76d2a6bc543503bda4d..a28658ec0bb8bd017d4b280132f119dfee82e3a2 100644 (file)
@@ -10,7 +10,6 @@ define Build/loader-common
        $(MAKE) -C lzma-loader \
                PKG_BUILD_DIR="$@.src" \
                TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
-               LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
                $(1) compile loader.$(LOADER_TYPE)
        mv "$@.$(LOADER_TYPE)" "$@"
        rm -rf $@.src
index 738093a958013624abb8f84a3874e1c795da349d..0ff59bc56a8c7275725347a85eb8fb95593f9c76 100644 (file)
@@ -8,11 +8,11 @@
 
 include $(TOPDIR)/rules.mk
 
-LZMA_TEXT_START        := 0x80a00000
+LZMA_TEXT_START        := 0x81800000
 LOADADDR       := 0x80060000
 LOADER         := loader.bin
 LOADER_NAME    := $(basename $(notdir $(LOADER)))
-LOADER_DATA    :=
+LOADER_DATA    :=
 TARGET_DIR     :=
 FLASH_OFFS     :=
 FLASH_MAX      :=