Memory Management Unit
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
6-12
ID012310
Non-Confidential, Unrestricted Access
Note
The use of the S and R bits is deprecated.
Table 6-1 lists the encoding of the access permission bits.
Restricted access permissions and the access bit
The Access bit is an ARMv6 enhancement, for full details see
Access bit fault
on page 6-32.
Some OSs only use a restricted set of the access permissions:
•
APX and AP[1:0] = b111, Read-Only for both Privileged and Unprivileged code
•
APX and AP[1:0] = b011, Read-Write for both Privileged and Unprivileged code
•
APX and AP[1:0] = b101, Read-Only for Privileged code, No Access for Unprivileged
•
APX and AP[1:0] = b001, Read-Write for Privileged code, No Access for Unprivileged.
For such OSs the encoding of the Read-Only or Read-Write and the User or Kernel access
permissions are orthogonal:
•
APX selects the Read-Only or Read-Write permission
•
AP[1] selects the User or Kernel access.
In this case, the AP[0] bit provides Access bit information so that software can optimize the
memory management algorithm.
The Access bit behaves in this way except in the deprecated case that uses the S and R bits, that
is when the S and R bits have opposite values, and when APX and AP[1:0] = b000.
6.5.3
Execute never bits in the TLB entry
Each memory region can be tagged as not containing executable code. If the Execute Never, XN,
bit of the TLB entry is set to 1, then any attempt to execute an instruction in that region results
in a permission fault. If the XN bit is cleared, then code can execute from that memory region.
When the MMU is in ARMv5 mode, see the XP bit in
c1, Control Register
on page 3-44, the
Table 6-1 Access permission bit encoding
APX
AP[1:0]
Privileged permissions
User permissions
0
b00
No access, recommended use.
Read-only when S=1 and R=0 or when S=0 and R=1,
deprecated.
No access, recommended use.
Read-only when S=0 and R=1, deprecated.
0
b01
Read/write.
No access.
0
b10
Read/write.
Read-only.
0
b11
Read/write.
Read/write.
1
b00
Reserved.
Reserved.
1
b01
Read-only.
No access.
1
b10
Read-only.
Read-only.
1
b11
Read-only.
Read-only.