Cortex-A53 Processor AArch32 unpredictable Behaviors
ARM DDI 0500D
Copyright © 2013-2014 ARM. All rights reserved.
B-5
ID021414
Non-Confidential
B.3
Load/Store accesses crossing page boundaries
This section describes load or store accesses that cross page boundaries. It contains the
following sections:
•
Crossing a page boundary with different memory types or shareability attributes
.
•
Crossing a 4KB boundary with a Device (or Strongly-Ordered) accesses
.
B.3.1
Crossing a page boundary with different memory types or shareability attributes
Specification
In section A3.5.7 of the
ARM
®
Architecture Reference Manual ARMv8, for ARMv8-A
architecture profile
, having memory accesses from one load or store instruction cross a page
boundary with different memory types or shareability, is
UNPREDICTABLE
. In this situation, the
implementation:
•
Uses the memory type and shareability attributes associated with its own address for each
memory access from this instruction.
B.3.2
Crossing a 4KB boundary with a Device (or Strongly-Ordered) accesses
Specification
In section A3.5.7 of the
ARM
®
Architecture Reference Manual ARMv8, for ARMv8-A
architecture profile
, having memory accesses from one load or store instruction to Device, or
Strongly-ordered, memory cross a 4 KB boundary, is
UNPREDICTABLE
. In this situation, the
implementation:
•
Performs all memory accesses from this instruction as if the presence of the boundary had
no effect on the memory accesses.
Implementation (for both page boundary specifications)
All ARMv8 memory types can be divided into Device memory or Normal memory. Device
memory contains four different supported memory types:
•
Device-nGnRnE
•
Device-nGnRE
•
Device-nGRE
•
Device-GRE.
These replace the ARMv7 Strongly-ordered and Device memory types.
Normal memory contains NC, WB, WT cacheability attributes. For a split line, an access that
crosses any page boundary, the following items enumerate all possible Cortex-A53 processor
behaviors:
•
Store crossing a page boundary:
—
No fault, always split into two stores that then behave according to the attributes of
the page that each store hits.
•
Load crossing a page boundary:
—
Device->Device and Normal->Normal. No fault, load is split into two accesses.
Each access behaves according to the attributes of the page that each load hits.
—
Device->Normal and Normal->Device. Results in an alignment fault.