diff options
-rw-r--r-- | arch/arm/include/asm/pgtable-2level.h | 1 | ||||
-rw-r--r-- | arch/arm/include/asm/pgtable-3level.h | 3 | ||||
-rw-r--r-- | arch/arm/include/asm/pgtable.h | 4 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7-2level.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7-3level.S | 2 |
5 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h index 2317a71c8f8e..c44a1ecfc28a 100644 --- a/arch/arm/include/asm/pgtable-2level.h +++ b/arch/arm/include/asm/pgtable-2level.h | |||
@@ -115,6 +115,7 @@ | |||
115 | * The PTE table pointer refers to the hardware entries; the "Linux" | 115 | * The PTE table pointer refers to the hardware entries; the "Linux" |
116 | * entries are stored 1024 bytes below. | 116 | * entries are stored 1024 bytes below. |
117 | */ | 117 | */ |
118 | #define L_PTE_VALID (_AT(pteval_t, 1) << 0) /* Valid */ | ||
118 | #define L_PTE_PRESENT (_AT(pteval_t, 1) << 0) | 119 | #define L_PTE_PRESENT (_AT(pteval_t, 1) << 0) |
119 | #define L_PTE_YOUNG (_AT(pteval_t, 1) << 1) | 120 | #define L_PTE_YOUNG (_AT(pteval_t, 1) << 1) |
120 | #define L_PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !PRESENT */ | 121 | #define L_PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !PRESENT */ |
diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h index b24903549d1c..e32311a9abca 100644 --- a/arch/arm/include/asm/pgtable-3level.h +++ b/arch/arm/include/asm/pgtable-3level.h | |||
@@ -67,7 +67,8 @@ | |||
67 | * These bits overlap with the hardware bits but the naming is preserved for | 67 | * These bits overlap with the hardware bits but the naming is preserved for |
68 | * consistency with the classic page table format. | 68 | * consistency with the classic page table format. |
69 | */ | 69 | */ |
70 | #define L_PTE_PRESENT (_AT(pteval_t, 3) << 0) /* Valid */ | 70 | #define L_PTE_VALID (_AT(pteval_t, 1) << 0) /* Valid */ |
71 | #define L_PTE_PRESENT (_AT(pteval_t, 3) << 0) /* Present */ | ||
71 | #define L_PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !PRESENT */ | 72 | #define L_PTE_FILE (_AT(pteval_t, 1) << 2) /* only when !PRESENT */ |
72 | #define L_PTE_USER (_AT(pteval_t, 1) << 6) /* AP[1] */ | 73 | #define L_PTE_USER (_AT(pteval_t, 1) << 6) /* AP[1] */ |
73 | #define L_PTE_RDONLY (_AT(pteval_t, 1) << 7) /* AP[2] */ | 74 | #define L_PTE_RDONLY (_AT(pteval_t, 1) << 7) /* AP[2] */ |
diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h index 08c12312a1f9..ccf34b6e9903 100644 --- a/arch/arm/include/asm/pgtable.h +++ b/arch/arm/include/asm/pgtable.h | |||
@@ -203,9 +203,7 @@ static inline pte_t *pmd_page_vaddr(pmd_t pmd) | |||
203 | #define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN)) | 203 | #define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN)) |
204 | #define pte_special(pte) (0) | 204 | #define pte_special(pte) (0) |
205 | 205 | ||
206 | #define pte_present_user(pte) \ | 206 | #define pte_present_user(pte) (pte_present(pte) && (pte_val(pte) & L_PTE_USER)) |
207 | ((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \ | ||
208 | (L_PTE_PRESENT | L_PTE_USER)) | ||
209 | 207 | ||
210 | #if __LINUX_ARM_ARCH__ < 6 | 208 | #if __LINUX_ARM_ARCH__ < 6 |
211 | static inline void __sync_icache_dcache(pte_t pteval) | 209 | static inline void __sync_icache_dcache(pte_t pteval) |
diff --git a/arch/arm/mm/proc-v7-2level.S b/arch/arm/mm/proc-v7-2level.S index e37600b91b25..e755e9f8d1b4 100644 --- a/arch/arm/mm/proc-v7-2level.S +++ b/arch/arm/mm/proc-v7-2level.S | |||
@@ -100,7 +100,7 @@ ENTRY(cpu_v7_set_pte_ext) | |||
100 | orrne r3, r3, #PTE_EXT_XN | 100 | orrne r3, r3, #PTE_EXT_XN |
101 | 101 | ||
102 | tst r1, #L_PTE_YOUNG | 102 | tst r1, #L_PTE_YOUNG |
103 | tstne r1, #L_PTE_PRESENT | 103 | tstne r1, #L_PTE_VALID |
104 | moveq r3, #0 | 104 | moveq r3, #0 |
105 | 105 | ||
106 | ARM( str r3, [r0, #2048]! ) | 106 | ARM( str r3, [r0, #2048]! ) |
diff --git a/arch/arm/mm/proc-v7-3level.S b/arch/arm/mm/proc-v7-3level.S index 8de0f1dd1549..d23d067e1904 100644 --- a/arch/arm/mm/proc-v7-3level.S +++ b/arch/arm/mm/proc-v7-3level.S | |||
@@ -65,7 +65,7 @@ ENDPROC(cpu_v7_switch_mm) | |||
65 | */ | 65 | */ |
66 | ENTRY(cpu_v7_set_pte_ext) | 66 | ENTRY(cpu_v7_set_pte_ext) |
67 | #ifdef CONFIG_MMU | 67 | #ifdef CONFIG_MMU |
68 | tst r2, #L_PTE_PRESENT | 68 | tst r2, #L_PTE_VALID |
69 | beq 1f | 69 | beq 1f |
70 | tst r3, #1 << (55 - 32) @ L_PTE_DIRTY | 70 | tst r3, #1 << (55 - 32) @ L_PTE_DIRTY |
71 | orreq r2, #L_PTE_RDONLY | 71 | orreq r2, #L_PTE_RDONLY |