diff options
Diffstat (limited to 'arch/arm/mm/proc-v7-3level.S')
| -rw-r--r-- | arch/arm/mm/proc-v7-3level.S | 18 | 
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mm/proc-v7-3level.S b/arch/arm/mm/proc-v7-3level.S index 01a719e18bb..22e3ad63500 100644 --- a/arch/arm/mm/proc-v7-3level.S +++ b/arch/arm/mm/proc-v7-3level.S @@ -64,6 +64,14 @@ ENTRY(cpu_v7_switch_mm)  	mov	pc, lr  ENDPROC(cpu_v7_switch_mm) +#ifdef __ARMEB__ +#define rl r3 +#define rh r2 +#else +#define rl r2 +#define rh r3 +#endif +  /*   * cpu_v7_set_pte_ext(ptep, pte)   * @@ -73,13 +81,13 @@ ENDPROC(cpu_v7_switch_mm)   */  ENTRY(cpu_v7_set_pte_ext)  #ifdef CONFIG_MMU -	tst	r2, #L_PTE_VALID +	tst	rl, #L_PTE_VALID  	beq	1f -	tst	r3, #1 << (57 - 32)		@ L_PTE_NONE -	bicne	r2, #L_PTE_VALID +	tst	rh, #1 << (57 - 32)		@ L_PTE_NONE +	bicne	rl, #L_PTE_VALID  	bne	1f -	tst	r3, #1 << (55 - 32)		@ L_PTE_DIRTY -	orreq	r2, #L_PTE_RDONLY +	tst	rh, #1 << (55 - 32)		@ L_PTE_DIRTY +	orreq	rl, #L_PTE_RDONLY  1:	strd	r2, r3, [r0]  	ALT_SMP(W(nop))  	ALT_UP (mcr	p15, 0, r0, c7, c10, 1)		@ flush_pte  | 
