Hello Andrey Petrov, Patrick Rudolph, Łukasz Siudut, Patrick Rudolph, Hung-Te Lin, build bot (Jenkins), Patrick Georgi, Huang Jin, David Hendricks, Philipp Deppenwiese, Nico Huber, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/34501
to look at the new patch set (#10).
Change subject: Framework to get settings from RW_VPD to configure FSP UPD ......................................................................
Framework to get settings from RW_VPD to configure FSP UPD
This patch adds following: * A framework to use VPD binary blob 2.0 data to configure FSP UPD. * A library to configure HyperThreading FSP UPD variable. * Change for MonoLake platform to use such framework and library.
The framework is available in romstage, and thus can be used to customize FSP UPD setting. The framework currently inludes a function to take care of binary type UPD variables.
Code of such framwork is in vpd driver. Support for a UPD variable (HyperThreading) is added. The function matches key/value pair from binary blob of RW_VPD which is a VPD partition. If there is a valid value, use the value to set FSP UPD HyperThreading variable.
If RW_VPD is not found, or if "HyperThreading" key does not exist, or if the value of "HyperThreading" key is neither '1' nor '0', default value is used.
BDW-DE SOC code is updated to define a weak function board_fsp_configure_upd_data().
OCP MonoLake mainboard code is updated to implement such weak function by calling the framwork.
Test Plan: * Build an OCP MonoLake coreboot image, run following command to initialize RW_VPD and insert HyperThreading key: vpd -f build/coreboot.rom -O -i RW_VPD -s 'HyperThreading=0' * Flash the image to MonoLake, boot and observe following message in boot log: Detected 16 CPU threads
If RW_VPD partition does not exist, or if HyperThreading key/value pair does not exist, the boot log has: Detected 32 CPU threads
Signed-off-by: Jonathan Zhang jonzhang@fb.com Change-Id: Ice6ffe3f7a14c7f09637c5dcfc47e551a57f42f1 --- M src/drivers/vpd/Makefile.inc A src/drivers/vpd/vpd_fsp.c A src/drivers/vpd/vpd_fsp.h M src/mainboard/ocp/monolake/romstage.c M src/soc/intel/fsp_broadwell_de/fsp/chipset_fsp_util.c M src/soc/intel/fsp_broadwell_de/fsp/chipset_fsp_util.h 6 files changed, 219 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/01/34501/10