On 11/7/21 10:37 AM, Rafał Miłecki wrote:
From: Rafał Miłecki <[email protected]>
This allows loader to handle kernel 5.10 that grew bigger than 5.4.
Variations tested on BCM4706:
BAD:
BZ_TEXT_START := 0x80600000
BZ_STACK_START := 0x80700000
GOOD:
BZ_TEXT_START := 0x80700000
BZ_STACK_START := 0x80700000
BAD:
BZ_TEXT_START := 0x80600000
BZ_STACK_START := 0x80800000
GOOD:
BZ_TEXT_START := 0x80700000
BZ_STACK_START := 0x80800000
I did some changes to these values 4 years ago here and explained the
boot process a little bit:
https://git.openwrt.org/2909a4b78e2bce5f6b9c35361866d5e9477a1bdc
https://git.openwrt.org/d5cf4a5aa4a3211012967748569d9a631ee19466
Cc: Hauke Mehrtens <[email protected]>
Signed-off-by: Rafał Miłecki <[email protected]>
---
target/linux/bcm47xx/image/lzma-loader/src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/linux/bcm47xx/image/lzma-loader/src/Makefile
b/target/linux/bcm47xx/image/lzma-loader/src/Makefile
index a08fc05b9f..94b78254b8 100644
--- a/target/linux/bcm47xx/image/lzma-loader/src/Makefile
+++ b/target/linux/bcm47xx/image/lzma-loader/src/Makefile
@@ -18,7 +18,7 @@
#
TEXT_START := 0x80001000
-BZ_TEXT_START := 0x80600000
+BZ_TEXT_START := 0x80700000
BZ_STACK_START := 0x80700000
We should also increase BZ_STACK_START.
The code sets the stack pointer to BZ_STACK_START and then relocates
itself to BZ_TEXT_START. If they are pointing to the same address the
relocation process would overwrite the stack. We store the fw boot
arguments on the stack and probably also use it for the LZMA code.
All devices have at least 16MB RAM and we should be able to access this
RAM from this code, we can also use this all for the decompression.
Hauke
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel