coreboot-kgpe-d16/payloads/libpayload/arch/arm64
Julius Werner bf33b03acf libpayload: arm64: Keep instruction cache enabled at all times
This patch makes libpayload enable the instruction cache as the very
first thing, which is similar to how we treat it in coreboot. It also
prevents the icache from being disabled again during mmu_disable() as
part of the two-stage page table setup in post_sysinfo_scan_mmu_setup().
It replaces the existing mmu_disable() implementation with the assembly
version from coreboot which handles certain edge cases better (see
CB:27238 for details).

The SCTLR flag definitions in libpayload seem to have still been
copy&pasted from arm32, so replace with the actual arm64 defintions from
coreboot.

Change-Id: Ifdbec34f0875ecc69fedcbea5c20e943379a3d2d
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38908
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
2020-02-17 15:42:34 +00:00
..
Kconfig arm64: xcompile: Add support for A53 erratum 843419 2015-08-28 06:46:09 +00:00
Makefile.inc libpayload: arm64: Conform to new coreboot lib_helpers.h and assume EL2 2018-10-12 20:14:54 +00:00
cache.c libpayload: arm64: Conform to new coreboot lib_helpers.h and assume EL2 2018-10-12 20:14:54 +00:00
coreboot.c libpayload arm64: Remove dependency on coreboot tables for dma areas 2015-03-21 13:38:29 +01:00
cpu.S libpayload: arm64: Keep instruction cache enabled at all times 2020-02-17 15:42:34 +00:00
dummy_media.c cbfs: define libpayload_init_default_cbfs_media weakly 2015-07-06 09:42:12 +02:00
exception.c arm64: Bump exception stack size to 2KB 2019-12-05 17:58:05 +00:00
exception_asm.S libpayload: arm64: Make exception handling closer to arm32 2018-10-12 20:17:28 +00:00
gdb.c libpayload: arm64: Add GDB support 2018-10-12 20:17:48 +00:00
head.S libpayload: arm64: Keep instruction cache enabled at all times 2020-02-17 15:42:34 +00:00
libpayload.ldscript libpayload: arm64: Make exception handling closer to arm32 2018-10-12 20:17:28 +00:00
main.c libpayload: Align main() data types 2019-04-05 22:37:19 +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: arm64: Keep instruction cache enabled at all times 2020-02-17 15:42:34 +00:00
selfboot.c libpayload arm64: Add selfboot.c required by depthcharge 2015-01-09 07:07:53 +01:00
sysinfo.c libpayload arm64: Add functions for reading memranges 2015-03-21 13:36:04 +01:00
timer.c libpayload: Add support for arm64 in libpayload 2015-01-09 07:04:28 +01:00
util.S libpayload: Add support for arm64 in libpayload 2015-01-09 07:04:28 +01:00
virtual.c libpayload: Add support for arm64 in libpayload 2015-01-09 07:04:28 +01:00