nb/intel/sandybridge: Fix VBOOT
The VBOOT code can be compiled but it asserts with: ASSERTION ERROR: file 'src/security/vboot/common.c', line 40 Start VBOOT in bootblock to fix the assertion. Tested on Lenovo X220: The assertion is gone, the platform boots again. Change-Id: I48365e911b4f43aecba3b1f950178b7ceed5b2e9 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39160 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
committed by
Patrick Georgi
parent
c8b0f31ca1
commit
1ee3dbc63b
@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select HAVE_ME_BIN
|
select HAVE_ME_BIN
|
||||||
select GFX_GMA_INTERNAL_IS_LVDS
|
select GFX_GMA_INTERNAL_IS_LVDS
|
||||||
select MAINBOARD_HAS_LIBGFXINIT
|
select MAINBOARD_HAS_LIBGFXINIT
|
||||||
|
select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
|
@ -21,6 +21,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
# This board also feature sandy-bridge CPU's so must have LVDS
|
# This board also feature sandy-bridge CPU's so must have LVDS
|
||||||
select GFX_GMA_INTERNAL_IS_LVDS
|
select GFX_GMA_INTERNAL_IS_LVDS
|
||||||
select MAINBOARD_HAS_LIBGFXINIT
|
select MAINBOARD_HAS_LIBGFXINIT
|
||||||
|
select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
|
@ -19,6 +19,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select GFX_GMA_INTERNAL_IS_LVDS
|
select GFX_GMA_INTERNAL_IS_LVDS
|
||||||
select HAVE_IFD_BIN
|
select HAVE_IFD_BIN
|
||||||
select HAVE_ME_BIN
|
select HAVE_ME_BIN
|
||||||
|
select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
|
@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select SUPERIO_SMSC_LPC47N207
|
select SUPERIO_SMSC_LPC47N207
|
||||||
select DRIVERS_GENERIC_IOAPIC
|
select DRIVERS_GENERIC_IOAPIC
|
||||||
select INTEL_INT15
|
select INTEL_INT15
|
||||||
|
select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
|
@ -19,6 +19,7 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
# not on board, should be made selectable.
|
# not on board, should be made selectable.
|
||||||
select SUPERIO_SMSC_LPC47N207
|
select SUPERIO_SMSC_LPC47N207
|
||||||
select INTEL_INT15
|
select INTEL_INT15
|
||||||
|
select SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_VBNV_CMOS
|
select VBOOT_VBNV_CMOS
|
||||||
|
@ -23,8 +23,32 @@ config NORTHBRIDGE_INTEL_SANDYBRIDGE
|
|||||||
|
|
||||||
if NORTHBRIDGE_INTEL_SANDYBRIDGE
|
if NORTHBRIDGE_INTEL_SANDYBRIDGE
|
||||||
|
|
||||||
|
config SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Selected by boards to force VBOOT_STARTS_IN_ROMSTAGE.
|
||||||
|
|
||||||
|
config SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
|
||||||
|
depends on VBOOT
|
||||||
|
depends on !SANDYBRIDGE_VBOOT_IN_ROMSTAGE
|
||||||
|
bool "Start verstage in bootblock"
|
||||||
|
default y
|
||||||
|
select VBOOT_STARTS_IN_BOOTBLOCK
|
||||||
|
select VBOOT_SEPARATE_VERSTAGE
|
||||||
|
help
|
||||||
|
Sandy Bridge can either start verstage in a separate stage
|
||||||
|
right after the bootblock has run or it can start it
|
||||||
|
after romstage for compatibility reasons.
|
||||||
|
Sandy Bridge however uses a mrc.bin to initialize memory which
|
||||||
|
needs to be located at a fixed offset. Therefore even with
|
||||||
|
a separate verstage starting after the bootblock that same
|
||||||
|
binary is used meaning a jump is made from RW to the RO region
|
||||||
|
and back to the RW region after the binary is done.
|
||||||
|
|
||||||
config VBOOT
|
config VBOOT
|
||||||
select VBOOT_STARTS_IN_ROMSTAGE
|
select VBOOT_MUST_REQUEST_DISPLAY
|
||||||
|
select VBOOT_STARTS_IN_ROMSTAGE if !SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
|
||||||
|
|
||||||
config USE_NATIVE_RAMINIT
|
config USE_NATIVE_RAMINIT
|
||||||
bool "Use native raminit"
|
bool "Use native raminit"
|
||||||
|
Reference in New Issue
Block a user