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

Signed-off-by: David Hendricks <dhendrix@chromium.org>
Change-Id: I4a8dadfb6bb666baf1ed4bec98b29c145dc4a1e7
Reviewed-on: https://chromium-review.googlesource.com/213877
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
This commit is contained in:
David Hendricks 2014-08-22 15:40:15 -07:00 committed by chrome-internal-fetch
commit d088fc71b2
30 changed files with 42 additions and 6 deletions

View file

@ -44,6 +44,16 @@ config VBNV_SIZE
CMOS storage size for VbNv data. This value must match cmos.layout
in the mainboard directory.
config CHROMEOS_VBNV_CMOS
def_bool n
help
VBNV is stored in CMOS
config CHROMEOS_VBNV_EC
def_bool n
help
VBNV is stored in EC
config CHROMEOS_RAMOOPS
bool "Reserve space for Chrome OS ramoops"
default y

View file

@ -19,12 +19,10 @@
romstage-y += chromeos.c
ramstage-y += chromeos.c
romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += vbnv_cmos.c
ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += vbnv_cmos.c
romstage-$(CONFIG_ARCH_ROMSTAGE_ARM) += vbnv_ec.c
ramstage-$(CONFIG_ARCH_RAMSTAGE_ARM) += vbnv_ec.c
romstage-$(CONFIG_ARCH_ROMSTAGE_ARM64) += vbnv_ec.c
ramstage-$(CONFIG_ARCH_RAMSTAGE_ARM64) += 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