summaryrefslogtreecommitdiff
path: root/payloads/external/edk2/Kconfig
AgeCommit message (Collapse)Author
2024-04-20payloads/edk2: Add Kconfig to use LAPIC timerJean Lucas
Core 2 platforms have issues with HPET. Enable support to use the LAPIC driver so those machines actually boot and don't hang. The LAPIC is actually closer to the CPU than the HPET (on the PCH), which reduces access latency, leading to higher resolution of the timer. Tested on a Lenovo X200 with a Core 2 Duo. Change-Id: I33144d6c1c120e7faa47b99e8262b0997c45c9b9 Signed-off-by: Jean Lucas <jean@4ray.co> Reviewed-on: https://review.coreboot.org/c/coreboot/+/82000 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
2024-04-17payloads/edk2: Add Kconfig to enable AMD Picasso eMMC driverMatt DeVillier
Add a Kconfig to selectively enable the AMD Picasso eMMC driver recently added to MrChromebox's edk2 fork. When selected, will enable booting from AMD Picasso devices with eMMC storage. TEST=tested with rest of patch train Change-Id: I6536a6f243f6766b913e295afebcf5b965e4e969 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81892 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-04-16payloads/edk2: Add Kconfig to enable UFS supportMatt DeVillier
Add a Kconfig to selectively enable the UFS DXE driver recently added to MrChromebox's edk2 fork. When selected, will enable booting from devices with UFS storage. TEST=tested with rest of patch train Change-Id: I0b54d21dc87abf6938c03948830f92ce5097ef7d Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81870 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-03-17payloads/edk2: Set the EDK2 repository to custom for UPLSean Rhodes
UPL requires the Shim Layer, and those patches exist in the `starlabsltd` fork. Set the repository to custom, to allow this fork and branch to be selected correctly. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ieca72498bde51a184d689670449b66ccc78d658a Reviewed-on: https://review.coreboot.org/c/coreboot/+/81277 Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2024-02-18payloads: Add SPDX headers to KconfigMartin Roth
Change-Id: Iea569fd457b3cd1f4746fbc6a96319eb42733a6b Signed-off-by: Martin Roth <gaumless@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80586 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
2023-11-08payloads/edk2: Remove the warning about edk2/master not workingSean Rhodes
Since #c4fdec0a83d69bd0399b1b4351fa9c3af3c6fd65, edk2/master will work with coreboot without modification. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I8350f5114445d2608861ef6e807f958e598dfe07 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78636 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2023-09-29payloads/edk2: Update default branch for MrChromebox repo to 2023-09Matt DeVillier
Update the default branch used for MrChromebox's edk2 fork from 2023-06 to 2023-09. This updated branch has been rebased on the latest upstream stable tag (edk2-stable202308), and fixes some USB detection issues, as well the coreboot Kconfig for prefering internal or external boot devices. TEST=build/boot google boards link, panther, lulu,reef, ampton, akemi, banshee, zork, frostflow with edk2 payload selected. Change-Id: I7c5f9ae1ca4edd8211f55f4ecf2b3b495f473a43 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78136 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
2023-09-29payloads/edk2: Move TPM disable to separate KconfigMatt DeVillier
Disabling TPM support in edk2 can actually cause problems booting from USB on some Intel-based boards with a CR50 TPM when using the edk2 GOP driver option, so rather than disable the TPM for all CR50 boards, restrict the default to only AMD boards, where the boot hang with TPM enabled was originally observed. TEST=build/boot Win11, Linux from usb on google/fizz when built with edk2 payload and edk2 GOP driver option selected. Change-Id: I01509fea2dd42b741c00abcf9fb8b936e895b932 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78031 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
2023-09-26payloads/edk2: Guard MrChromebox's build optionsSean Rhodes
Several of the build commands passed by the Makefile only exist in MrChromebox's fork of edk2. Guard these, and the corresponding Kconfig options, against the selection of the MrChromebox repository. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I41d8d54e5b91990dd9fb88967fcd549a86cf6fe9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78036 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-08-18payloads/edk2: Add support for passing VBT/GOP driver to edk2Matt DeVillier
Add Kconfig for passing a VBT file and GOP driver to edk2, and pass a build param to use them along with the platform GOP driver. This allows edk2 to initialize the display and change display modes, instead of being limited to the single mode set by whatever display init method coreboot might use (libgfxinit, FSP/GOP, VBIOS, etc). TEST=build/boot multiple google boards spanning several platforms using the edk2 GOP driver for display init. Change-Id: I63a49df2411fe44b06eaee6d0fb9aab42ac8aedb Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/77269 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sean Rhodes <sean@starlabs.systems>
2023-07-31payloads/edk2: Update default branch for MrChromebox repo to 2023-06Matt DeVillier
Update the default branch used for MrChromebox's edk2 fork from 2023-04 to 2023-06. This updated branch has been rebased on the latest upstream stable tag (edk2-stable202305), and fixes issues booting on AMD Zen platforms (Picasso and newer). TEST=build/boot google boards link, panther, lulu,reef, ampton, akemi, banshee, zork, frostflow with edk2 payload selected. Change-Id: I4867d453514f2b00f66ffdad50e091e5b80afdcb Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76806 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2023-06-10payloads/edk2: Add an option to use EDK2 Universal PayloadSean Rhodes
This add's an option to use EDK2's Universal Payload instead of the standard UefiPayloadPkg. Universal Payload requires a ShimLayer, to build the required HOBs and pass them to Universal Payload. The ShimLayer is built to encompass UniveralPayload, so only one ELF binary is added to coreboot. Universal Payload is based on Intel's USF specification: https://universalscalablefirmware.github.io/documentation/ This has been added with the repository pointing to https://github.com/starlabsltd. The required ShimLayer patches will be merged into edk2 master once corresponding coreboot patches are merged. This is because the EDK2 engineers believe it is an impossible task to patch coreboot to build and use Universal Payload. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I17cc86d5eac0d5d91551ba5bea73fbc07ebdf0d3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/65934 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-05-13payloads/external/edk2: Verbose builds with coreboot build-systemBenjamin Doron
Rather than requiring another Kconfig symbol to be set, reuse the same `make V=1` command argument. This simplifies rebuilds with a single point of reference. Also, this means that coreboot doesn't have to be rebuilt due to Kconfig changes. Change-Id: I9eba86b234768641a215095b8657e9d07832b1b5 Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/75185 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Sean Rhodes <sean@starlabs.systems> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2023-05-02payloads/edk2: Remove ABOVE_4G_MEMORY optionSean Rhodes
Remove the ABOVE_4G_MEMORY option as the option was removed in edk2 in commit dc5f2905ebfdf68ae28ce1081d435af0f8641dd9 (UefiPayloadPkg: Always build MemoryTypeInformation HOB for DXE GCD - https://github.com/tianocore/edk2/pull/4231). Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I8d5ee79ef3f7ecfcd1463c612aad2e3d629df22a Reviewed-on: https://review.coreboot.org/c/coreboot/+/74336 Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2023-05-02payloads/edk2: Add Kconfig to enable UEFI Secure Boot supportMatt DeVillier
Now that MrChromebox's default edk2 branch supports Secure Boot, add a Kconfig to enable it, and do so by default when MrChromebox's branch is used and SMMSTORE_V2 is enabled (which is a prerequisite). TEST=build/boot google boards link, panther, lulu,reef, ampton, akemi, and banshee, verify Secure Boot options available in payload, Secure Boot status reported properly by Linux/Windows. Change-Id: I4be58c3315cabe08729d717c59203fdc6a3e2958 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74869 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-05-02payloads/edk2: Update default branch for MrChromebox repo to 2023-04Matt DeVillier
Update the default branch used for MrChromebox's edk2 fork from 2022-07 to 2023-04. This updated branch has been rebased on the latest upstream stable tag (edk2-stable202302), and adds support for UEFI Secure Boot and TPM 1.2/2.0 management (though it does not currently support Google CR50/Ti50 TPMs). TEST=build/boot google boards link, panther, lulu,reef, ampton, akemi, and banshee with edk2 payload selected. Change-Id: I096eaa4e065db731a70ba238ba5a3bb49e5db867 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74868 Reviewed-by: Sean Rhodes <sean@starlabs.systems> Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-04-06payloads/external/edk2: Add option to clone edk2-platforms repoMichał Żygowski
Add possibility to clone edk2-platforms repository. Some edk2 repositories may use modules from edk2-platforms which contains various feature packages for Intel platforms, e.g VT-d driver if DMA protection is enabled. Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Change-Id: Iabd0793dfdcb95260046dc992ff30ef581159db9 Reviewed-on: https://review.coreboot.org/c/coreboot/+/68872 Reviewed-by: Krystian Hebel <krystian.hebel@3mdeb.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-10-22payloads/edk2: Disable the CPU Timer Lib unless supportedSean Rhodes
For recent X86 CPUs, the 0x15 CPUID instruction will return Time Stamp Counter Frequence. For CPUs that do not support this instruction, EDK2 must include a different library which is the reason why this must be configured at build time. If this is enabled, and the CPU doesn't support 0x15, it will fail to boot. If is not enabled, and the CPU does support 0x15, it will still boot but without support for the leaf. Consequently, disabled it by default. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I4f0f43ce50c4f6f7eb03063fff34d015468f6daa Reviewed-on: https://review.coreboot.org/c/coreboot/+/65950 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-10-08payloads/edk2: Add note that upstream edk2 does not workSean Rhodes
Upstream edk2 doesn't work, but we still have the option for it for testing. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I6ec9f4746640baa030762650ab7b83d85ab8c1e1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/67780 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-10-08payloads/edk2: Add an option for verbose buildsSean Rhodes
Add EDK2_VERBOSE_BUILD which removes the `-q` and `-s` switches so the build log becomes verbose. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Iaf1e96657f43edddfa4de0d3e00f3b24e7eb855b Reviewed-on: https://review.coreboot.org/c/coreboot/+/67677 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-10-08payloads/edk2: Separate the build target and repositorySean Rhodes
Until recently, there were two options to build edk2, UefiPayloadPkg and CorebootPayloadPkg. Now, there is only one, UefiPayloadPkg but soon, there will be Universal Payload. It makes more sense, as the official edk2 repository doesn't work with coreboot, to have the build target and repository separate. That will allow for building either UefiPayloadPkg or Universal Payload from the official repository, MrChromebox' fork or a custom repository. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: If7f12423058ef69838741f384495ca766ccea083 Reviewed-on: https://review.coreboot.org/c/coreboot/+/66080 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
2022-08-13payloads/tianocore: Rename TianoCore to edk2Sean Rhodes
coreboot uses TianoCore interchangeably with EDK II, and whilst the meaning is generally clear, it's not the payload it uses. EDK II is commonly written as edk2. coreboot builds edk2 directly from the edk2 repository. Whilst it can build some components from edk2-platforms, the target is still edk2. [1] tianocore.org - "Welcome to TianoCore, the community supporting" [2] tianocore.org - "EDK II is a modern, feature-rich, cross-platform firmware development environment for the UEFI and UEFI Platform Initialization (PI) specifications." Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I4de125d92ae38ff8dfd0c4c06806c2d2921945ab Reviewed-on: https://review.coreboot.org/c/coreboot/+/65820 Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>