diff options
| -rw-r--r-- | arch/arm/mm/proc-v7.S | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 095b69f5a833..0a8ffd3c03fd 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
| @@ -219,8 +219,36 @@ __v7_setup: | |||
| 219 | mov r10, #0x1f @ domains 0, 1 = manager | 219 | mov r10, #0x1f @ domains 0, 1 = manager |
| 220 | mcr p15, 0, r10, c3, c0, 0 @ load domain access register | 220 | mcr p15, 0, r10, c3, c0, 0 @ load domain access register |
| 221 | #endif | 221 | #endif |
| 222 | ldr r5, =0xff0aa1a8 | 222 | /* |
| 223 | ldr r6, =0x40e040e0 | 223 | * Memory region attributes with SCTLR.TRE=1 |
| 224 | * | ||
| 225 | * n = TEX[0],C,B | ||
| 226 | * TR = PRRR[2n+1:2n] - memory type | ||
| 227 | * IR = NMRR[2n+1:2n] - inner cacheable property | ||
| 228 | * OR = NMRR[2n+17:2n+16] - outer cacheable property | ||
| 229 | * | ||
| 230 | * n TR IR OR | ||
| 231 | * UNCACHED 000 00 | ||
| 232 | * BUFFERABLE 001 10 00 00 | ||
| 233 | * WRITETHROUGH 010 10 10 10 | ||
| 234 | * WRITEBACK 011 10 11 11 | ||
| 235 | * reserved 110 | ||
| 236 | * WRITEALLOC 111 10 01 01 | ||
| 237 | * DEV_SHARED 100 01 | ||
| 238 | * DEV_NONSHARED 100 01 | ||
| 239 | * DEV_WC 001 10 | ||
| 240 | * DEV_CACHED 011 10 | ||
| 241 | * | ||
| 242 | * Other attributes: | ||
| 243 | * | ||
| 244 | * DS0 = PRRR[16] = 0 - device shareable property | ||
| 245 | * DS1 = PRRR[17] = 1 - device shareable property | ||
| 246 | * NS0 = PRRR[18] = 0 - normal shareable property | ||
| 247 | * NS1 = PRRR[19] = 1 - normal shareable property | ||
| 248 | * NOS = PRRR[24+n] = 1 - not outer shareable | ||
| 249 | */ | ||
| 250 | ldr r5, =0xff0a81a8 @ PRRR | ||
| 251 | ldr r6, =0x40e040e0 @ NMRR | ||
| 224 | mcr p15, 0, r5, c10, c2, 0 @ write PRRR | 252 | mcr p15, 0, r5, c10, c2, 0 @ write PRRR |
| 225 | mcr p15, 0, r6, c10, c2, 1 @ write NMRR | 253 | mcr p15, 0, r6, c10, c2, 1 @ write NMRR |
| 226 | adr r5, v7_crval | 254 | adr r5, v7_crval |
