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:
parent
45e0c4b9aa
commit
d088fc71b2
30 changed files with 42 additions and 6 deletions
|
|
@ -38,6 +38,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select DDR3_SOLDERED_DOWN
|
||||
select EARLY_CBMEM_INIT
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
|
||||
config GFXUMA
|
||||
bool
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_SMI_HANDLER
|
||||
select GFXUMA
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select EARLY_CBMEM_INIT
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select BOARD_ROMSIZE_KB_4096
|
||||
select DRIVER_MAXIM_MAX77686
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select DRIVER_TI_TPS65090
|
||||
select MAINBOARD_HAS_NATIVE_VGA_INIT
|
||||
select MAINBOARD_DO_NATIVE_VGA_INIT
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_SMI_HANDLER
|
||||
select GFXUMA
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select SERIRQ_CONTINUOUS_MODE
|
||||
select MAINBOARD_HAS_NATIVE_VGA_INIT
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ if BOARD_GOOGLE_NYAN
|
|||
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select EC_SOFTWARE_SYNC
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ID_SUPPORT
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select EC_SOFTWARE_SYNC
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ID_SUPPORT
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select EC_SOFTWARE_SYNC
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_SMI_HANDLER
|
||||
select GFXUMA
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select EARLY_CBMEM_INIT
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select BOARD_ROMSIZE_KB_4096
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select MAINBOARD_HAS_NATIVE_VGA_INIT
|
||||
select MAINBOARD_DO_NATIVE_VGA_INIT
|
||||
select DRIVER_PARADE_PS8625
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select ALWAYS_LOAD_OPROM
|
||||
|
||||
config VBOOT_RAMSTAGE_INDEX
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ID_SUPPORT
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select EC_SOFTWARE_SYNC
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ID_SUPPORT
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_I2C
|
||||
select EC_GOOGLE_CHROMEEC_I2C_PROTO3
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_SMI_HANDLER
|
||||
select GFXUMA
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
|
||||
config MAINBOARD_DIR
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ if BOARD_GOOGLE_VEYRON
|
|||
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_EC
|
||||
select EC_GOOGLE_CHROMEEC
|
||||
select EC_GOOGLE_CHROMEEC_SPI
|
||||
select SOC_ROCKCHIP_RK3288
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select LAPIC_MONOTONIC_TIMER
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
||||
config MAINBOARD_DIR
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select GFXUMA
|
||||
#select CHROMEOS
|
||||
#select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select EARLY_CBMEM_INIT
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select MMCONF_SUPPORT
|
||||
select HAVE_SMI_HANDLER
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select CACHE_ROM
|
||||
select MARK_GRAPHICS_MEM_WRCOMB
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ROMSIZE_KB_8192
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select CPU_INTEL_SOCKET_RPGA989
|
||||
select EC_SMSC_MEC1308
|
||||
select EXTERNAL_MRC_BLOB
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
def_bool y
|
||||
select BOARD_ROMSIZE_KB_8192
|
||||
select CHROMEOS
|
||||
select CHROMEOS_VBNV_CMOS
|
||||
select CPU_INTEL_SOCKET_RPGA989
|
||||
select EXTERNAL_MRC_BLOB
|
||||
select GFXUMA
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue