| |||
| Home > System Control Coprocessor > System control coprocessor registers > c1, Auxiliary Control Register | |||
The purpose of the Auxiliary Control Register is to control processor-specific features that are not architecturally described.
The Auxiliary Control Register is:
partially banked
accessible in privileged modes only.
Figure 3.21 shows the bit arrangement of the Auxiliary Control Register.
Table 3.49 shows how the bit values correspond with the Auxiliary Control Register functions.
Table 3.49. Auxiliary Control Register bit functions
| Bits | Field | Security State | Function | |
|---|---|---|---|---|
| NS | S | |||
[31] | L2 hardware reset disable | RAZ | R | Monitors the L2 hardware reset disable bit, L2RSTDISABLE: 0 = the L2 valid RAM contents are reset by hardware 1 = the L2 valid RAM contents are not reset by hardware. |
[30] | L1 hardware reset disable | RAZ | R | Monitors the L1 hardware reset disable bit, L1RSTDISABLE: 0 = the L1 valid RAM contents are reset by hardware 1 = the L1 valid RAM contents are not reset by hardware. |
| [29:20] | - | R | R/W | Reserved. UNP, SBZP. |
| [19] | Clock stop request disable | R | R/W | Disables CLKSTOPREQ: 0 = CLKSTOPREQ causes the processor to stop the internal clocks and to assert the CLKSTOPACK output, reset value 1 = disables the CLKSTOPREQ functionality. |
| [18] | CP14/CP15 instruction serialization | R | R/W | Some CP14 and CP15 instructions execute natively in a serial manner. This control bit imposes serialization on those CP14 and CP15 instructions that are not natively serialized: 0 = does not enforce serialization of CP14 or CP15 instructions, reset value 1 = enforces serialization of CP14 and CP15 instructions. |
| [17] | CP14/CP15 wait on idle | R | R/W | Some CP14 or CP15 instructions that execute in a serial manner require that all outstanding memory accesses complete before execution of the instruction. This control bit imposes wait on idle protocol of CP14 and CP15 serialized instructions that do not natively wait on idle: 0 = does not enforce wait on idle of CP14 and CP15 instructions, reset value 1 = enforces wait on idle for serialized CP14 or CP15 instructions. |
| [16] | CP14/CP15 pipeline flush | R | R/W | After execution of some CP14 or CP15 instructions, the processor natively performs a pipeline flush before it executes the next instructions. This control bit imposes a pipeline flush on CP14 and CP15 instructions that do not natively include one: 0 = does not impose a pipeline flush on CP14 or CP15 instructions, reset value 1 = imposes a pipeline flush on CP14 and CP15 instructions. |
[15] | Force ETM clock | R | R/W | Forces ETM clock enable active: 0 = does not prevent the processor clock generator from stopping the ETM clock, reset value 1 = prevents the processor clock generator from stopping the ETM clock. |
[14] | Force NEON clock | R | R/W | Forces NEON clock enable active: 0 = does not prevent the processor clock generator from stopping the NEON clock, reset value 1 = prevents the processor clock generator from stopping the NEON clock. |
[13] | Force main clock | R | R/W | Forces the main processor clock enable active: 0 = does not prevent the processor clock generator from stopping the main clock, reset value 1 = prevents the processor clock generator from stopping the main clock. |
[12] | Force NEON single issue | R | R/W | Forces single issue of Advanced SIMD instructions: 0 = does not force single issue of Advanced SIMD instructions, reset value 1 = forces single issue of Advanced SIMD instructions. |
[11] | Force load/store single issue | R | R/W | Forces single issue of load/store instructions: 0 = does not force single issue of load/store instructions, reset value 1 = forces single issue of load/store instructions. |
[10] | Force single issue | R | R/W | Forces single issue of all instructions: 0 = does not force single issue of all instructions, reset value 1 = forces single issue of all instructions. |
[9] | PLDNOP | R | R/W | Executes 0 = 1 = The |
[8] | WFINOP | R | R/W | Executes 0 = executes 1 = executes The |
[7] | Disable branch size mispredicts | R | R/W | Prevents BTB branch size mispredicts: 0 = enables BTB branch size mispredicts, reset value 1 = executes the CP15 Invalidate All and Invalidate by MVA instructions as specified and prevents BTB branch size mispredicts. |
[6] | IBE | R | R/W | Invalidates BTB enable: 0 = executes the CP15 Invalidate All and Invalidate by MVA instructions as a NOP instruction, reset value 1 = executes the CP15 Invalidate All and Invalidate by MVA instructions as specified. |
[5] | L1NEON | R | R/W | Enables caching NEON data within the L1 data cache: 0 = disables caching NEON data within the L1 data cache, reset value 1 = enables caching NEON data within the L1 data and L2 cache. NoteNEON L1 caching should be enabled for best performance when the L2 cache is off or not present. |
[4] | ASA | R | R/W | Enables speculative accesses on AXI: 0 = disables speculative accesses, reset value 1 = enables speculative accesses. |
[3] | L1PE | R | R/W | Enables L1 cache parity detection: 0 = L1 cache parity disabled for both instruction and data caches, reset value 1 = L1 cache parity enabled. |
[2] | - | R | R/W | Reserved. UNP, SBZ. |
[1] | L2EN | B | B | Enables L2 cache: 0 = L2 cache disabled 1 = L2 cache enabled. See Table 3.48 for details. |
[0] | L1ALIAS | R | R/W | Enables L1 data cache hardware alias checks: 0 = L1 data cache hardware alias support enabled, reset value 1 = L1 data cache hardware alias support disabled. |
Table 3.50 shows the results of attempted access for each mode.
Table 3.50. Results of access to the Auxiliary Control Register[24]
| Secure privileged | Nonsecure privileged | Secure User | Nonsecure User | ||||
|---|---|---|---|---|---|---|---|
| Read | Write | Read | Write | Read | Write | Read | Write |
Data | Data | Data | Banked Data | Undefined | Undefined | Undefined | Undefined |
To access the Auxiliary Control Register you must use a read modify write technique. To access the Auxiliary Control Register, read or write CP15 with:
MRC p15, 0, <Rd>, c1, c0, 1 ; Read Auxiliary Control Register
MCR p15, 0, <Rd>, c1, c0, 1 ; Write Auxiliary Control Register