Changeset 3bacee1 in mainline for boot/arch/arm32/src/mm.c
- Timestamp:
- 2018-04-12T16:27:17Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3cf22f9
- Parents:
- 76d0981d
- git-author:
- Jiri Svoboda <jiri@…> (2018-04-11 19:25:33)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-04-12 16:27:17)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/arm32/src/mm.c
r76d0981d r3bacee1 43 43 { 44 44 unsigned log = 0; 45 while (val >> log++); 45 while (val >> log++) 46 ; 46 47 return log - 2; 47 48 } … … 70 71 const uint32_t cinfo = CLIDR_read(); 71 72 for (unsigned i = 0; i < 7; ++i) { 72 switch (CLIDR_CACHE(i, cinfo)) 73 { 73 switch (CLIDR_CACHE(i, cinfo)) { 74 74 case CLIDR_DCACHE_ONLY: 75 75 case CLIDR_SEP_CACHE: … … 78 78 } 79 79 } 80 asm volatile ( "dsb\n");80 asm volatile ("dsb\n"); 81 81 ICIALLU_write(0); 82 asm volatile ( "isb\n");82 asm volatile ("isb\n"); 83 83 } 84 84 #endif … … 88 88 { 89 89 asm volatile ( 90 91 92 93 90 "mrc p15, 0, r0, c1, c0, 0\n" 91 "bic r0, r0, #1\n" 92 "mcr p15, 0, r0, c1, c0, 0\n" 93 ::: "r0" 94 94 ); 95 95 } … … 135 135 * 136 136 */ 137 static void init_ptl0_section(pte_level0_section_t *pte,137 static void init_ptl0_section(pte_level0_section_t *pte, 138 138 pfn_t frame) 139 139 { … … 204 204 asm volatile ( 205 205 /* Behave as a client of domains */ 206 207 206 "ldr r0, =0x55555555\n" 207 "mcr p15, 0, r0, c3, c0, 0\n" 208 208 209 209 /* Current settings */ 210 210 "mrc p15, 0, r0, c1, c0, 0\n" 211 211 212 212 /* Enable ICache, DCache, BPredictors and MMU, … … 217 217 */ 218 218 #ifdef PROCESSOR_ARCH_armv6 219 219 "ldr r1, =0x00801805\n" 220 220 #else 221 222 #endif 223 224 221 "ldr r1, =0x00001805\n" 222 #endif 223 224 "orr r0, r0, r1\n" 225 225 226 226 /* Invalidate the TLB content before turning on the MMU. 227 227 * ARMv7-A Reference manual, B3.10.3 228 228 */ 229 229 "mcr p15, 0, r0, c8, c7, 0\n" 230 230 231 231 /* Store settings, enable the MMU */ 232 233 232 "mcr p15, 0, r0, c1, c0, 0\n" 233 ::: "r0", "r1" 234 234 ); 235 235 }
Note:
See TracChangeset
for help on using the changeset viewer.