coreboot/src/lib
Michał Żygowski c7f0697867 coreboot_tables: Add new CBMEM ID to hold the PCI RB aperture info
On AMD server systems there are multiple PCI root bridges. The root
bridge scanning in UEFI Payload is not sufficient to detect the
memory and I/O apertures properly. For example on Turin system, the
I/O aperture on the first root bridge containing the FCH may not
have any I/O resources detected on the PCI devices. This results in
the I/O decoding to be disabled on the root bridge, effectively
breaking the I/O based serial ports, e.g. on Super I/Os and BMCs.

Add new CBMEM ID to report the PCI root bridge aperture information
to the payload. The intention is to use the Universal Payload PCI Root
Bridges Info HOB that is already supported in the UEFI Payload. The HOB
will take priority over the root bridge scanning and properly report
the apertures of the PCI root bridges on AMD system.

Change-Id: If7f7dc6710f389884adfd292bc5ce77e0c37766f
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89486
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2026-01-09 00:30:03 +00:00
..
gnat lib,console,sbom: Rename Makefiles from .inc to .mk 2024-01-24 10:12:57 +00:00
asan.c Allow to build romstage sources inside the bootblock 2023-11-09 13:20:18 +00:00
b64_decode.c
bmp_logo.c {lib, drivers/intel}: Add splash screen footer 2025-06-23 02:04:26 +00:00
boot_device.c
bootblock.c tree: Use boolean for s3resume 2025-10-23 13:34:15 +00:00
bootmem.c lib/bootmem: Replace conditional return with assert in bootmem_add_range_from 2026-01-05 03:09:45 +00:00
bootmode.c lib/bootmode: Enforce display init requirement for vboot 2025-04-12 17:34:09 +00:00
bootsplash.c lib/jpeg: return string (not int) error messages 2024-09-18 21:51:40 +00:00
cb.ads
cbfs.c CBFS verification: support Top Swap redundancy 2025-12-20 17:39:43 +00:00
cbfs_master_header.c treewide: Assume FMAP_SECTION_FLASH_START = 0 2025-04-18 14:57:05 +00:00
cbmem_common.c src/lib/cbmem_common: Delete a space(' ') in the source code 2025-08-28 20:13:34 +00:00
cbmem_console.c lib/cbmem_console.c: Use C99 flexible arrays 2023-07-30 09:59:46 +00:00
cbmem_stage_cache.c src/lib: Add memory/time saving special case for ramstage caching 2023-12-18 08:13:12 +00:00
coreboot_table.c coreboot_tables: Add new CBMEM ID to hold the PCI RB aperture info 2026-01-09 00:30:03 +00:00
crc_byte.c
decompressor.c
delay.c
dimm_info_util.c
dp_aux.c
edid.c lib/edid: Support DisplayID 2.0 extension 2025-03-12 12:45:39 +00:00
edid_displayid.h lib/edid: Support DisplayID 2.0 extension 2025-03-12 12:45:39 +00:00
edid_fill_fb.c lib/edid_fill_fb: Add dual pipe flag to lb_framebuffer_flags 2025-11-18 07:37:20 +00:00
espi_debug.c
ext_stage_cache.c ext_stage_cache: Make sure variables are initialized 2024-08-30 07:35:10 +00:00
fallback_boot.c
fit.c include/device_tree.h: Fix function name fdt_node_name 2024-06-28 12:29:13 +00:00
fit_payload.c cbmem.h: Change return type of cbmem_get_region 2024-08-29 13:58:21 +00:00
fmap.c region: Introduce region_create() functions 2024-08-11 17:07:32 +00:00
fw_config.c src/lib: use RO CBFS file as fw_config source 2025-03-26 16:37:25 +00:00
gcc.c
gcov-glue.c
gcov-io.c
gcov-io.h lib/gcov-io.h: Use C99 flexible arrays 2023-08-01 13:34:27 +00:00
gcov-iov.h
gpio.c
halt.c treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
hardwaremain.c {commonlib, lib}: Add timestamp for early chip initialization 2025-04-08 07:50:18 +00:00
hexdump.c
hexstrtobin.c
hw-time-timer.adb
identity.c
imd.c
imd_cbmem.c tree: Use boolean for s3resume 2025-10-23 13:34:15 +00:00
io.c soc/amd/common/psp_verstage: Remove arch/io.h 2025-04-02 16:03:34 +00:00
jpeg.c lib/jpeg: return string (not int) error messages 2024-09-18 21:51:40 +00:00
jpeg.h lib/jpeg: return string (not int) error messages 2024-09-18 21:51:40 +00:00
Kconfig lib: Generalize BMP_LOGO help text 2025-10-17 06:55:44 +00:00
Kconfig.cbfs_verification Kconfig.cbfs_verification: Update TOCTOU_SAFETY combination with VBOOT 2023-11-07 22:30:20 +00:00
libgcc.c
libgcov.c treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
lzma.c
lzmadecode.c lib/lzmadecode: Increase decoding speed by 30% 2025-09-09 14:40:45 +00:00
lzmadecode.h lib/lzmadecode: Allow for 8 byte reads on 64bit 2024-02-21 16:19:05 +00:00
Makefile.mk lib/xxhash: Move to commonlib/bsd 2025-12-20 17:35:33 +00:00
malloc.c malloc/memalign: Return NULL if the request is too large 2024-01-29 19:12:43 +00:00
master_header_pointer.c treewide: Assume FMAP_SECTION_FLASH_START = 0 2025-04-18 14:57:05 +00:00
memchr.c
memcmp.c
memcpy.c
memmove.c
memrange.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
memset.c
metadata_hash.c
nhlt.c
primitive_memtest.c
prog_loaders.c cbmem_top: Change the return value to uintptr_t 2024-07-10 12:55:46 +00:00
prog_ops.c
program.ld drivers/option: Add forms in cbtables 2024-12-18 18:16:51 +00:00
ramdetect.c riscv/mb/qemu: fix DRAM probing 2024-03-04 23:43:46 +00:00
ramtest.c
reg_script.c tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
region_file.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
render_bmp.c lib: Correct logo bottom margin handling for all panel orientations 2025-08-23 03:12:43 +00:00
render_bmp.h {lib, drivers/intel}: Move BMP rendering logic out of SoC code 2025-07-23 17:11:10 +00:00
reset.c
rmodule.c
rmodule.ld
romstage_handoff.c tree: Use boolean for s3resume 2025-10-23 13:34:15 +00:00
rtc.c lib/rtc: Fix off-by-one error in February day count in leap year 2024-02-29 13:07:02 +00:00
selfboot.c commonlib/bsd: Add zstd support 2025-12-20 17:36:01 +00:00
smbios.c commonlib/memory_info: Introduce new fields to memory_info structure 2025-12-08 02:35:30 +00:00
smbios_defaults.c Kconfig: Rework SYSTEM_TYPE_XX to better map to SMBIOS 2025-02-19 16:45:42 +00:00
spd_bin.c spd_bin.h: Deduplicate SPD definitions 2025-03-16 05:25:07 +00:00
spd_cache.c soc/common/smbus: Support reading SPD5 hubs for DDR5 2025-08-02 01:47:44 +00:00
stack.c tree: Remove blank lines before '}' and after '{' 2024-04-11 19:19:08 +00:00
string.c commonlib/bsd: Add strlen() and strnlen() functions 2024-08-14 03:09:03 +00:00
thread.c tree: Fix cast an object of type 'nullptr_t' to 'uintptr_t' error 2024-10-29 01:41:41 +00:00
timer.c
timer_queue.c
timestamp.c lib/timestamp: Init TSC frequency early on x86 2025-09-02 19:12:10 +00:00
ubsan.c lib: Replace 'unsigned long int' by 'unsigned long' 2025-01-12 04:51:51 +00:00
uuid.c
ux_locales.c lib: Add low battery UX locale message 2025-02-15 18:58:48 +00:00
version.c
vga_gfx.c lib/vga_gfx: Fix left-up and right-up orientations 2025-10-31 21:04:39 +00:00
wrdd.c