05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Virtual Memory System <strong>Architecture</strong> (VMSA)<br />

B3.6 Memory access control<br />

Access to a memory region is controlled by the access permission bits <strong>and</strong> the domain field in the TLB entry.<br />

These form part of the translation table entry formats described in Translation tables on page B3-7. The bits<br />

<strong>and</strong> fields are summarized in First-level descriptors on page B3-8 <strong>and</strong> Second-level descriptors on<br />

page B3-10.<br />

The TLB memory access controls are described in:<br />

Access permissions<br />

The Execute Never (XN) attribute <strong>and</strong> instruction prefetching on page B3-30<br />

Domains on page B3-31.<br />

B3.6.1 Access permissions<br />

The access permission bits control access to the corresponding memory region. If an access is made to an<br />

area of memory without the required permissions, a Permission fault is generated if the domain is set to<br />

Client. The access permissions are determined by the AP[2:0] bits in the translation table entry. The XN bit<br />

in the translation table entry provides an additional permission bit for instruction fetches.<br />

AP[2] AP[1:0]<br />

Note<br />

Before VMSAv7, the SCTLR.S <strong>and</strong> SCTLR.R bits also affect the access permissions. For more<br />

information, see Translation attributes on page AppxH-22.<br />

From VMSAv7, the full set of access permissions shown in Table B3-4 are only supported when the<br />

SCTLR.AFE bit is set to 0. When SCTLR.AFE = 1, the only supported access permissions are those<br />

described in Simplified access permissions model on page B3-29.<br />

In previous issues of the <strong>ARM</strong> <strong>Architecture</strong> <strong>Reference</strong> <strong>Manual</strong> <strong>and</strong> in some other documentation, the<br />

AP[2] bit in the translation table entries is described as the APX bit.<br />

Table B3-4 shows the encoding of the access permissions:<br />

Privileged<br />

permissions<br />

User<br />

permissions<br />

Table B3-4 VMSAv7 MMU access permissions<br />

Description<br />

0 00 No access No access All accesses generate Permission faults<br />

0 01 Read/write No access Privileged access only<br />

0 10 Read/write Read-only Writes in User mode generate Permission faults<br />

0 11 Read/write Read/write Full access<br />

1 00 - - Reserved<br />

B3-28 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!