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 2317a71c8f8..c44a1ecfc28 100644 --- a/arch/arm/include/asm/pgtable-2level.h +++ b/arch/arm/include/asm/pgtable-2level.h @@ -115,6 +115,7 @@   * The PTE table pointer refers to the hardware entries; the "Linux"   * entries are stored 1024 bytes below.   */ +#define L_PTE_VALID		(_AT(pteval_t, 1) << 0)		/* Valid */  #define L_PTE_PRESENT		(_AT(pteval_t, 1) << 0)  #define L_PTE_YOUNG		(_AT(pteval_t, 1) << 1)  #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 b24903549d1..e32311a9abc 100644 --- a/arch/arm/include/asm/pgtable-3level.h +++ b/arch/arm/include/asm/pgtable-3level.h @@ -67,7 +67,8 @@   * These bits overlap with the hardware bits but the naming is preserved for   * consistency with the classic page table format.   */ -#define L_PTE_PRESENT		(_AT(pteval_t, 3) << 0)		/* Valid */ +#define L_PTE_VALID		(_AT(pteval_t, 1) << 0)		/* Valid */ +#define L_PTE_PRESENT		(_AT(pteval_t, 3) << 0)		/* Present */  #define L_PTE_FILE		(_AT(pteval_t, 1) << 2)		/* only when !PRESENT */  #define L_PTE_USER		(_AT(pteval_t, 1) << 6)		/* AP[1] */  #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 08c12312a1f..ccf34b6e990 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)  #define pte_exec(pte)		(!(pte_val(pte) & L_PTE_XN))  #define pte_special(pte)	(0) -#define pte_present_user(pte) \ -	((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \ -	 (L_PTE_PRESENT | L_PTE_USER)) +#define pte_present_user(pte)  (pte_present(pte) && (pte_val(pte) & L_PTE_USER))  #if __LINUX_ARM_ARCH__ < 6  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 e37600b91b2..e755e9f8d1b 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)  	orrne	r3, r3, #PTE_EXT_XN  	tst	r1, #L_PTE_YOUNG -	tstne	r1, #L_PTE_PRESENT +	tstne	r1, #L_PTE_VALID  	moveq	r3, #0   ARM(	str	r3, [r0, #2048]! ) diff --git a/arch/arm/mm/proc-v7-3level.S b/arch/arm/mm/proc-v7-3level.S index 8de0f1dd154..d23d067e190 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)   */  ENTRY(cpu_v7_set_pte_ext)  #ifdef CONFIG_MMU -	tst	r2, #L_PTE_PRESENT +	tst	r2, #L_PTE_VALID  	beq	1f  	tst	r3, #1 << (55 - 32)		@ L_PTE_DIRTY  	orreq	r2, #L_PTE_RDONLY  |