[ARM] Use #defined constants for manipulating v6 hardware PTE bits
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
86b3786078
commit
1b9749e7f1
@@ -111,12 +111,6 @@ ENTRY(cpu_v6_switch_mm)
|
||||
mcr p15, 0, r1, c13, c0, 1 @ set context ID
|
||||
mov pc, lr
|
||||
|
||||
#define nG (1 << 11)
|
||||
#define APX (1 << 9)
|
||||
#define AP1 (1 << 5)
|
||||
#define AP0 (1 << 4)
|
||||
#define XN (1 << 0)
|
||||
|
||||
/*
|
||||
* cpu_v6_set_pte(ptep, pte)
|
||||
*
|
||||
@@ -141,22 +135,22 @@ ENTRY(cpu_v6_set_pte)
|
||||
|
||||
bic r2, r1, #0x00000ff0
|
||||
bic r2, r2, #0x00000003
|
||||
orr r2, r2, #AP0 | 2
|
||||
orr r2, r2, #PTE_EXT_AP0 | 2
|
||||
|
||||
tst r1, #L_PTE_WRITE
|
||||
tstne r1, #L_PTE_DIRTY
|
||||
orreq r2, r2, #APX
|
||||
orreq r2, r2, #PTE_EXT_APX
|
||||
|
||||
tst r1, #L_PTE_USER
|
||||
orrne r2, r2, #AP1 | nG
|
||||
tstne r2, #APX
|
||||
bicne r2, r2, #APX | AP0
|
||||
orrne r2, r2, #PTE_EXT_AP1 | PTE_EXT_NG
|
||||
tstne r2, #PTE_EXT_APX
|
||||
bicne r2, r2, #PTE_EXT_APX | PTE_EXT_AP0
|
||||
|
||||
tst r1, #L_PTE_YOUNG
|
||||
biceq r2, r2, #APX | AP1 | AP0
|
||||
biceq r2, r2, #PTE_EXT_APX | PTE_EXT_AP_MASK
|
||||
|
||||
@ tst r1, #L_PTE_EXEC
|
||||
@ orreq r2, r2, #XN
|
||||
@ orreq r2, r2, #PTE_EXT_XN
|
||||
|
||||
tst r1, #L_PTE_PRESENT
|
||||
moveq r2, #0
|
||||
|
Reference in New Issue
Block a user