coreboot-kgpe-d16/src
Julius Werner 108548a42a armv7: Add fine-grained page table support
This patch adds an mmu_config_range_kb() function, which can set memory
types at the 4KB level by chaining a fine-grained page table to an
existing superpage entry. It is only intended for special cases where
this level of precision is really necessary and therefore comes with a
few practical limitations (the area for each invocation must be confined
within a single superpage, and you are not allowed to remap the same
region with mmu_config_range() again later). Since the fine-grained page
tables need some space, boards intending to use this feature must define
a TTB_SUBTABLES() region in their memlayout.ld.

BUG=chrome-os-partner:32848
TEST=Booted both Veyron_Pinky (normal) and Nyan_Blaze (LPAE), ensured
that they still work. Checksummed the page tables with and without this
patch, confirmed that they end up equal. Hacked in some subtable test
entries, hexdumped all tables and manually confirmed that they look as
expected.

Change-Id: I8c3eb7c2eb9c82e2abc5f2c0dda91f5b2eee7023
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 2f13e60cf5509b9a63fb7b8d84846daf889dc1b7
Original-Change-Id: Iedf7ca435ae337ead85115200d6987fb0d4828d7
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/223781
Reviewed-on: http://review.coreboot.org/9341
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-08 08:48:06 +02:00
..
arch armv7: Add fine-grained page table support 2015-04-08 08:48:06 +02:00
console New mechanism to define SRAM/memory map with automatic bounds checking 2015-04-06 22:05:01 +02:00
cpu kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
device cbfs: correct types used for accessing files 2015-04-01 22:51:10 +02:00
drivers kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
ec kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
include armv7: Add fine-grained page table support 2015-04-08 08:48:06 +02:00
lib rmodule: remove cbmem_entry usage 2015-04-07 23:03:45 +02:00
mainboard pistachio: Change all SoC headers to <soc/headername.h> system 2015-04-07 19:38:03 +02:00
northbridge kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
soc rk3288: Fix some PLL divisors and improve clock code 2015-04-08 08:48:03 +02:00
southbridge kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
superio kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00
vendorcode cbfs: Enforce media->map() result checking, improve error messages 2015-04-07 23:02:18 +02:00
Kconfig kconfig: drop intermittend forwarder files 2015-04-07 17:40:28 +02:00