coreboot/src/lib
Julius Werner 7778cf2d30 cbfs: Add cbfs_alloc() primitive and combine cbfs_load() and cbfs_map()
This patchs adds a new CBFS primitive that allows callers to pass in an
allocator function that will be called once the size of the file to load
is known, to decide on its final location. This can be useful for
loading a CBFS file straight into CBMEM, for example. The new primitive
is combined with cbfs_map() and cbfs_load() into a single underlying
function that can handle all operations, to reduce the amount of code
that needs to be duplicated (especially later when file verification is
added). Also add a new variation that allows restraining or querying the
CBFS type of a file as it is being loaded, and reorganize the
documentation/definition of all these accessors and variations in the
header file a little.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I5fe0645387c0e9053ad5c15744437940fc904392
Reviewed-on: https://review.coreboot.org/c/coreboot/+/49334
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2021-03-08 22:31:43 +00:00
..
gnat lib/gnat/i-c.ads: Add uintptr_t type 2020-11-16 12:13:31 +00:00
asan.c lib/asan.c: Update SPDX license 2021-02-01 08:53:22 +00:00
b64_decode.c
bmp_logo.c drivers/intel/fsp1_1,fsp2_0: Refactor logo display 2021-02-09 07:52:31 +00:00
boot_device.c
bootblock.c src/lib/bootblock.c: make bootblock_main_with_timestamp public 2020-09-22 07:00:34 +00:00
bootmem.c lib/bootmem.c: Improve bootmem_allocate_buffer algorithm 2020-07-30 17:13:28 +00:00
bootmode.c
bootsplash.c cbfs: Simplify load/map API names, remove type arguments 2020-12-02 22:13:17 +00:00
cb.ads
cbfs.c cbfs: Add cbfs_alloc() primitive and combine cbfs_load() and cbfs_map() 2021-03-08 22:31:43 +00:00
cbmem_common.c
cbmem_console.c
cbmem_stage_cache.c
compute_ip_checksum.c
coreboot_table.c coreboot_table: Use precision when printing lb_gpio name 2021-02-10 07:27:38 +00:00
crc_byte.c
decompressor.c
delay.c
device_tree.c lib/device_tree.c: Remove repeated word 2021-01-18 07:38:49 +00:00
dimm_info_util.c
edid.c lib/edid: Add missing name descriptor presence flag 2020-10-26 13:28:41 +00:00
edid_fill_fb.c lib/edid_fill_fb: Relax bits_per_pixel constraint 2021-01-24 11:18:23 +00:00
espi_debug.c
ext_stage_cache.c src/lib: Remove unused function parameters in imd.c 2020-08-04 07:13:59 +00:00
fallback_boot.c
fit.c
fit_payload.c
fmap.c lib/fmap: Add null parameters handling 2020-12-11 19:15:25 +00:00
fw_config.c fw_config: Use UNDEFINED_FW_CONFIG to mean unprovisioned 2020-12-11 16:59:35 +00:00
gcc.c
gcov-glue.c lib/gcov: Remove assert(0) 2020-08-03 10:36:00 +00:00
gcov-io.c
gcov-io.h
gcov-iov.h
gpio.c gpio: Pull down HiZ pins after reading tristate GPIO strapping 2020-08-06 23:54:41 +00:00
halt.c
hardwaremain.c ACPI: Clean up GNVS initialisation 2021-01-24 19:57:17 +00:00
hexdump.c
hexstrtobin.c
hw-time-timer.adb
imd.c lib/imd: move struct definitions to a new header file 2020-10-19 06:55:03 +00:00
imd_cbmem.c lib/imd_cbmem.c: Add a helper function to indicate that cbmem is ready 2020-08-17 06:22:58 +00:00
jpeg.c
jpeg.h
Kconfig src/lib: Add Kconfig option for SPD cache in FMAP 2020-12-14 08:23:41 +00:00
Kconfig.cbfs_verification src/lib/: Remove "this file is part of" line 2021-01-25 09:06:37 +00:00
libgcc.c
libgcov.c
list.c
lzma.c
lzmadecode.c
lzmadecode.h
Makefile.inc drivers/intel/fsp1_1,fsp2_0: Refactor logo display 2021-02-09 07:52:31 +00:00
malloc.c
memchr.c
memcmp.c
memcpy.c
memmove.c
memrange.c
memset.c
metadata_hash.c src: Remove unused <cbmem.h> 2021-02-03 08:56:35 +00:00
nhlt.c
primitive_memtest.c
prog_loaders.c stage_cache: Add resume_from_stage_cache() 2021-01-29 10:53:33 +00:00
prog_ops.c
program.ld memlayout: Store region sizes as separate symbols 2021-02-19 08:39:26 +00:00
ramdetect.c
ramtest.c src: Remove useless comments in "includes" lines 2021-02-04 10:18:49 +00:00
reg_script.c lib/reg_script: Add cast to fix compilation on x86_64 2020-12-01 16:00:57 +00:00
region_file.c region_file_update_data_arr: Modify region_file with array of buffers 2020-09-16 16:02:54 +00:00
reset.c
rmodule.c
rmodule.ld
romstage_handoff.c ACPI S3: Replace stashed acpi_slp_typ value 2021-01-23 20:19:47 +00:00
rtc.c
selfboot.c lib/selfboot.c: Fix indentation and drop one newline 2021-02-11 10:19:17 +00:00
spd_bin.c lib: Add DDR5 DRAM type 2021-02-18 22:47:59 +00:00
spd_cache.c
stack.c
string.c lib/string: Add standard strstr() function 2020-08-03 05:12:23 +00:00
thread.c
timer.c
timer_queue.c src: Remove unused 'include <stddef.h> 2020-08-18 12:15:44 +00:00
timestamp.c symbols: Change implementation details of DECLARE_OPTIONAL_REGION() 2020-08-27 22:11:17 +00:00
ubsan.c lib/ubsan.c: Remove GCC 5.x workaround 2020-10-05 16:18:24 +00:00
uuid.c
version.c
wrdd.c