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 --- |