proc-v7.S (69dbdd819599e2f3b77c172e83af512845bca5ad) proc-v7.S (247055aa21ffef1c49dd64710d5e94c2aee19b58)
1/*
2 * linux/arch/arm/mm/proc-v7.S
3 *
4 * Copyright (C) 2001 Deep Blue Solutions Ltd.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 134 unchanged lines hidden (view full) ---

143 orrne r3, r3, #PTE_EXT_TEX(1)
144
145 tst r1, #L_PTE_WRITE
146 tstne r1, #L_PTE_DIRTY
147 orreq r3, r3, #PTE_EXT_APX
148
149 tst r1, #L_PTE_USER
150 orrne r3, r3, #PTE_EXT_AP1
1/*
2 * linux/arch/arm/mm/proc-v7.S
3 *
4 * Copyright (C) 2001 Deep Blue Solutions Ltd.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 134 unchanged lines hidden (view full) ---

143 orrne r3, r3, #PTE_EXT_TEX(1)
144
145 tst r1, #L_PTE_WRITE
146 tstne r1, #L_PTE_DIRTY
147 orreq r3, r3, #PTE_EXT_APX
148
149 tst r1, #L_PTE_USER
150 orrne r3, r3, #PTE_EXT_AP1
151#ifdef CONFIG_CPU_USE_DOMAINS
152 @ allow kernel read/write access to read-only user pages
151 tstne r3, #PTE_EXT_APX
152 bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
153 tstne r3, #PTE_EXT_APX
154 bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
155#endif
153
154 tst r1, #L_PTE_EXEC
155 orreq r3, r3, #PTE_EXT_XN
156
157 tst r1, #L_PTE_YOUNG
158 tstne r1, #L_PTE_PRESENT
159 moveq r3, #0
160

--- 107 unchanged lines hidden (view full) ---

268#endif
269 dsb
270#ifdef CONFIG_MMU
271 mcr p15, 0, r10, c8, c7, 0 @ invalidate I + D TLBs
272 mcr p15, 0, r10, c2, c0, 2 @ TTB control register
273 ALT_SMP(orr r4, r4, #TTB_FLAGS_SMP)
274 ALT_UP(orr r4, r4, #TTB_FLAGS_UP)
275 mcr p15, 0, r4, c2, c0, 1 @ load TTB1
156
157 tst r1, #L_PTE_EXEC
158 orreq r3, r3, #PTE_EXT_XN
159
160 tst r1, #L_PTE_YOUNG
161 tstne r1, #L_PTE_PRESENT
162 moveq r3, #0
163

--- 107 unchanged lines hidden (view full) ---

271#endif
272 dsb
273#ifdef CONFIG_MMU
274 mcr p15, 0, r10, c8, c7, 0 @ invalidate I + D TLBs
275 mcr p15, 0, r10, c2, c0, 2 @ TTB control register
276 ALT_SMP(orr r4, r4, #TTB_FLAGS_SMP)
277 ALT_UP(orr r4, r4, #TTB_FLAGS_UP)
278 mcr p15, 0, r4, c2, c0, 1 @ load TTB1
276 mov r10, #0x1f @ domains 0, 1 = manager
277 mcr p15, 0, r10, c3, c0, 0 @ load domain access register
278 /*
279 * Memory region attributes with SCTLR.TRE=1
280 *
281 * n = TEX[0],C,B
282 * TR = PRRR[2n+1:2n] - memory type
283 * IR = NMRR[2n+1:2n] - inner cacheable property
284 * OR = NMRR[2n+17:2n+16] - outer cacheable property
285 *

--- 140 unchanged lines hidden ---
279 /*
280 * Memory region attributes with SCTLR.TRE=1
281 *
282 * n = TEX[0],C,B
283 * TR = PRRR[2n+1:2n] - memory type
284 * IR = NMRR[2n+1:2n] - inner cacheable property
285 * OR = NMRR[2n+17:2n+16] - outer cacheable property
286 *

--- 140 unchanged lines hidden ---