summaryrefslogtreecommitdiff
path: root/src/vendorcode
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2014-08-22 15:40:15 -0700
committerAaron Durbin <adurbin@google.com>2015-03-23 20:22:08 +0100
commitdad16b1c588f21f601fb5f9a517c27e4947ba91b (patch)
treec27bfbcb1d195c02dd04c2f2f634e734f2ac468c /src/vendorcode
parent8c7c05a389aa89f88e6fc0665d4a0dc26add099f (diff)
downloadcoreboot-dad16b1c588f21f601fb5f9a517c27e4947ba91b.tar.xz
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@chromium.org> Original-Change-Id: I4a8dadfb6bb666baf1ed4bec98b29c145dc4a1e7 Original-Reviewed-on: https://chromium-review.googlesource.com/213877 Original-Reviewed-by: Stefan Reinauer <reinauer@google.com> Original-Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Original-Tested-by: Vadim Bendebury <vbendeb@chromium.org> (cherry picked from commit d088fc71b2e2b45e826d3dedb8e536ad58b8d296) Change-Id: Iea325a8c4d07055143e993d89b827f86b8312330 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/8777 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/vendorcode')
-rw-r--r--src/vendorcode/google/chromeos/Kconfig12
-rw-r--r--src/vendorcode/google/chromeos/Makefile.inc8
2 files changed, 16 insertions, 4 deletions
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 62d991b64d..69ecaf2b02 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 328c30db6d..32a76b9e47 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