Changeset b80d132 in mainline
- Timestamp:
- 2013-01-23T20:48:23Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- df334ca
- Parents:
- bfb6576
- Location:
- boot/arch/arm32/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/asm.S
rbfb6576 rb80d132 66 66 # r2 is a kernel text end 67 67 68 #define CP15_C1_IC 12 69 #define CP15_C1_BP 11 70 #define CP15_C1_DC 2 71 # Disable I-cache and D-cache before the kernel is started. 72 mrc p15, 0, r4, c1, c0, 0 73 bic r4, r4, #(1 << CP15_C1_DC) 74 bic r4, r4, #(1 << CP15_C1_IC) 75 bic r4, r4, #(1 << CP15_C1_BP) 76 mcr p15, 0, r4, c1, c0, 0 77 68 78 69 79 #Wait for the operations to complete … … 89 99 #endif 90 100 101 #TODO:This should not be necessary 91 102 92 103 #if defined(MACHINE_gta02) 93 104 94 #define CP15_C1_IC 1295 #define CP15_C1_DC 296 105 #define CP15_C7_SEG_SHIFT 5 97 106 #define CP15_C7_SEG_SIZE 3 98 107 #define CP15_C7_IDX_SHIFT 26 99 100 # Disable I-cache and D-cache before the kernel is started.101 mrc p15, 0, r4, c1, c0, 0102 bic r4, r4, #(1 << CP15_C1_DC)103 bic r4, r4, #(1 << CP15_C1_IC)104 mcr p15, 0, r4, c1, c0, 0105 108 106 109 # Now clean D-cache to guarantee coherency between I-cache and D-cache. -
boot/arch/arm32/src/main.c
rbfb6576 rb80d132 69 69 } 70 70 71 static inline void clean_dcache_po u(void *address, size_t size)71 static inline void clean_dcache_poc(void *address, size_t size) 72 72 { 73 73 const uintptr_t addr = (uintptr_t)address; 74 /* DCCMVA U - clean by address to the point of unification*/74 /* DCCMVAC - clean by address to the point of coherence */ 75 75 for (uintptr_t a = addr; a < addr + size; a += 4) { 76 asm volatile ("mcr p15, 0, %[a], c7, c1 1, 1\n" :: [a]"r"(a) : );76 asm volatile ("mcr p15, 0, %[a], c7, c10, 1\n" :: [a]"r"(a) : ); 77 77 } 78 78 } … … 148 148 halt(); 149 149 } 150 clean_dcache_po u(dest[i - 1], components[i - 1].inflated);150 clean_dcache_poc(dest[i - 1], components[i - 1].inflated); 151 151 } 152 152
Note:
See TracChangeset
for help on using the changeset viewer.