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