coreboot/src/include
Julius Werner cefe89ee79 lib/fmap: Add optional pre-RAM cache
This patch adds an optional pre-RAM cache for the FMAP which most
platforms should be able to use, complementing the recently added
post-RAM FMAP cache in CBMEM. vboot systems currently read the FMAP
about half a dozen times from flash in verstage, which will all be
coalesced into a single read with this patch. It will also help
future vboot improvements since when FMAP reads become "free" vboot
doesn't need to keep track of so much information separately.

In order to make sure we have a single, well-defined point where the new
cache is first initialized, eliminate the build-time hardcoding of the
CBFS section offsets, so that all CBFS accesses explicitly read the
FMAP.

Add FMAP_CACHEs to all platforms that can afford it (other than the
RISC-V things where I have no idea how they work), trying to take the
space from things that look like they were oversized anyway (pre-RAM
consoles and CBFS caches).

Change-Id: I2820436776ef620bdc4481b5cd4b6957764248ea
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36657
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Joel Kitching <kitching@google.com>
2019-11-14 03:30:11 +00:00
..
boot src: Use 'include <boot/coreboot_tables.h>' when appropriate 2019-10-27 17:48:30 +00:00
console console,boot_state: Exclude printk() from reported times 2019-11-11 10:31:29 +00:00
cpu arch/x86: Drop some __SMM__ guards 2019-11-08 07:46:23 +00:00
device include/device: add pci mmio cfg address helpers 2019-11-11 10:25:40 +00:00
efi
pc80 cpu/x86: Move calibrate_tsc_with_pit() to drivers/pc80 2019-11-02 06:28:28 +00:00
smp
superio superio/hwm5_conf: factor out HWM access from ITE env_ctrl 2019-10-08 18:06:56 +00:00
sys
adainit.h
assert.h
b64_decode.h
base3.h
bcd.h
boardid.h
boot_device.h
bootblock_common.h
bootmem.h
bootmode.h
bootsplash.h lib/coreboot_table: Show splashscreen in lb_table_init 2019-09-15 11:10:58 +00:00
bootstate.h
cbfs.h cbfs: Make cbfs_master_header_props() externally available 2019-11-14 03:30:03 +00:00
cbmem.h lib/cbmem: Remove the cbmem_top_init() hook 2019-11-10 15:39:00 +00:00
cper.h
crc_byte.h lib: add calculate crc byte by byte 2019-11-06 13:58:53 +00:00
ctype.h
delay.h cpu/x86/lapic: Refactor timer_fsb() 2019-09-19 09:28:55 +00:00
device_tree.h
dimm_info_util.h
edid.h
elog.h ELOG: Introduce elog_gsmi variants 2019-11-09 10:49:47 +00:00
endian.h
fallback.h
fit.h
fit_payload.h
fmap.h fmap: Add get_fmap_flash_offset() 2019-09-27 21:59:44 +00:00
gic.h
gpio.h
halt.h
imd.h
inttypes.h
ip_checksum.h
kconfig.h
lib.h
list.h
main_decl.h
memlayout.h lib/fmap: Add optional pre-RAM cache 2019-11-14 03:30:11 +00:00
memory_info.h
memrange.h
mmio.h include: introduce update* for mmio operations 2019-11-11 10:26:55 +00:00
mrc_cache.h
nhlt.h
option.h
program_loading.h Program loading: Handoff cbmem_top via calling arguments 2019-10-30 08:33:07 +00:00
ramdetect.h
random.h
reg_script.h
region_file.h
reset.h
rmodule.h
romstage_handoff.h
rtc.h
rules.h security/vboot: Fix regression with VBOOT_STARTS_IN_ROMSTAGE 2019-09-17 08:17:23 +00:00
sar.h
sdram_mode.h
smbios.h SMBIOS: Add 'CXL FLexbus 1.0' memory array location 2019-11-11 22:36:55 +00:00
smmstore.h
spd.h
spd_bin.h
spd_ddr2.h
spi-generic.h
spi_bitbang.h
spi_flash.h
stage_cache.h
stddef.h
stdint.h
stdlib.h
string.h
swab.h
symbols.h lib/fmap: Add optional pre-RAM cache 2019-11-14 03:30:11 +00:00
thread.h src/: Replace some __PRE_RAM__ use 2019-09-14 11:16:17 +00:00
timer.h
timestamp.h timestamps: Remove TIMESTAMP_CACHE_IN_BSS 2019-09-13 19:48:26 +00:00
trace.h lib/trace: Replace __PRE_RAM__ use 2019-09-23 21:38:50 +00:00
types.h
uuid.h lib/uuid: Add UUID parsing function 2019-11-01 11:38:22 +00:00
vbe.h src: Use 'include <boot/coreboot_tables.h>' when appropriate 2019-10-27 17:48:30 +00:00
version.h
watchdog.h
wrdd.h