summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2005-11-13 23:47:26 +0000
committerThom Johansen <thomj@rockbox.org>2005-11-13 23:47:26 +0000
commite3095ee3b8bc84d4d93796869d694455b7911b2f (patch)
treea7ff616a419acb4a3b487bf57e0b39d03e4851bc /firmware
parente22f9c49c83a211ef8fda6e132c64d84284cfb15 (diff)
downloadrockbox-e3095ee3b8bc84d4d93796869d694455b7911b2f.tar.gz
rockbox-e3095ee3b8bc84d4d93796869d694455b7911b2f.zip
iPod fixes. Stack starts at stackend. Munge stack with 0xdeadbeef.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7851 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/crt0.S13
1 files changed, 10 insertions, 3 deletions
diff --git a/firmware/crt0.S b/firmware/crt0.S
index 9ef597fad6..cba7221471 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -75,9 +75,16 @@ cop_wake_start:
ldr pc, [r0]
1:
- /* setup some stack */
- ldr sp, = _stackbegin
-
+ /* setup some stack and munge it with 0xdeadbeef */
+ ldr sp, =_stackend
+ mov r3, sp
+ ldr r2, =_stackbegin
+ ldr r4, =0xdeadbeef
+.mungeloop:
+ str r4, [r2], #4
+ cmp r2, r3
+ bne .mungeloop
+
/* get the high part of our execute address */
ldr r2, =0xffffff00
and r4, pc, r2