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