summaryrefslogtreecommitdiff
path: root/payloads/external/tianocore/Kconfig
AgeCommit message (Collapse)Author
2022-06-21payloads/external/tianocore: Allow Kconfig options for all UefiPayloadPkg ↵Sean Rhodes
versions Most of the Kconfig options are upstream, so they should exist in most forks. Therefore, allow them to be set and passed when using a custom repository or upstream edk2. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I31e6e267ee6e4e3a254f733e1dfc1ecb3a3d3576 Reviewed-on: https://review.coreboot.org/c/coreboot/+/65040 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2022-06-09payloads/tianocore: Allow custom build parametersMichał Żygowski
Currently, custom TianoCore builds are allowed, but those may need different parameters. Add a Kconfig option to specify additional parameters to be appended to build command. Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com> Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com> Change-Id: I025459ae94592103b4be0c68b422100b7c649d34 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62497 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2022-03-09payloads/tianocore: Add prompt for Boot TimeoutSean Rhodes
Add prompt to Boot Timeout so that it can be easily configured from a config file. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I62b8f0a9b5bc0796506b991199a457d6b34ae494 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62558 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2022-02-25payloads/tianocore: Pass SD_MMC_TIMEOUT build optionSean Rhodes
By default, edk2 allows 1000000μs for SD Card Readers and eMMC to initialize which is excessive and causes a boot delay. This makes the value configurable and uses a default of 1000μs which is sufficient for the majority of readers. The value of 1000μs was hardcoded in MrChromeBox's fork for around 2 years with no reported issues. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I873bcddf6f37a9eaae5c84991b3996d51fb460d3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61902 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
2022-02-24payloads/tianocore: Add option for to prioritize internal devicesSean Rhodes
Add TIANOCORE_PRIORITIZE_INTERNAL which, when enabled, will build edk2 with boot from internal devices before external devices. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ib1f73c8f3f2f2376cdc197b58d259446dc5f0138 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61797 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-02-24payloads/tianocore: Add option for PS/2 keyboard supportSean Rhodes
Add TIANOCORE_PS2_SUPPORT which, when enabled, will build edk2 with PS/2 keyboard support. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ibabce6ac1ac68ab958610d42c77f3c2c494528ef Reviewed-on: https://review.coreboot.org/c/coreboot/+/61760 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-02-24payloads/tianocore: Add option to include EFI ShellSean Rhodes
Add TIANOCORE_HAVE_EFI_SHELL, which when enabled, will build edk2 with the EFI Shell binary. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I1272f514e3f5becfe1fddd58ca0d820c5d1c1b54 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61759 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-02-24payloads/tianocore: Add option to use follow BGRT specSean Rhodes
Adds TIANOCORE_FOLLOW_BGRT_SPEC which, when enabled, will follow the BGRT Specification implemented by Microsoft and the Boot Logo will be vertically centered 38.2% from the top of the display. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: If508166fe657d1cc032dd09a0fa231c7b60d9846 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61758 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-02-24payloads/tianocore: Add option to use Escape for Boot ManagerSean Rhodes
Add TIANOCORE_BOOT_MANAGER_ESCAPE which, when enabled, will use Escape as the hot-key to access the Boot Manager. This replaces the default key of F2. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I1e60d116367542f55f0ffa241a6132e4faabe446 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61757 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2022-02-22payloads/tianocore: Rework MakefileSean Rhodes
Rework edkii makefile so that the various build options are unified between CorebootPayloadPkg, uefipayload_202107 and upstream. This sets the project directory based on the git repository name i.e. https://github.com/mrchromebox/edk2 becomes mrchomebox Also builds to $(obj)/UEFIPAYLOAD.fd and allows using a commit ID without a branch. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: I3cc274e7385dd71c2aae315162cc48444b7eaa5f Reviewed-on: https://review.coreboot.org/c/coreboot/+/61620 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-by: Martin Roth - Personal <martinroth@google.com>
2021-11-01payloads/Tianocore: re-add CorebootPayload build optionMatt DeVillier
Some older devices, like the x230 Thinkpad, do not boot with the newer Tianocore UefiPayloadPkg build target, and cannot easily be debugged without serial UART output. As a stopgap solution, re-add the older (now deprecated/removed) CorebootPayloadPkg build target. This partially reverts commit d3b49b4c, "payloads/Tianocore: Update default build target, simplify build options" Change-Id: I81490c277626fc69d95920868d80cb24c0763de4 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58710 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
2021-10-09payloads/tianocore/Kconfig: Extend help for bootsplash fileFelix Friedlander
Add more detail as to why a smaller-than-screen-size image is to be preferred, in contrast to other payloads' bootsplash images. Signed-off-by: Felix Friedlander <felix@ffetc.net> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Change-Id: Ib4c6666bb0e49369fe8fe2ae3dc12c023f668da0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/49233 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-09-08payloads/external/tianocore: Add build argument for 4G DecodeSean Rhodes
Add Kconfig option TIANOCORE_ABOVE_4G_DECODE to pass build option to edk2 to enable or disable "Above 4G Decode". Disabling allows certain Linux distributions to boot such as Qubes, Zorin and Proxmox. Requires commit `2f6d4cbcc7fa49462e607baed7626524ccd59ad3` that is present in the `uefipayload_202107` branch of MrChromebox's edk2 repository. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ia3b1d15196c0ec611431af29031682fea626d19d Reviewed-on: https://review.coreboot.org/c/coreboot/+/56223 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2021-06-07payloads/tianocore: Restrict bootsplash option to UEFIPAYLOADMatt DeVillier
The custom bootsplash option only functions when using the UEFIPAYLOAD payload option, so restrict visibility to when that option is selected. Change-Id: If5fe46b629e5275da54a5e86465a68271110397b Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55145 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-06-07payloads/tianocore: Add Kconfig option to enable cbmem loggingMatt DeVillier
Logging to coreboot cbmem, instead of a serial console, was added to MrChromebox's uefipayloadpkg branch. Add a Kconfig option to enable this, and restrict it to the UEFIPAYLOAD payload option, since this feature does not exist in upstream edk2. Change-Id: Idef125235dc7ba885eb22ac69c6f752588a9e295 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55144 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com>
2021-05-18payload/tianocore: Drop TIANOCORE_TARGET_IA32Lijian Zhao
Since upstream edk2 totally drop 32-bit support for UefiPayload, totaly drop it. Test: Build and run qemu successful boot up into EFI shell with UEFIPAYLOAD option. Change-Id: Iadd9a3c455fad4eede8a0a017415acd2c57fba04 Signed-off-by: Lijian Zhao <lijian.zhao@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/54189 Reviewed-by: Martin Roth <martinroth@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-05-13payloads/Tianocore: Update default build target, simplify build optionsMatt DeVillier
Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's updated UefiPayloadPkg option. Simplify the Kconfig options to make it easier to build from upstream edk2 master. Drop the TIANOCORE_USE_8254_TIMER Kconfig option since it applied only to CorebootPayloadPkg. Clean up the Makefile now that we're only building from a single Tianocore package/target. Test: build/boot qemu Q35 target with both UefiPayload and Upstream options. Change-Id: If545fbd0c30be6dcc6ff43107b80980fa23a527e Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/54019 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-12-28payloads/tianocore: Add Kconfig to set boot timeoutMatt DeVillier
Add a Kconfig option to set the tianocore boot timeout, which is passed to the payload via a command line parameter. Allows boards without an internal display (eg) to set a longer boot timeout, in order to ensure the boot splash/menu prompt are visible upon boot. The associated changes on the tianocore side have already been merged into MrChromebox's CorebootPayloadPkg and UefiPayloadPkg branches (coreboot_fb and uefipayloadpkg respectively). Change-Id: Ifeaadff05f6667d642c05b81f53c1d2dbc450af6 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48861 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
2020-04-28payloads/tianocore: Allow custom boot splash for UefiPayloadPkgMatt DeVillier
Allow a custom boot splash to be used with UefiPayloadPkg: - remove Kconfig guards restricting to CorebootPayloadPkg - set destination path for logo file based on bootloader selected Test: build/boot qemu with UefiPayloadPkg with custom boot logo Change-Id: Ia0a10d1528f516f6b9d3645b83be0fb4e85bc348 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40591 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2019-08-21payloads/tianocore: Enable UEFIPayloadLijian Zhao
corebootpayload package in upstream TianoCore was replaced with UEFIPayload, add external payload build option for UEFIPayload. BUG=N/A TEST=Select TianoCore payload as UEFIPayload, build and able to boot up on QEMU q35 after PCIE_BASE set. Change-Id: I0b7785fde9f4113b2cd91323ac0358b229c5a6e6 Signed-off-by: Lijian Zhao <lijian.zhao@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34459 Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2019-03-01payloads/tianocore: Add option for custom bootsplashMatt DeVillier
Add Kconfig options to use custom bootsplash file, dependent on using MrChromebox's stable branch, with help info conveying required file format. Adjust Makefile to copy the custom bootsplash and overwrite the default Logo.bmp file, handling both absolute and relative paths, and restore the original logo file after building so as to keep the working directory clean. Test: build with and without custom bootsplash, ensure correct bootsplash displayed Change-Id: I164f46777169801cff56633fd920bc81b7c8129a Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/31561 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
2019-02-26payloads/tianocore: default to MrChromebox's working branchMatt DeVillier
Rather than attempt to maintain patches against upstream Tianocore, use MrChromebox's coreboot framebuffer branch as the default build target. Rework the Makefile to default to MrChromebox's coreboot_fb branch, but also allow for aribitrary commits from upstream Tianocore to be used as build targets. Ensure the branch is synced on each build, as long as working directory is clean, and that switching between commits or trees is handled sanely. Eliminate TIANOCORE_MASTER as a selectable build target, since unpatched it is unlikely to boot on any device. It can easily be specified via the 'revision' option if desired. Test: build for the default stable target, for upstream/master as the specified revision, and for an arbitrary valid commit hash. Change-Id: I4a83db3cd64c7d5b652c6e95780d10051f143e88 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/31543 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2018-09-13payloads/tianocore: Add option to use 8254 timerLijian Zhao
Change TianoCore payload default to use HPET timer. Add an option to use 8254 timer for legacy platform support. BUG=N/A. TEST=Build and boot up into UEFI shell on Whiskey Lake rvp platform. Change-Id: I857704b0ca128fc9da193ae26a33c7cf89ad7320 Signed-off-by: Lijian Zhao <lijian.zhao@intel.com> Reviewed-on: https://review.coreboot.org/28542 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
2018-04-27payloads/external/tianocore: Remove trailing whitespaceElyes HAOUAS
Change-Id: Ibb15d370beb8ba34f24bd86eed19de38a3df3561 Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/25832 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2017-08-10payloads/external/tianocore: build UEFI payloadMartin Roth
Update the existing tianocore payload (which didn't do any more than adding an elf payload with a specific name) to fetch and build the UEFI corebootPayloadPackage, using the coreboot toolchain for compilation. Only checkout the commit when changing commit IDs or if version is master, instead of every time it builds. Currently working if patches are merged into the upstream edk2 repository (to be included in a follow-on patch). Change-Id: I0bf4cedec2d6821ae2a04184ebb5cf88979ccee3 Signed-off-by: Martin Roth <martinroth@google.com> Signed-off-by: Philipp Deppenwiese <zaolin@das-labor.org> Signed-off-by: Evelyn Huang <evhuang@google.com> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/15057 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-07-07payloads: Reorganize Kconfig for external payloadsStefan Reinauer
The integration of external payloads in coreboot is a bit messy. You have to change the to level Kconfig file for every payload (something that we recently fixed for mainboards and chipsets). This means that updating e.g. the SeaBIOS version requires a change outside of the SeaBIOS directory. With this patch you can create a new directory under payloads/external and place a Kconfig and Kconfig.name file in there, and the payload will automatically show up when you do "make menuconfig". Change-Id: I293abcb8eae581d4b3934e64897c0d339a27e7c1 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/10828 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>