mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 13:12:37 -05:00
Reclaim .iram areas in DRAM by overlapping their load addresses with the uninitialized data sections. I did what I could test out-- not any flash image linker scripts or other target processors. Move any .iram copies in crt0.S's to be the first operation even if not _strictly_ necessary to be emphatic (aka. 'beware').
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20061 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
07ae1e4fb9
commit
ec67912b63
11 changed files with 76 additions and 65 deletions
|
|
@ -234,15 +234,8 @@ start:
|
|||
movec.l %d0,%acr1
|
||||
|
||||
#ifndef BOOTLOADER
|
||||
/* zero out .ibss */
|
||||
lea _iedata,%a2
|
||||
lea _iend,%a4
|
||||
bra.b .iedatastart
|
||||
.iedataloop:
|
||||
clr.l (%a2)+
|
||||
.iedatastart:
|
||||
cmp.l %a2,%a4
|
||||
bhi.b .iedataloop
|
||||
/* .iram copy is done first since it is reclaimed for other
|
||||
* uninitialized sections */
|
||||
|
||||
/* copy the .iram section */
|
||||
lea _iramcopy,%a2
|
||||
|
|
@ -254,6 +247,16 @@ start:
|
|||
.iramstart:
|
||||
cmp.l %a3,%a4
|
||||
bhi.b .iramloop
|
||||
|
||||
/* zero out .ibss */
|
||||
lea _iedata,%a2
|
||||
lea _iend,%a4
|
||||
bra.b .iedatastart
|
||||
.iedataloop:
|
||||
clr.l (%a2)+
|
||||
.iedatastart:
|
||||
cmp.l %a2,%a4
|
||||
bhi.b .iedataloop
|
||||
#endif /* !BOOTLOADER */
|
||||
|
||||
#ifdef IRIVER_H300_SERIES
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue