System Control Coprocessor
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
3-98
ID012310
Non-Confidential, Unrestricted Access
Table 3-95 lists how the bit values correspond to the Cache Behavior Override Register.
Table 3-96 lists the actions that result from attempted access for each mode.
To use the Cache Behavior Override Register read or write CP15 with:
•
Opcode_1 to 0
•
CRn set to c9
•
CRm set to c8
•
Opcode_2 set to 0.
For example:
MRC p15, 0, <Rd>, c9, c8, 0
; Read Cache Behavior Override Register
MCR p15, 0, <Rd>, c9, c8, 0
; Write Cache Behavior Override Register
You might use the Cache Behavior Override Register during, for example, clean or clean and
invalidate all operations in Non-secure world that might not prevent fast interrupts to the Secure
world if the FW bit is clear, see
c1, Secure Configuration Register
on page 3-52. In this case, the
Secure world can read or write the Non-secure locations in the cache, so potentially causing the
Table 3-95 Cache Behavior Override Register bit functions
Bits
Field name
Access
Function
[31:6]
-
-
UNP/SBZ.
[5]
S_WT
Secure only
Defines write-through behavior for regions marked as Secure write-back:
0 = Do not force write-through, normal operation, reset value
1 = Force write-through.
[4]
S_IL
Secure only
Defines Instruction Cache linefill behavior for Secure regions:
0 = Instruction Cache linefill enabled, normal operation, reset value
1 = Instruction Cache linefill disabled.
[3]
S_DL
Secure only
Defines Data Cache linefill behavior for Secure regions:
0 = Data Cache linefill enabled, normal operation, reset value
1 = Data Cache linefill disabled.
[2]
NS_WT
Common
Defines write-through behavior for regions marked as Non-secure write-back:
0 = Do not force write-through, normal operation, reset value
1 = Force write-through.
[1]
NS_IL
Common
Defines Instruction Cache linefill behavior for Non-secure regions:
0 = Instruction Cache linefill enabled, normal operation, reset value
1 = Instruction Cache linefill disabled.
[0]
NS_DL
Common
Defines Data Cache linefill behavior for Non-secure regions:
0 = Data Cache linefill enabled, normal operation, reset value
1 = Data Cache linefill disabled.
Table 3-96 Results of access to the Cache Behavior Override Register
Bits
Secure Privileged access
Non-secure Privileged access
User access
Read
Write
Secure only [5:3]
Data
Read As Zero
Ignored
Undefined exception
Common [2:0]
Data
Data
Data
Undefined exception