diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2010-05-08 08:32:09 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2010-05-08 08:32:09 +0000 |
commit | 43d2c7ad1943160b5ee00898e6228788c6295e18 (patch) | |
tree | 625e04da0428358fd6539fef9343a53f4c908af7 /firmware/target | |
parent | a420561bf8315f60c290ea41aaa7e80f410c592d (diff) |
Clean the DCache just before going to main because areas were written by init code that need to be coherent (.ncbss and .sdmacode).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25896 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx31/crt0.S | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/firmware/target/arm/imx31/crt0.S b/firmware/target/arm/imx31/crt0.S index 979306e264..ef2d7f40b9 100644 --- a/firmware/target/arm/imx31/crt0.S +++ b/firmware/target/arm/imx31/crt0.S @@ -244,11 +244,6 @@ remap_end: ldrhi r5, [r4], #4 strhi r5, [r2], #4 bhi 1b - - /* Make buffer coherent */ - ldr r0, =_sdmacodestart - sub r1, r3, r0 - bl clean_dcache_range #endif /* BOOTLOADER */ /* Initialise bss and ncbss sections to zero */ @@ -259,7 +254,7 @@ remap_end: cmp r3, r2 strhi r4, [r2], #4 bhi 1b - + /* Set up some stack and munge it with 0xdeadbeef */ ldr sp, =stackend ldr r2, =stackbegin @@ -303,7 +298,10 @@ remap_end: bic r3, r3, #31<<8 mcr p10, 7, r3, c1, c0, 0 #endif - + + /* Make memory coherent for devices */ + bl clean_dcache + bl main #ifdef BOOTLOADER |