16#define MAX_ARM_CACHE_LEVEL 7
49 UINT64 Associativity : 21;
56 UINT64 Associativity : 21;
58 UINT64 Unallocated : 32;
109#define CLIDR_GET_CACHE_TYPE(x, level) ((x >> (3 * (level))) & 0b111)
CSSELR_CACHE_TYPE
The cache type values for the InD field of the CSSELR register.
@ CsselrCacheTypeInstruction
Select the instruction cache.
@ CsselrCacheTypeDataOrUnified
Select the data or unified cache.
CLIDR_CACHE_TYPE
The cache types reported in the CLIDR register.
@ ClidrCacheTypeInstructionOnly
There is only an instruction cache.
@ ClidrCacheTypeDataOnly
There is only a data cache.
@ ClidrCacheTypeUnified
There is a unified cache.
@ ClidrCacheTypeSeparate
There are separate data and instruction caches.
@ ClidrCacheTypeNone
No cache is present.
Defines the structure of the AARCH32 CCSIDR2 register.
UINT32 Data
The entire 32-bit value.
UINT32 NumSets
Number of sets in the cache - 1.
UINT32 Reserved
Reserved, RES0.
Defines the structure of the CCSIDR (Current Cache Size ID) register.
UINT64 Associativity
Associativity - 1.
UINT64 Unknown
Reserved, UNKNOWN.
UINT64 Data
The entire 64-bit value.
UINT64 Reserved1
Reserved, RES0.
UINT64 Reserved
Reserved, RES0.
UINT64 Reserved2
Reserved, RES0.
UINT64 LineSize
Line size (Log2(Num bytes in cache) - 4)
UINT64 NumSets
Number of sets in the cache -1.
UINT32 Icb
Inner Cache Boundary.
UINT32 Ctype6
Level 6 cache type.
UINT32 Ctype5
Level 5 cache type.
UINT32 Ctype7
Level 7 cache type.
UINT32 Ctype1
Level 1 cache type.
UINT32 Ctype4
Level 4 cache type.
UINT32 LoUU
Level of Unification Uniprocessor.
UINT32 Ctype3
Level 3 cache type.
UINT32 LoC
Level of Coherency.
UINT32 LoUIS
Level of Unification Inner Shareable.
UINT32 Ctype2
Level 2 cache type.
UINT32 Data
The entire 32-bit value.
Defines the structure of the CSSELR (Cache Size Selection) register.
UINT32 Reserved
Reserved, RES0.
UINT32 TnD
Allocation not Data bit.
UINT32 Level
Cache level (zero based)
UINT32 Data
The entire 32-bit value.
UINT32 InD
Instruction not Data bit.