the following patch was just integrated into master:
commit e5be1dc336d460f4bc4781b5e8ee5eb0b7e04a2e
Author: Patrick Georgi <pgeorgi(a)google.com>
Date: Mon Jan 12 10:40:01 2015 +0100
libpayload: Add OpenBSD queue implementation
Add OpenBSD's header-only implementation of some
basic data structures, imported from
src/sys/sys/queue.h, revision 1.38
(all whitespace errors kept verbatim)
Unlike home-grown solutions they likely handle
all corner cases correctly from the start and
unlike Linux's solution it's properly documented
(see OpenBSD's LIST_INIT(3)) and also BSD-l.
BRANCH=none
BUG=none
TEST=none
Change-Id: I89ae4df0c73662c355537283e7559af03a8b99a0
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 6f89e0316e6d68158c689bed4b1bdfe168c1449a
Original-Change-Id: Ie08a567851a2f07cbd2ac80ba31d8bca9844937d
Original-Signed-off-by: Patrick Georgi <pgeorgi(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/240190
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Original-Commit-Queue: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Tested-by: Patrick Georgi <pgeorgi(a)chromium.org>
Reviewed-on: http://review.coreboot.org/8727
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/8727 for details.
-gerrit
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8777
-gerrit
commit d8ff243a144ff536dc8590ff3dac5d83eca2628c
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Fri Aug 22 15:40:15 2014 -0700
vboot: Introduce kconfig variable for VBNV backing storage
This introduces a new kconfig variable to select the VBNV backing
store explicitly instead of inferring it from CPU/SoC architecture.
x86 platforms have historically relied only on CMOS to store VBNV
variables, while ARM-based platforms have traditionally relied on
the EC. Neither of those solutions are going to scale well into
the future if/when CMOS disappears and we make ARM-based systems
without an EC.
BUG=chrome-os-partner:29546
BRANCH=none
TEST=compiled for nyan_blaze and samus
Original-Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
Original-Change-Id: I4a8dadfb6bb666baf1ed4bec98b29c145dc4a1e7
Original-Reviewed-on: https://chromium-review.googlesource.com/213877
Original-Reviewed-by: Stefan Reinauer <reinauer(a)google.com>
Original-Commit-Queue: Vadim Bendebury <vbendeb(a)chromium.org>
Original-Tested-by: Vadim Bendebury <vbendeb(a)chromium.org>
(cherry picked from commit d088fc71b2e2b45e826d3dedb8e536ad58b8d296)
Change-Id: Iea325a8c4d07055143e993d89b827f86b8312330
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/vendorcode/google/chromeos/Kconfig | 12 ++++++++++++
src/vendorcode/google/chromeos/Makefile.inc | 8 ++++----
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 62d991b..69ecaf2 100644
--- a/src/vendorcode/google/chromeos/Kconfig
+++ b/src/vendorcode/google/chromeos/Kconfig
@@ -50,6 +50,18 @@ config VBNV_SIZE
CMOS storage size for VbNv data. This value must match cmos.layout
in the mainboard directory.
+config CHROMEOS_VBNV_CMOS
+ bool "Vboot non-volatile storage in CMOS."
+ default n
+ help
+ VBNV is stored in CMOS
+
+config CHROMEOS_VBNV_EC
+ bool "Vboot non-volatile storage in EC."
+ default n
+ help
+ VBNV is stored in EC
+
config CHROMEOS_RAMOOPS
bool "Reserve space for Chrome OS ramoops"
default y
diff --git a/src/vendorcode/google/chromeos/Makefile.inc b/src/vendorcode/google/chromeos/Makefile.inc
index 328c30d..32a76b9 100644
--- a/src/vendorcode/google/chromeos/Makefile.inc
+++ b/src/vendorcode/google/chromeos/Makefile.inc
@@ -17,10 +17,10 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += vbnv_cmos.c
-ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += vbnv_cmos.c
-romstage-$(CONFIG_ARCH_ROMSTAGE_ARMV7) += vbnv_ec.c
-ramstage-$(CONFIG_ARCH_RAMSTAGE_ARMV7) += vbnv_ec.c
+romstage-$(CONFIG_CHROMEOS_VBNV_CMOS) += vbnv_cmos.c
+ramstage-$(CONFIG_CHROMEOS_VBNV_CMOS) += vbnv_cmos.c
+romstage-$(CONFIG_CHROMEOS_VBNV_EC) += vbnv_ec.c
+ramstage-$(CONFIG_CHROMEOS_VBNV_EC) += vbnv_ec.c
romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += vboot.c
ramstage-$(CONFIG_ELOG) += elog.c
ramstage-y += gnvs.c
Aaron Durbin (adurbin(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8777
-gerrit
commit 25b572ab9dcfb914f8d68375a94c2d4887c079cc
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Fri Aug 22 15:40:15 2014 -0700
vboot: Introduce kconfig variable for VBNV backing storage
This introduces a new kconfig variable to select the VBNV backing
store explicitly instead of inferring it from CPU/SoC architecture.
x86 platforms have historically relied only on CMOS to store VBNV
variables, while ARM-based platforms have traditionally relied on
the EC. Neither of those solutions are going to scale well into
the future if/when CMOS disappears and we make ARM-based systems
without an EC.
BUG=chrome-os-partner:29546
BRANCH=none
TEST=compiled for nyan_blaze and samus
Original-Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
Original-Change-Id: I4a8dadfb6bb666baf1ed4bec98b29c145dc4a1e7
Original-Reviewed-on: https://chromium-review.googlesource.com/213877
Original-Reviewed-by: Stefan Reinauer <reinauer(a)google.com>
Original-Commit-Queue: Vadim Bendebury <vbendeb(a)chromium.org>
Original-Tested-by: Vadim Bendebury <vbendeb(a)chromium.org>
(cherry picked from commit d088fc71b2e2b45e826d3dedb8e536ad58b8d296)
Change-Id: Iea325a8c4d07055143e993d89b827f86b8312330
Signed-off-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/vendorcode/google/chromeos/Kconfig | 12 ++++++++++++
src/vendorcode/google/chromeos/Makefile.inc | 8 ++++----
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 62d991b..74acbfa 100644
--- a/src/vendorcode/google/chromeos/Kconfig
+++ b/src/vendorcode/google/chromeos/Kconfig
@@ -50,6 +50,18 @@ config VBNV_SIZE
CMOS storage size for VbNv data. This value must match cmos.layout
in the mainboard directory.
+config CHROMEOS_VBNV_CMOS
+ bool "Vboot non-volatile storage in cmos."
+ default n
+ help
+ VBNV is stored in CMOS
+
+config CHROMEOS_VBNV_EC
+ bool "Vboot non-volatile storage in EC."
+ default n
+ help
+ VBNV is stored in EC
+
config CHROMEOS_RAMOOPS
bool "Reserve space for Chrome OS ramoops"
default y
diff --git a/src/vendorcode/google/chromeos/Makefile.inc b/src/vendorcode/google/chromeos/Makefile.inc
index 328c30d..32a76b9 100644
--- a/src/vendorcode/google/chromeos/Makefile.inc
+++ b/src/vendorcode/google/chromeos/Makefile.inc
@@ -17,10 +17,10 @@
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
##
-romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += vbnv_cmos.c
-ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += vbnv_cmos.c
-romstage-$(CONFIG_ARCH_ROMSTAGE_ARMV7) += vbnv_ec.c
-ramstage-$(CONFIG_ARCH_RAMSTAGE_ARMV7) += vbnv_ec.c
+romstage-$(CONFIG_CHROMEOS_VBNV_CMOS) += vbnv_cmos.c
+ramstage-$(CONFIG_CHROMEOS_VBNV_CMOS) += vbnv_cmos.c
+romstage-$(CONFIG_CHROMEOS_VBNV_EC) += vbnv_ec.c
+ramstage-$(CONFIG_CHROMEOS_VBNV_EC) += vbnv_ec.c
romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += vboot.c
ramstage-$(CONFIG_ELOG) += elog.c
ramstage-y += gnvs.c