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.

RSize, bits [5:1]<br />

Protected Memory System <strong>Architecture</strong> (PMSA)<br />

Region Size field. Indicates the size of the current memory region:<br />

A value of 0 is not permitted, this value is reserved <strong>and</strong> UNPREDICTABLE.<br />

If N is the value in this field, the region size is 2 N+1 bytes.<br />

En, bit [0] Enable bit for the region:<br />

0 Region is disabled<br />

1 Region is enabled.<br />

Because this register resets to zero, all memory regions are disabled on reset.<br />

All memory regions must be enabled before they are used.<br />

The minimum region size supported is IMPLEMENTATION DEFINED, but if the memory system<br />

implementation includes a cache, <strong>ARM</strong> strongly recommends that the minimum region size is a multiple of<br />

the cache line length. This prevents cache attributes changing mid-way through a cache line.<br />

Behavior is UNPREDICTABLE if you:<br />

write a region size that is outside the range supported by the implementation<br />

access this register when the RGNR does not point to a valid region in the MPU Data or Unified<br />

address map.<br />

Accessing the DRSR<br />

To access the DRSR you read or write the CP15 registers with set to 0, set to c6, set to<br />

c1, <strong>and</strong> set to 2. For example:<br />

MRC p15,0,,c6,c1,2 ; Read CP15 Data Region Size <strong>and</strong> Enable Register<br />

MCR p15,0,,c6,c1,2 ; Write CP15 Data Region Size <strong>and</strong> Enable Register<br />

c6, Instruction Region Size <strong>and</strong> Enable Register (IRSR)<br />

The Instruction Region Size <strong>and</strong> Enable Register, IRSR, indicates the size of the current memory region in<br />

the instruction address map, <strong>and</strong> to enable or disable:<br />

the entire region<br />

each of the eight subregions, if the region is enabled.<br />

The current memory region is selected by the value held in the RGNR, see c6, MPU Region Number<br />

Register (RGNR) on page B4-66.<br />

The IRSR:<br />

is a 32-bit read/write register<br />

is accessible only in privileged modes<br />

has a defined reset value of 0.<br />

is implemented only when the PMSA implements separate instruction <strong>and</strong> data memory maps.<br />

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

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

Saved successfully!

Ooh no, something went wrong!