drivers/intel/fsp2_0: load and relocate FSPS in cbmem
commit32ac01823b8345ecd6f557a439153cc2a75596a9
authorAaron Durbin <adurbin@chromium.org>
Mon, 18 Jul 2016 05:35:42 +0000 (18 00:35 -0500)
committerAaron Durbin <adurbin@chromium.org>
Tue, 19 Jul 2016 18:18:08 +0000 (19 20:18 +0200)
tree863aefacf526b521cb0438e1537cd1a7a709664a
parentd04639b3d62dbd6a5fc7f48493411b9e74f990d1
drivers/intel/fsp2_0: load and relocate FSPS in cbmem

The FSPS component loading was just loading to any memory address
listed in the header. That could be anywhere in the address space
including ramstage itself -- let alone corrupting the OS memory on
S3 resume. Remedy this by loading and relocating FSPS into cbmem.
The UEFI 2.4 header files include path are selected to provide the
types necessary for FSP relocation.

BUG=chrome-os-partner:52679

Change-Id: Iaba103190731fc229566a3b0231cf967522040db
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/15742
Tested-by: build bot (Jenkins)
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
Reviewed-by: John Zhao <john.zhao@intel.com>
src/commonlib/Makefile.inc
src/drivers/intel/fsp2_0/Kconfig
src/drivers/intel/fsp2_0/include/fsp/api.h
src/drivers/intel/fsp2_0/silicon_init.c
src/soc/intel/apollolake/chip.c