coreboot/payloads/libpayload/arch/arm64
Yidi Lin 6643b5e374 libpayload/arm64: Support FEAT_CCIDX
ARM SoC supports FEAT_CCIDX after ARMv8.3. The register field
description of CCSIDR_EL1 is different when FEAT_CCIDX is implemented.
If numsets and associativity from CCSIDR_EL1 are not correct, the system
would hang during mmu_disable().

Rather than assuming that FEAT_CCIDX is not implemented, this patch
adds a check to dcache_apply_all to use the right register format.

Reference:
- https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/12770

BUG=b:317015456
TEST=mmu_disable works on the FEAT_CCIDX supported SoC.

Change-Id: I892009890f6ae889e87c877ffffd76a33d1dc789
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82636
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
2024-06-05 11:09:16 +00:00
..
cache.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
coreboot.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu.S libpayload/arm64: Support FEAT_CCIDX 2024-06-05 11:09:16 +00:00
exception.c libpayload: arm64: silence libpayload main entry 2020-07-08 07:25:38 +00:00
exception_asm.S treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
gdb.c libpayload: arm64: Add GDB support 2018-10-12 20:17:48 +00:00
head.S libpayload: Fix the stack and data labels 2023-12-01 02:20:29 +00:00
Kconfig payloads: Add SPDX headers to Kconfig 2024-02-18 01:57:39 +00:00
libpayload.ldscript libpayload: Move back the ttb_buffer section 2024-01-11 21:02:30 +00:00
main.c libpayload/arch/x86: Update API handling of CBTABLE handoff 2023-05-24 11:49:51 +00:00
Makefile.mk libpayload: Inject head.S into libc, remove separate class 2024-05-24 08:10:56 +00:00
memcpy.S libpayload: Add support for arm64 in libpayload 2015-01-09 07:04:28 +01:00
memmove.S libpayload: Add support for arm64 in libpayload 2015-01-09 07:04:28 +01:00
memset.S libpayload arm64: Remove the DONT_USE_DC macro 2015-03-21 13:35:58 +01:00
mmu.c libpayload/arch/arm64/mmu: Specify ttb_buffer section name explicitly 2024-01-22 12:20:58 +00:00
selfboot.c libpayload arm64: Add selfboot.c required by depthcharge 2015-01-09 07:07:53 +01:00
sysinfo.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
timer.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
util.S treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
virtual.c payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00