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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong>v6 Differences<br />

VMSAv6 translation table format<br />

The VMSAv6 translation table format is fully compatible with the virtual memory support in <strong>ARM</strong>v7-A. It<br />

includes the following features:<br />

the ability to mark a virtual address as either global or context-specific<br />

the ability to encode the Normal, Device, or Strongly-ordered memory type into the translation tables<br />

the Shareable attribute<br />

the XN execute never access permission attribute<br />

a third AP bit<br />

a TEX bitfield used with the C <strong>and</strong> B bits to define the cache attributes for each page of memory<br />

support for an application specific (ASID) or global identifier<br />

16MB Supersections, <strong>and</strong> the ability to map a Supersection to a 16MB range.<br />

Related to this new translation table format, VMSAv6 provides:<br />

support for two translation table base registers <strong>and</strong> an associated control register<br />

independent fault status <strong>and</strong> fault address registers for reporting Prefetch Abort exceptions <strong>and</strong> Data<br />

Abort exceptions<br />

a Context ID Register, CONTEXTIDR.<br />

<strong>ARM</strong>v6K added the following features to VMSAv6:<br />

An additional access permission encoding, AP[2:0] == 0b111, <strong>and</strong> an associated simplified access<br />

permissions model. See Access permissions on page B3-28, <strong>and</strong> Simplified access permissions model<br />

on page B3-29.<br />

The access flag feature. See The access flag on page B3-21.<br />

TEX remapping. See Memory region attribute descriptions when TEX remap is enabled on<br />

page B3-34.<br />

Virtual to physical translation mapping restrictions<br />

An <strong>ARM</strong>v6 implementation can restrict the mapping of pages that remap virtual address bits [13:12]. This<br />

restriction, called page coloring, supports the h<strong>and</strong>ling of aliases by an implementation that uses VIPT<br />

caches. On an implementation that imposes this restriction, the most significant bit of the cache size fields<br />

for the instruction <strong>and</strong> data caches in the CTR is Read-As-One, see c0, Cache Type Register (CTR) on<br />

page AppxH-35.<br />

To avoid alias problems, this restriction enables these bits of the virtual address to be used to index into the<br />

cache without requiring hardware support. The restriction supports virtual indexing on caches where a cache<br />

way has a maximum size of 16KB. There is no restriction on the number of ways supported. Cache ways of<br />

AppxG-26 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!