diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-08-10 11:18:35 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-08-10 11:18:35 -0400 |
commit | 6626a7076d39f0a18156cdd97d4e2cbef91ad701 (patch) | |
tree | 13909ea6ae009b9b418cf3302baebe1baaa0dbd4 /arch/arm/mm/proc-v6.S | |
parent | 1b9749e7f15bf2db19f5d201f88401c7517910b7 (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.S | 4 |
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) | |||
133 | ENTRY(cpu_v6_set_pte) | 133 | ENTRY(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 | ||