SandyBridge/IvyBridge: Use flash map to find MRC cache

Until now, the MRC cache position and size was hard coded in Kconfig.
However, on ChromeOS devices, it should be determined by reading the
FMAP.

This patch provides a minimalistic FMAP parser (libflashmap was too
complex and OS centered) to allow reading the in-ROM flash map and
look for sections.

This will also be needed on some partner devices where coreboot will
have to find the VPD in order to set up the device's mac address
correctly.

The MRC cache implementation demonstrates how to use the FMAP parser.

Change-Id: I34964b72587443a6ca4f27407d778af8728565f8
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/1701
Reviewed-by: Marc Jones <marcj303@gmail.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Stefan Reinauer
2012-08-09 13:44:38 -07:00
committed by Stefan Reinauer
parent a60ca36c42
commit 357bb2daf0
6 changed files with 230 additions and 15 deletions

View File

@@ -57,4 +57,11 @@ config CHROMEOS_RAMOOPS_RAM_SIZE
default 0x00100000
depends on CHROMEOS_RAMOOPS
config FLASHMAP_OFFSET
hex
default 0x00670000 if NORTHBRIDGE_INTEL_SANDYBRIDGE
default 0x005f0000 if NORTHBRIDGE_INTEL_IVYBRIDGE
help
Offset of flash map in firmware image
endmenu