summaryrefslogtreecommitdiff
path: root/firmware/crt0.S
diff options
context:
space:
mode:
authorJörg Hohensohn <hohensoh@rockbox.org>2004-01-28 20:43:31 +0000
committerJörg Hohensohn <hohensoh@rockbox.org>2004-01-28 20:43:31 +0000
commit7789f9804ebf8e4b2a89b7e1eefff1577f737e13 (patch)
tree03eb897a0d692ff0c56a0781a7c18a6edd81c716 /firmware/crt0.S
parentbf4460e4778d789e4c9ae9035cebe446ec8abb02 (diff)
downloadrockbox-7789f9804ebf8e4b2a89b7e1eefff1577f737e13.tar.gz
rockbox-7789f9804ebf8e4b2a89b7e1eefff1577f737e13.zip
preparation for running directly from flash ROM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4283 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/crt0.S')
-rw-r--r--firmware/crt0.S19
1 files changed, 19 insertions, 0 deletions
diff --git a/firmware/crt0.S b/firmware/crt0.S
index 99aab83867..088ea0aff4 100644
--- a/firmware/crt0.S
+++ b/firmware/crt0.S
@@ -112,6 +112,19 @@ copy_l:
112 bf copy_l 112 bf copy_l
113 nop 113 nop
114 114
115 /* copy the .data section, for rombased execution */
116 mov.l datacopy_k,r0
117 mov.l data_k,r1
118 mov.l dataend_k,r2
119copy_l2:
120 mov.l @r0,r3
121 mov.l r3,@r1
122 add #4,r0
123 add #4,r1
124 cmp/ge r2,r1
125 bf copy_l2
126 nop
127
115 /* Munge the main thread stack */ 128 /* Munge the main thread stack */
116 mov.l stack_k,r2 129 mov.l stack_k,r2
117 mov.l deadbeef_k,r0 130 mov.l deadbeef_k,r0
@@ -150,6 +163,12 @@ iram_k:
150 .long _iramstart 163 .long _iramstart
151iramend_k: 164iramend_k:
152 .long _iramend 165 .long _iramend
166datacopy_k:
167 .long _datacopy
168data_k:
169 .long _datastart
170dataend_k:
171 .long _dataend
153main_k: 172main_k:
154 .long _main 173 .long _main
155vbr_k: 174vbr_k: