3.4. Overlapping regions

The protection unit may be programmed such that two, or more, regions overlap. In this case, a fixed priority scheme applies to determine which region’s attributes should be applied to the memory access. Attributes for region 7 take highest priority, and region 0 take lowest priority.

A block diagram showing the protection unit is given in Memory regions.

Figure 3.1. ARM940T protection unit

ARM940T protection unit

Consider the following:

Data region 2 is programmed to be 4KB in size, starting from address 0x3000 with Dap[1:0]=10 (Privileged mode full access, user mode read only).

Data region 1 is programmed to be 16KB in size, starting from address 0x0 with Dap[1:0]=01 (Privileged mode access only).

If the processor attempts to perform a data store to address 0x3010 while in user mode, the address falls into both region 1 and region 2, as shown in Memory regions. As there is a clash, the attributes associated with region 2 are applied, because of the fixed priority scheme. In this case, the user is only allowed to perform reads from this region, and so a data abort occurs.

Figure 3.2. Overlapping memory regions

Overlapping memory regions
Copyright © 1998 ARM Limited. All rights reserved.DDI0092B
Non-Confidential