Attention is currently required from: Jérémy Compostella.
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/77231?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed: Verified+1 by build bot (Jenkins)
Change subject: vendorcode/intel: Add uGOP support ......................................................................
vendorcode/intel: Add uGOP support
This patch introduces code to load and execute uGOP (microGOP). uGOP is a pre-memory Pre-EFI Initialization Module (PEIM) capable of bringing graphics in VGA legacy mode. This a version of the Intel Graphics PEIM driver usually included in FSP silicon and generally referred as the GOP (Graphics Output Protocol) driver. Compared to GOP, uGOP is designed to run in pre-memory environment and therefor can be use to provide on screen information in pre-memory coreboot stages.
uGOP dependency to the PEI environment is limited to: 1. InstallPpi() to install uGOP interfaces 2. LocatePpi() to find optional protocols 3. AllocatePool() to perform some dynamic memory allocation 4. CreateHob() and GetHobList() to handle global variables 5. ReportStatusCode() to report debug information
These services are implemented in a very simple fashion in pei.c.
pei.c also installs the PEI services pointer in the architecture size word immediately preceding the Interrupt Descriptor Table (IDT) to comply with Platform Initialization (PI) specification 5.4 PEI Services Table Retrieval.
This patch introduces the `MAINBOARD_USE_UGOP' choice option for to enable this feature along with the following additional settings: - CONFIG_UGOP_FILE: uGOP PEIM binary path and filename - CONFIG_UGOP_CBFS: The filename of the uGOP PEIM binary in CBFS. - CONFIG_UGOP_ALIGNMENT: uGOP binary alignment in CBFS - CONFIG_UGOP_LIMIT_TO_REGIONS: To restrict uGOP to certain regions. This options can be used to restrict the regions in which the uGOP PEIM binary is included. For instance, it can be used to exclude uGOP support in WP_RO region. - CONFIG_UGOP_REGIONS: This options specifies in which region(s) the uGOP PEIM binary should be included. Example: FW_MAIN_A,FW_MAIN_B
BUG=b:279173035 TEST=If MAINBOARD_HAS_UGOP is set to y, ugop.c and pei.c are compiled and the ugop.efi is included in CBFS.
Change-Id: I66ae5f1948474330bfa41c42cda7cc0738f7b9cd Signed-off-by: Jeremy Compostella jeremy.compostella@intel.com --- A Documentation/soc/intel/ugop/code-flow.svg A Documentation/soc/intel/ugop/ugop.md M src/arch/x86/car.ld M src/device/Kconfig M src/drivers/intel/gma/Kconfig M src/drivers/intel/gma/Makefile.inc M src/soc/intel/common/block/graphics/early_graphics.c M src/vendorcode/intel/Kconfig M src/vendorcode/intel/Makefile.inc A src/vendorcode/intel/ugop/Kconfig A src/vendorcode/intel/ugop/Makefile.inc A src/vendorcode/intel/ugop/pei.c A src/vendorcode/intel/ugop/pei.h A src/vendorcode/intel/ugop/ugop.c 14 files changed, 759 insertions(+), 11 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/31/77231/5