summaryrefslogtreecommitdiff
path: root/src/arch/x86/car.ld
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2015-09-29 17:28:15 -0700
committerJulius Werner <jwerner@chromium.org>2015-11-11 05:07:48 +0100
commit03a0a6517210b4f53082a499df2a7e743ae7452e (patch)
tree34449594c37f6433f59c3054bde8bbd0358ecc44 /src/arch/x86/car.ld
parent95b97848cc96682e9574076001bfde23488b27b5 (diff)
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>
Diffstat (limited to 'src/arch/x86/car.ld')
0 files changed, 0 insertions, 0 deletions