From a23fe4874168c9d6fd4aa824adf715eb8ff430c2 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Mon, 15 Jul 2002 22:15:33 +0000 Subject: Added main stack munging git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1356 a1c6a512-1295-4272-9138-f99709370657 --- firmware/crt0.S | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'firmware') diff --git a/firmware/crt0.S b/firmware/crt0.S index 39344b297a..fe1fad8cac 100644 --- a/firmware/crt0.S +++ b/firmware/crt0.S @@ -99,6 +99,17 @@ start_l: bt start_l nop + /* Munge the main thread stack */ + mov.l stack_k,r2 + mov.l deadbeef_k,r0 + mov.l stackbegin_k,r1 +munge_loop: + mov.l r0,@r1 + add #4,r1 + cmp/ge r1,r2 + bt munge_loop + nop + ! call the mainline mov.l main_k,r0 jsr @r0 @@ -108,7 +119,11 @@ start_l: .align 2 stack_k: - .long _stack + .long _stackend +stackbegin_k: + .long _stackbegin +deadbeef_k: + .long 0xdeadbeef edata_k: .long _edata end_k: @@ -123,6 +138,6 @@ orig_vbr_k: .section .resetvectors vectors: .long start - .long _stack + .long _stackend .long start - .long _stack + .long _stackend -- cgit v1.2.3