]> git.dujemihanovic.xyz Git - u-boot.git/commit
arm: Check FEAT_CCIDX when parsing ccsidr_el1 register
authorLukasz Wiecaszek <lukasz.wiecaszek@googlemail.com>
Sun, 10 Mar 2024 10:29:58 +0000 (11:29 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 19 Mar 2024 22:40:47 +0000 (18:40 -0400)
commit95167db37c4b669ae47be885cd1cc1832e754fff
tree9d16b0c873e0f1a91d62fff18f5efb60c19fd0d5
parentc6a13f3d6f074a20680765309280994288c89ad1
arm: Check FEAT_CCIDX when parsing ccsidr_el1 register

Current Cache Size ID Register (ccsidr_el1) has two "flavors"
depending on whether FEAT_CCIDX is implemented or not.
When FEAT_CCIDX is implemented Associativity parameter
is coded on bits [23:3] and NumSets parameter on bits [55:32].
When FEAT_CCIDX is not implemented then Associativity parameter
is coded on bits [12:3] and NumSets parameter on bits [27:13].
Current U-Boot code does not check whether FEAT_CCIDX is implemented
and always parses ccsidr_el1 as if FEAT_CCIDX was not implemented.
This is of course wrong on systems where FEAT_CCIDX is implemented.
This patch fixes that problems and tests whether FEAT_CCIDX
is implemented or not and accordingly parses the ccsidr_el1 register.

Signed-off-by: Lukasz Wiecaszek <lukasz.wiecaszek@gmail.com>
arch/arm/cpu/armv8/cache.S