3.2.21. c0, Cache Level ID Register

The purpose of the Cache Level ID Register is to indicate the cache levels that are implemented. The register indicates the level of unification, LoU, and the level of coherency, LoC. For example, in the CortexA8 processor, the point where both data and instruction are unified is the Level 2 cache, therefore, the LoU is 3'b001. The point at which both data and instruction are coherent is the AMBA AXI interface, therefore, the LoC is 3'b010.

The Cache Level ID Register is:

Figure 3.16 shows the bit arrangement of the Cache Level ID Register.

Figure 3.16. Cache Level ID Register format

Table 3.37 shows how the bit values correspond with the Cache Level ID Register functions.

Table 3.37. Cache Level ID Register bit functions

BitsFieldFunction
[31:30]-Reserved, RAZ
[29:27]LoU3'b001 = level of unification
[26:24]LoC3'b010 = level of coherency
[23:21]CL 83'b000 = no cache at Cache Level (CL) 8
[20:18]CL 73'b000 = no cache at CL 7
[17:15]CL 63'b000 = no cache at CL 6
[14:12]CL 53'b000 = no cache at CL 5
[11:9]CL 43'b000 = no cache at CL 4
[8:6]CL 33'b000 = no cache at CL 3

[5:3]

CL 2

3'b000 = no cache at CL 2

3'b100 = unified cache at CL 2

[2:0]CL 13'b011 = separate instruction and data cache at CL 1

Table 3.38 shows the results of attempted access for each mode.

Table 3.38. Results of access to the Cache Level ID Register[19]

Secure privilegedNonsecure privilegedSecure UserNonsecure User
ReadWriteReadWriteReadWriteReadWrite
DataUndefinedDataUndefinedUndefinedUndefinedUndefinedUndefined

To access the Cache Level ID Register, read CP15 with:

MRC p15, 1, <Rd>, c0, c0, 1 ; Read Cache Level ID Register
Copyright © 2006-2008 ARM Limited. All rights reserved.ARM DDI 0344E