proc-macros.S (6548698f929814375fa5d62ae1db96959b0418c1) proc-macros.S (247055aa21ffef1c49dd64710d5e94c2aee19b58)
1/*
2 * We need constants.h for:
3 * VMA_VM_MM
4 * VMA_VM_FLAGS
5 * VM_EXEC
6 */
7#include <asm/asm-offsets.h>
8#include <asm/thread_info.h>

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

94 * YUWD APX AP1 AP0 SVC User
95 * 0xxx 0 0 0 no acc no acc
96 * 100x 1 0 1 r/o no acc
97 * 10x0 1 0 1 r/o no acc
98 * 1011 0 0 1 r/w no acc
99 * 110x 0 1 0 r/w r/o
100 * 11x0 0 1 0 r/w r/o
101 * 1111 0 1 1 r/w r/w
1/*
2 * We need constants.h for:
3 * VMA_VM_MM
4 * VMA_VM_FLAGS
5 * VM_EXEC
6 */
7#include <asm/asm-offsets.h>
8#include <asm/thread_info.h>

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

94 * YUWD APX AP1 AP0 SVC User
95 * 0xxx 0 0 0 no acc no acc
96 * 100x 1 0 1 r/o no acc
97 * 10x0 1 0 1 r/o no acc
98 * 1011 0 0 1 r/w no acc
99 * 110x 0 1 0 r/w r/o
100 * 11x0 0 1 0 r/w r/o
101 * 1111 0 1 1 r/w r/w
102 *
103 * If !CONFIG_CPU_USE_DOMAINS, the following permissions are changed:
104 * 110x 1 1 1 r/o r/o
105 * 11x0 1 1 1 r/o r/o
102 */
103 .macro armv6_mt_table pfx
104\pfx\()_mt_table:
105 .long 0x00 @ L_PTE_MT_UNCACHED
106 .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE
107 .long PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH
108 .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK
109 .long PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED

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

133 ldr r2, [ip, r2]
134
135 tst r1, #L_PTE_WRITE
136 tstne r1, #L_PTE_DIRTY
137 orreq r3, r3, #PTE_EXT_APX
138
139 tst r1, #L_PTE_USER
140 orrne r3, r3, #PTE_EXT_AP1
106 */
107 .macro armv6_mt_table pfx
108\pfx\()_mt_table:
109 .long 0x00 @ L_PTE_MT_UNCACHED
110 .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE
111 .long PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH
112 .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK
113 .long PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED

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

137 ldr r2, [ip, r2]
138
139 tst r1, #L_PTE_WRITE
140 tstne r1, #L_PTE_DIRTY
141 orreq r3, r3, #PTE_EXT_APX
142
143 tst r1, #L_PTE_USER
144 orrne r3, r3, #PTE_EXT_AP1
145#ifdef CONFIG_CPU_USE_DOMAINS
146 @ allow kernel read/write access to read-only user pages
141 tstne r3, #PTE_EXT_APX
142 bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
147 tstne r3, #PTE_EXT_APX
148 bicne r3, r3, #PTE_EXT_APX | PTE_EXT_AP0
149#endif
143
144 tst r1, #L_PTE_EXEC
145 orreq r3, r3, #PTE_EXT_XN
146
147 orr r3, r3, r2
148
149 tst r1, #L_PTE_YOUNG
150 tstne r1, #L_PTE_PRESENT

--- 89 unchanged lines hidden ---
150
151 tst r1, #L_PTE_EXEC
152 orreq r3, r3, #PTE_EXT_XN
153
154 orr r3, r3, r2
155
156 tst r1, #L_PTE_YOUNG
157 tstne r1, #L_PTE_PRESENT

--- 89 unchanged lines hidden ---