Re: [LEDE-DEV] [PATCH] brcm47xx: relocate the stack in loader

2017-10-10 Thread p . wassi
> (...) Relocate it to a different memory region which is
> still under the 8MB RAM, but in the higher area.

Ok, I can confirm that this is working fine with both, the WRT54GL and
the WL500GP V2 on Linux 4.9.52.
Thanks for debugging and fixing!

Regards,
P. Wassi

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH] brcm47xx: relocate the stack in loader

2017-10-08 Thread Hauke Mehrtens
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 
---
 target/linux/brcm47xx/image/lzma-loader/src/Makefile | 5 +++--
 target/linux/brcm47xx/image/lzma-loader/src/head.S   | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/linux/brcm47xx/image/lzma-loader/src/Makefile 
b/target/linux/brcm47xx/image/lzma-loader/src/Makefile
index 444039c558..a08fc05b9f 100644
--- a/target/linux/brcm47xx/image/lzma-loader/src/Makefile
+++ b/target/linux/brcm47xx/image/lzma-loader/src/Makefile
@@ -19,6 +19,7 @@
 
 TEXT_START := 0x80001000
 BZ_TEXT_START  := 0x8060
+BZ_STACK_START := 0x8070
 
 OBJCOPY:= $(CROSS_COMPILE)objcopy -O binary -R .reginfo -R 
.note -R .comment -R .mdebug -S
 
@@ -28,9 +29,9 @@ CFLAGS= -D__KERNEL__ -Wall 
-Wstrict-prototypes -Wno-trigraphs -Os \
  -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 
-Wa,--trap
 CFLAGS += -DLOADADDR=$(TEXT_START) -D_LZMA_IN_CB
 
-ASFLAGS= $(CFLAGS) -D__ASSEMBLY__ 
-DBZ_TEXT_START=$(BZ_TEXT_START)
+ASFLAGS= $(CFLAGS) -D__ASSEMBLY__ 
-DBZ_TEXT_START=$(BZ_TEXT_START) -DBZ_STACK_START=$(BZ_STACK_START)
 
-SEDFLAGS   := s/BZ_TEXT_START/$(BZ_TEXT_START)/;s/TEXT_START/$(TEXT_START)/
+SEDFLAGS   := 
s/BZ_TEXT_START/$(BZ_TEXT_START)/;s/BZ_STACK_START/$(BZ_STACK_START)/;s/TEXT_START/$(TEXT_START)/
 
 OBJECTS:= head.o data.o
 
diff --git a/target/linux/brcm47xx/image/lzma-loader/src/head.S 
b/target/linux/brcm47xx/image/lzma-loader/src/head.S
index 930c9ba277..50c159ce57 100644
--- a/target/linux/brcm47xx/image/lzma-loader/src/head.S
+++ b/target/linux/brcm47xx/image/lzma-loader/src/head.S
@@ -38,6 +38,7 @@
.text
LEAF(startup)
.set noreorder
+   li  sp, BZ_STACK_START
addisp, -48
sw  a0, 16(sp)
sw  a1, 20(sp)
-- 
2.11.0


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev