summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-04-01 09:27:44 -0500
committerAaron Durbin <adurbin@google.com>2015-04-07 00:20:13 +0200
commitf34ea5f6609c23db33b6a6b7c31c67c6214efae4 (patch)
tree845a2726447cf234c1edfca9b6cf9780f89e1ae5
parentf78a09b60c4ce24e2455615722dd6ed8e2ba85e2 (diff)
documentation: define downstream data consumption rules
It's important to document what data is available for downstream consumption by the OS and payloads. Provide details/directions on what is available. Change-Id: Icafb6e9f59462ad19cf6a641046c6efc36f138f0 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/9194 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones <marc.jones@se-eng.com>
-rw-r--r--documentation/abi-data-consumption.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/documentation/abi-data-consumption.txt b/documentation/abi-data-consumption.txt
new file mode 100644
index 0000000000..81442e7170
--- /dev/null
+++ b/documentation/abi-data-consumption.txt
@@ -0,0 +1,22 @@
+This text describes the ABI coreboot presents to downstream users. Such
+users are payloads and/or operating systems. Therefore, this text serves
+at what can be relied on for downstream consumption. Anything not explicitly
+listed as consumable is subject to change without notice.
+
+Background and Usage
+
+coreboot passes information to downstream users using coreboot tables. These
+table definitions can be found in src/include/boot/coreboot_tables.h and
+payloads/libpayload/include/coreboot_tables.h respectively within coreboot
+and libpayload. One of the most vital and important pieces of information
+found within these tables is the memory map of the system indicating
+available and reserved memory.
+
+In 2009 cbmem was added to coreboot. The "CBMEM high table memory manager"
+serves a way for coreboot to bookkeep its own internal data. While some
+of this data may be exposed through the coreboot tables the data structures
+used to manage the data within the cbmem area is subject to change.
+
+Provided the above, if one needs a piece of data exposed to the OS
+or payload it should reside within the coreboot tables. If it isn't there
+then a code change will be required to add it to the coreboot tables.