diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-11-15 19:23:31 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-22 06:05:35 -0500 |
commit | 9522d7e4cb5e0858122fc55d33a2c07728f0b10d (patch) | |
tree | 49438ddcd5217da82cf9ebe79dda8577bc346456 /arch/arm/mm/proc-macros.S | |
parent | e926f4495e202500a6265987277fab217e235f08 (diff) |
ARM: pgtable: invert L_PTE_EXEC to L_PTE_XN
The hardware page tables use an XN bit 'execute never'. Historically,
we've had a Linux 'execute allow' bit, in the positive sense. Get rid
of this artifact as future hardware will continue to have the XN sense.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-macros.S')
-rw-r--r-- | arch/arm/mm/proc-macros.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S index cbedf9c46b9d..4a7a9e142e85 100644 --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S | |||
@@ -81,7 +81,7 @@ | |||
81 | #if L_PTE_SHARED != PTE_EXT_SHARED | 81 | #if L_PTE_SHARED != PTE_EXT_SHARED |
82 | #error PTE shared bit mismatch | 82 | #error PTE shared bit mismatch |
83 | #endif | 83 | #endif |
84 | #if (L_PTE_EXEC+L_PTE_USER+L_PTE_WRITE+L_PTE_DIRTY+L_PTE_YOUNG+\ | 84 | #if (L_PTE_XN+L_PTE_USER+L_PTE_WRITE+L_PTE_DIRTY+L_PTE_YOUNG+\ |
85 | L_PTE_FILE+L_PTE_PRESENT) > L_PTE_SHARED | 85 | L_PTE_FILE+L_PTE_PRESENT) > L_PTE_SHARED |
86 | #error Invalid Linux PTE bit settings | 86 | #error Invalid Linux PTE bit settings |
87 | #endif | 87 | #endif |
@@ -141,8 +141,8 @@ | |||
141 | tstne r3, #PTE_EXT_APX | 141 | tstne r3, #PTE_EXT_APX |
142 | bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0 | 142 | bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0 |
143 | 143 | ||
144 | tst r1, #L_PTE_EXEC | 144 | tst r1, #L_PTE_XN |
145 | orreq r3, r3, #PTE_EXT_XN | 145 | orrne r3, r3, #PTE_EXT_XN |
146 | 146 | ||
147 | orr r3, r3, r2 | 147 | orr r3, r3, r2 |
148 | 148 | ||