1
0
Fork 0
forked from len0rd/rockbox

Copies code to internal ram at startup

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1498 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2002-08-01 08:12:48 +00:00
parent 909df0a139
commit 2d461156bd

View file

@ -95,8 +95,21 @@ start:
start_l: start_l:
mov.l r2,@r0 mov.l r2,@r0
add #4,r0 add #4,r0
cmp/ge r0,r1 cmp/ge r1,r0
bt start_l bf start_l
nop
/* copy the .iram section */
mov.l iramcopy_k,r0
mov.l iram_k,r1
mov.l iramend_k,r2
copy_l:
mov.l @r0,r3
mov.l r3,@r1
add #4,r0
add #4,r1
cmp/ge r2,r1
bf copy_l
nop nop
/* Munge the main thread stack */ /* Munge the main thread stack */
@ -106,8 +119,8 @@ start_l:
munge_loop: munge_loop:
mov.l r0,@r1 mov.l r0,@r1
add #4,r1 add #4,r1
cmp/ge r1,r2 cmp/ge r2,r1
bt munge_loop bf munge_loop
nop nop
mov #0,r0 mov #0,r0
@ -131,6 +144,12 @@ edata_k:
.long _edata .long _edata
end_k: end_k:
.long _end .long _end
iramcopy_k:
.long _iramcopy
iram_k:
.long _iramstart
iramend_k:
.long _iramend
main_k: main_k:
.long _main .long _main
vbr_k: vbr_k: