vboot: allow for non-memory-mapped VBOOT regions

Depending on the platform the underlying regions vboot requires
may not be accessible through a memory-mapped interface. Allow
for non-memory-mapped regions by providing a region request
abstraction. There is then only a few touch points in the code to
provide compile-time decision making no how to obtain a region.

For the vblocks a temporary area is allocated from cbmem. They
are then read from the SPI into the temporarily buffer.

BUG=chrome-os-partner:27094
BRANCH=None
TEST=Built and booted a rambi with vboot verification.

Change-Id: I828a7c36387a8eb573c5a0dd020fe9abad03d902
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/190924
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Aaron Durbin 2014-03-20 14:28:17 -05:00 committed by chrome-internal-fetch
commit aee0280bbf
7 changed files with 302 additions and 93 deletions

View file

@ -24,6 +24,13 @@ config SPI_FLASH
Select this option if your chipset driver needs to store certain
data in the SPI flash.
config SPI_FLASH_MEMORY_MAPPED
bool
default y if ARCH_X86
default n if !ARCH_X86
help
Inform system if SPI is memory-mapped or not.
config SPI_FLASH_SMM
bool "SPI flash driver support in SMM"
default n