coreboot/src/include
Julius Werner 2f13e60cf5 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: Iedf7ca435ae337ead85115200d6987fb0d4828d7
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/223781
2014-10-17 21:54:05 +00:00
..
boot vpd: retrieve mac addresses and pass them to bootloader 2014-09-24 08:55:57 +00:00
console Add predefined __ROMSTAGE__ and __RAMSTAGE__ macros 2014-10-02 07:02:23 +00:00
cpu baytrail: Switch from ACPI mode to PCI mode for legacy support 2014-09-26 20:16:14 +00:00
device PCIe: Add L1 Sub-State support. 2014-10-10 04:36:50 +00:00
pc80 rtc: Add an RTC API, and implement it for x86. 2014-05-02 23:55:47 +00:00
smp
tpm_lite vboot2: read secdata and nvdata 2014-07-23 02:29:18 +00:00
antirollback.h vboot2: factory-initialize kernel space in tpm 2014-10-01 01:47:49 +00:00
assert.h
bcd.h rtc: Add an RTC API, and implement it for x86. 2014-05-02 23:55:47 +00:00
boardid.h Use a common boardid.h instead of per board copies 2014-07-25 03:45:43 +00:00
bootstate.h coreboot: force 4-byte alignment for init structure with GCC 4.9 2014-10-14 23:59:10 +00:00
cbfs.h cbfs: Add macro CBFS_LOAD_ERROR for returning failure in case of cbfs_load_* 2014-10-07 03:37:20 +00:00
cbfs_core.h cbfs: add cbfs_read() 2014-06-28 02:52:11 +00:00
cbmem.h arm64: add spintable support 2014-09-19 02:59:14 +00:00
delay.h timer: generic udelay() 2014-09-29 08:42:38 +00:00
edid.h
ehci.h
elog.h elog: Add event type for CPU thermal trip 2014-05-12 22:12:36 +00:00
endian.h
fallback.h
gic.h drivers: add GIC support 2014-09-17 01:23:56 +00:00
gpiolib.h fix how to interpret board id read from gpios 2014-08-09 07:05:56 +00:00
inttypes.h
ip_checksum.h
kconfig.h
lib.h New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
memlayout.h New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
memory_info.h smbios: add funtion for smbios type17 2014-08-12 02:40:38 +00:00
memrange.h coreboot memrange: Changes to memrange lib 2014-07-22 01:23:24 +00:00
ramstage_cache.h
reg_script.h reg_script: Fix bug in IO macros 2014-04-23 02:50:42 +00:00
reset.h vboot2: implement select_firmware for pre-romstage verification 2014-06-30 18:45:09 +00:00
rmodule-defs.h rmodules: add support for rmodtool 2014-03-31 22:25:57 +00:00
rmodule.h rmodules: add support for rmodtool 2014-03-31 22:25:57 +00:00
romstage_handoff.h Add predefined __ROMSTAGE__ and __RAMSTAGE__ macros 2014-10-02 07:02:23 +00:00
rtc.h rtc: Add an RTC API, and implement it for x86. 2014-05-02 23:55:47 +00:00
sdram_mode.h
smbios.h smbios: add a family id in smbios type1 family 2014-09-19 02:59:43 +00:00
spd.h smbios: add funtion for smbios type17 2014-08-12 02:40:38 +00:00
spd_ddr2.h
spi-generic.h spi: Change spi_xfer to work in units of bytes instead of bits. 2014-04-02 04:25:16 +00:00
spi_flash.h spi: Remove unused parameters from spi_flash_probe and setup_spi_slave. 2014-04-01 23:21:22 +00:00
stddef.h stddef: Add KHz, MHz and GHz constants 2014-10-07 20:59:39 +00:00
stdlib.h
string.h
swab.h
symbols.h armv7: Add fine-grained page table support 2014-10-17 21:54:05 +00:00
thread.h
timer.h timer: remove rela_time type 2014-09-29 08:42:30 +00:00
timestamp.h timestamp: Add bootblock start and end to timestamp constants 2014-10-17 05:52:39 +00:00
tpm.h
trace.h
types.h
uart.h ipq8064: prepare include files before adding UART driver 2014-04-25 01:48:53 +00:00
uart8250.h
usb_ch9.h
usbdebug.h
vbe.h
version.h coreboot: Introduce stage-specific architecture for coreboot 2014-05-09 04:41:47 +00:00
watchdog.h