coreboot/src/arch/arm64
Julius Werner 487f7f24a5 arm64: mmu: Spot check security state for TTB mapping
Since commit 372d0ff1d1 (arch/arm64: mmu: Spot check TTB memory
attributes), we already check the memory attributes that the TTB region
is mapped with to avoid configuration mistakes that cause weird issues
(because the MMU walks the page tables with different memory attributes
than they were written with). Unfortunately, we only checked
cachability, but the security state attribute is just as important for
this (because it is part of the cache tag, meaning that a cache entry
created by accessing the non-secure mapping won't be used when trying to
read the same address through a secure mapping... and since AArch64 page
table walks are cache snooping and we rely on that behavior, this can
lead to the MMU not seeing the new page table entries we just wrote).

This patch adds the check for security state and cleans up that code a
little.

Change-Id: I70cda4f76f201b03d69a9ece063a3830b15ac04b
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/28017
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
2018-08-13 12:24:56 +00:00
..
armv8 arm64: mmu: Spot check security state for TTB mapping 2018-08-13 12:24:56 +00:00
include arm64: Turn architectural register accessors into inline functions 2018-08-10 04:16:46 +00:00
arch_timer.c arm64: Add ARCH Timer 2018-04-30 06:25:58 +00:00
arm_tf.c lib/prog_loaders: Move argument selection into selfload 2018-06-19 14:28:01 +00:00
boot.c arm64: Drop checks for current exception level, hardcode EL3 assumption 2018-08-10 04:16:25 +00:00
div0.c arch/arm & arm64: Remove unnecessary whitespace before "\n" 2016-08-23 15:45:46 +02:00
eabi_compat.c
fit_payload.c lib: Add FIT payload support 2018-06-19 18:10:05 +00:00
id.S
Kconfig arch/arm64: Add Kconfig to include BL31 as blob 2018-07-26 00:44:33 +00:00
Makefile.inc arch/arm64: Add Kconfig to include BL31 as blob 2018-07-26 00:44:33 +00:00
memcpy.S
memmove.S
memset.S
tables.c lib/bootmem: Add more bootmem tags 2018-05-04 10:05:36 +00:00
transition.c arm64: Drop checks for current exception level, hardcode EL3 assumption 2018-08-10 04:16:25 +00:00
transition_asm.S arm64: Drop checks for current exception level, hardcode EL3 assumption 2018-08-10 04:16:25 +00:00