xref: /aosp_15_r20/external/coreboot/Documentation/lib/abi-data-consumption.md (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1# ABI data consumption
2
3This text describes the ABI coreboot presents to downstream users. Such
4users are payloads and/or operating systems. Therefore, this text serves
5at what can be relied on for downstream consumption. Anything not explicitly
6listed as consumable is subject to change without notice.
7
8## Background and Usage
9
10coreboot passes information to downstream users using coreboot tables. These
11table definitions can be found in
12`./src/commonlib/include/commonlib/coreboot_tables.h` and
13`./payloads/libpayload/include/coreboot_tables.h` respectively within coreboot
14and libpayload. One of the most vital and important pieces of information
15found within these tables is the memory map of the system indicating
16available and reserved memory.
17
18In 2009 cbmem was added to coreboot. The "CBMEM high table memory manager"
19serves a way for coreboot to bookkeep its own internal data. While some
20of this data may be exposed through the coreboot tables the data structures
21used to manage the data within the cbmem area is subject to change.
22
23Provided the above, if one needs a piece of data exposed to the OS
24or payload it should reside within the coreboot tables. If it isn't there
25then a code change will be required to add it to the coreboot tables.
26