Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8943
-gerrit
commit 71982c002214b5effe62ce2722430297cab4057e
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Tue Mar 24 09:20:45 2015 -0500
coreboot: differentiate on early reliable writable globals
There is a big difference between the boards supported in coreboot
and the properties they provide within each stage during the bootflow.
The leads to core infrastructure relying on supporting the least
common denominator when writing APIs.
Therefore, provide PLATFORM_HAS_EARLY_WRITABLE_GLOBALS which indicates
that the platform has reliable writable global variables in the early
stages of boot. For x86 that would be romstage, and for the other
architetures which have SRAM it would encompass bootblock and romstage.
Change-Id: I2cefeaee0551ee241e138fcee0d199679002c3be
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/Kconfig | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/Kconfig b/src/Kconfig
index 7aee478..2625266 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -293,6 +293,25 @@ config SYSTEM_TYPE_LAPTOP
default n
bool
+config PLATFORM_HAS_EARLY_WRITABLE_GLOBALS
+ bool
+ default y if !ARCH_X86
+ help
+ This option signals to the rest of the infrastructure that
+ the platform supports writable globals in bootblock and
+ romstage. Fox traditional x86 systems without any SRAM this
+ would mean cache-as-ram globals are migrated correctly from
+ the CAR area once memory is trained. After the migration the
+ variables are accessible using the CAR API. This behavior
+ puts such x86 systems on par with ARM and MIPS systems.
+
+config PLATFORM_NO_EARLY_WRITABLE_GLOBALS
+ bool
+ default y if !PLATFORM_HAS_EARLY_WRITABLE_GLOBALS
+ help
+ This is just the opposite of PLATFORM_HAS_EARLY_WRITABLE_GLOBALS
+ to enable cleaner Makefiles.
+
menu "Chipset"
comment "CPU"
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9194
-gerrit
commit e88ffe35c11c44190bbbd972a469d1586e23e4b0
Author: Aaron Durbin <adurbin(a)chromium.org>
Date: Wed Apr 1 09:27:44 2015 -0500
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(a)chromium.org>
---
documentation/abi-data-consumption.txt | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/documentation/abi-data-consumption.txt b/documentation/abi-data-consumption.txt
new file mode 100644
index 0000000..81442e7
--- /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.
the following patch was just integrated into master:
commit 620fa5f30fb0c78bb51aef2dae3a5694ac2c3c87
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Fri Mar 27 22:50:09 2015 -0500
northbridge/amd/amdfam10: Collect DIMM information for ramstage use
1.) Allow MCT information structures to be copied to cbmem.
2.) Retrieve DIMM vendor, model, and serial information.
3.) Allow maximum installable memory to be set via devicetree.
Change-Id: I0aecd2fb69ebad0a784c01d40ce211f6975a3ece
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/9137
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)gmail.com>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
See http://review.coreboot.org/9137 for details.
-gerrit