aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/proc-v6.S
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-08-10 11:18:35 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-08-10 11:18:35 -0400
commit6626a7076d39f0a18156cdd97d4e2cbef91ad701 (patch)
tree13909ea6ae009b9b418cf3302baebe1baaa0dbd4 /arch/arm/mm/proc-v6.S
parent1b9749e7f15bf2db19f5d201f88401c7517910b7 (diff)
[ARM] Control v6 'global' bit via Linux PTE entries
Unfortunately, we can't use the "user" bit in the page tables to control whether a page table entry is "global" or "asid" specific, since the vector page is mapped as "user" accessible but is not process specific. Therefore, give direct control of the ARMv6 "nG" (not global) bit to the mm layers. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-v6.S')
-rw-r--r--arch/arm/mm/proc-v6.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
index 75e65522c8d2..3429ddcf65d1 100644
--- a/arch/arm/mm/proc-v6.S
+++ b/arch/arm/mm/proc-v6.S
@@ -133,7 +133,7 @@ ENTRY(cpu_v6_switch_mm)
133ENTRY(cpu_v6_set_pte) 133ENTRY(cpu_v6_set_pte)
134 str r1, [r0], #-2048 @ linux version 134 str r1, [r0], #-2048 @ linux version
135 135
136 bic r2, r1, #0x00000ff0 136 bic r2, r1, #0x000007f0
137 bic r2, r2, #0x00000003 137 bic r2, r2, #0x00000003
138 orr r2, r2, #PTE_EXT_AP0 | 2 138 orr r2, r2, #PTE_EXT_AP0 | 2
139 139
@@ -142,7 +142,7 @@ ENTRY(cpu_v6_set_pte)
142 orreq r2, r2, #PTE_EXT_APX 142 orreq r2, r2, #PTE_EXT_APX
143 143
144 tst r1, #L_PTE_USER 144 tst r1, #L_PTE_USER
145 orrne r2, r2, #PTE_EXT_AP1 | PTE_EXT_NG 145 orrne r2, r2, #PTE_EXT_AP1
146 tstne r2, #PTE_EXT_APX 146 tstne r2, #PTE_EXT_APX
147 bicne r2, r2, #PTE_EXT_APX | PTE_EXT_AP0 147 bicne r2, r2, #PTE_EXT_APX | PTE_EXT_AP0
148 148