From dad16b1c588f21f601fb5f9a517c27e4947ba91b Mon Sep 17 00:00:00 2001 From: David Hendricks Date: Fri, 22 Aug 2014 15:40:15 -0700 Subject: 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 Original-Change-Id: I4a8dadfb6bb666baf1ed4bec98b29c145dc4a1e7 Original-Reviewed-on: https://chromium-review.googlesource.com/213877 Original-Reviewed-by: Stefan Reinauer Original-Commit-Queue: Vadim Bendebury Original-Tested-by: Vadim Bendebury (cherry picked from commit d088fc71b2e2b45e826d3dedb8e536ad58b8d296) Change-Id: Iea325a8c4d07055143e993d89b827f86b8312330 Signed-off-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/8777 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- src/vendorcode/google/chromeos/Kconfig | 12 ++++++++++++ src/vendorcode/google/chromeos/Makefile.inc | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'src/vendorcode') 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 -- cgit v1.2.3