coreboot-kgpe-d16/src/arch/arm
Julius Werner 03a0a65172 armv7: mmu: Make fine grained page tables work across stages
Among its other restrictions (which are noted in a comment above the
function prototype and stay in place), our makeshift fine-grained page
table support for ARM32 has the undocumented feature that it relies on
a global bookkeeping variable, causing all sorts of fun surprises when
you try to use it from multiple stages during the same boot. This patch
redesigns the bookkeeping to stay completely inline in the (persistent)
TTB which should resolve the issue. (This had not been a problem on any
of our platforms for now... I just noticed this because I was trying to
solve the same issue on ARM64.)

BRANCH=None
BUG=None
TEST=Booted veyron_jerry. Mapped a second fine-grained memory range
from romstage, confirmed that it finds the next free spot and leaves the
bootblock table in place.

Change-Id: I325866828b4ff251142e1131ce78b571edcc9cf9
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: http://review.coreboot.org/12074
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2015-11-11 05:07:48 +01:00
..
armv4 tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
armv7 armv7: mmu: Make fine grained page tables work across stages 2015-11-11 05:07:48 +01:00
include armv7: mmu: Make fine grained page tables work across stages 2015-11-11 05:07:48 +01:00
libgcc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
Kconfig Kconfig: Fix incorrect CONFIG_STACK_SIZE values for X86 and ARM64 2015-04-15 00:22:13 +02:00
Makefile.inc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
asmlib.h arm: Update mem* functions to newer versions 2014-09-22 18:47:42 +02:00
boot.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
clock.c coreboot arm: Define function for setting cntfrq register 2015-03-02 22:19:46 +01:00
cpu.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
div0.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
eabi_compat.c arm: enhance eabi compat functions 2015-07-09 00:30:41 +02:00
id.S
memcpy.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
memmove.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
memset.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
stages.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
tables.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00