Changeset f288d85 in mainline
- Timestamp:
- 2013-06-05T19:13:26Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dff90fa7
- Parents:
- 7275e520
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/main.c
r7275e520 rf288d85 63 63 { 64 64 const uintptr_t addr = (uintptr_t)address; 65 /* DCIMVAC - invalidate by address to the point of coherence */66 65 for (uintptr_t a = addr; a < addr + size; a += 4) { 66 /* DCIMVAC - invalidate by address to the point of coherence */ 67 67 asm volatile ("mcr p15, 0, %[a], c7, c6, 1\n" :: [a]"r"(a) : ); 68 68 } … … 72 72 { 73 73 const uintptr_t addr = (uintptr_t)address; 74 /* DCCMVAC - clean by address to the point of coherence */75 74 for (uintptr_t a = addr; a < addr + size; a += 4) { 75 /* DCCMVAC - clean by address to the point of coherence */ 76 76 asm volatile ("mcr p15, 0, %[a], c7, c10, 1\n" :: [a]"r"(a) : ); 77 77 } … … 82 82 void bootstrap(void) 83 83 { 84 /* Make sure 84 /* Make sure we run in memory code when caches are enabled, 85 85 * make sure we read memory data too. This part is ARMv7 specific as 86 86 * ARMv7 no longer invalidates caches on restart. … … 105 105 components[i].start, components[i].name, components[i].inflated, 106 106 components[i].size); 107 /* Make sure there is no cache garbage in read locations */ 107 108 invalidate_dcache(components[i].start, components[i].size); 108 109 } … … 148 149 halt(); 149 150 } 151 /* Make sure data are in the memory, ICache will need them */ 150 152 clean_dcache_poc(dest[i - 1], components[i - 1].inflated); 151 153 }
Note:
See TracChangeset
for help on using the changeset viewer.