diff options
Diffstat (limited to 'payloads/external/edk2/Kconfig')
-rw-r--r-- | payloads/external/edk2/Kconfig | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/payloads/external/edk2/Kconfig b/payloads/external/edk2/Kconfig new file mode 100644 index 0000000000..ec6be897e3 --- /dev/null +++ b/payloads/external/edk2/Kconfig @@ -0,0 +1,203 @@ +if PAYLOAD_EDK2 + +config PAYLOAD_FILE + string "edk2 binary" + default "$(obj)/UEFIPAYLOAD.fd" + help + The result of a UefiPayloadPkg build + +choice + prompt "Tianocore's EDK II payload" + default EDK2_UEFIPAYLOAD + help + Select which type of payload edk2 will build (default is UefiPayload) + UefiPayload: MrChromebox's customized fork of edk2 which works on most + x86_64 devices + Upstream: Use upstream edk2 payload from https://github.com/tianocore/edk2 + +config EDK2_UEFIPAYLOAD + bool "UEFIPayload" + help + Select this option to build using MrChromebox's custom edk2 fork, + which incorporates fixes/improvements from System 76's and 9elements' trees. + +config EDK2_UPSTREAM + bool "Upstream" + help + Select this option if you want to use upstream edk2 to build edk2. + +config EDK2_CUSTOM + bool "Custom" + help + Specify your own edk2 repository and branch to use. + +endchoice + +config EDK2_REPOSITORY + string "URL to git repository for edk2" + default "https://github.com/tianocore/edk2" if EDK2_UPSTREAM + default "https://github.com/mrchromebox/edk2" if EDK2_UEFIPAYLOAD + help + coreboot supports an array of build options which can be found below. These options + will only have an effect if the relevant options exist in the target repository. + +config EDK2_TAG_OR_REV + string "Insert a commit's SHA-1 or a branch name" + default "origin/uefipayload_202207" if EDK2_UEFIPAYLOAD + default "origin/master" if EDK2_UPSTREAM + help + The commit's SHA-1 or branch name of the revision to use. This must exist in + EDK2_REPOSITORY, and in the case of a branch name, prefixed with origin i.e. + "origin/uefipayload_202202" + +choice + prompt "edk2 build" + default EDK2_RELEASE + help + Select whether to generate a debug or release build for + edk2; default is to generate a release build. + +config EDK2_DEBUG + bool "Generate edk2 debug build" + help + Generate a debug build. + +config EDK2_RELEASE + bool "Generate edk2 release build" + help + Generate a release build. + +endchoice + +if EDK2_UEFIPAYLOAD || EDK2_CUSTOM || EDK2_UPSTREAM + +config EDK2_ABOVE_4G_MEMORY + bool "Enable above 4G memory" + default n + help + Select this option to enable Above 4G Decode. This will allow the + payload to use all of the memory, rather than an maximum of 4G. + + Disabling memory above 4G is useful for bootloaders that are not + fully 64-bit aware such as Qubes R4.0.4 bootloader. + +config EDK2_BOOTSPLASH_FILE + string "edk2 Bootsplash path and filename" + default "Documentation/coreboot_logo.bmp" + help + The path and filename of the file to use as graphical bootsplash + image. If this option is not configured, the default + coreboot logo (European Brown Hare) will used. + + You can use any image format supported by imagemagick, a list of which + can be found [here](https://imagemagick.org/script/formats.php). + + The build process will automatically convert this to the format that + edk2 requires, which is an uncompressed BMP, in BMP3 format. It does + this using imagemagick (`convert splosh.bmp BMP3:splash.bmp`). + + The newly formatted file will be the dimensions size as the original + one. + + The build process will automatically do this conversion, so it can + be supplied with any format that imagemagick can process (which is + pretty much any!). + + This image will also be used as the BGRT boot image, which may + persist through your OS boot process. + + See ACPI spec 6.3, 5.2.22 Boot Graphics Resource Table (BGRT), and + Microsoft's documentation on BGRT positioning: + Docs/Windows/Windows Drivers/Bring up guide/Boot screen components + + Accordingly, the image used should be no taller/wider than 40% of + the display panel's native pixel height/width (or resolution set). + + If an absolute path is not given, the path will assumed to be + relative to the coreboot root directory. + +config EDK2_BOOT_MANAGER_ESCAPE + bool "Use Escape key for Boot Manager" + default n + help + Use Escape as the hot-key to access the Boot Manager. This replaces + the default key of F2. + +config EDK2_BOOT_TIMEOUT + int "Set the timeout for boot menu prompt" + default 2 + help + The length of time in seconds for which the boot splash/menu prompt will be displayed. + For boards with an internal display, the default value of 2s is generally sufficient. + For boards with an external display, a value of 5s is generally sufficient. + +config EDK2_CBMEM_LOGGING + bool "Enable edk2 logging to CBMEM" + help + Select this option if you want to enable edk2 logging to CBMEM. + You may want to increase the default cbmem buffer size when selecting + this option, especially if using a debug (vs release) build. + Selecting this option will increase the payload size in CBFS by 0x10000. + +config EDK2_FOLLOW_BGRT_SPEC + bool "Center logo 38.2% from the top of screen" + default n + help + Follow the BGRT Specification implemented by Microsoft and + the Boot Logo 38.2% will be vertically centered 38.2% from + the top of the display. + +config EDK2_FULL_SCREEN_SETUP + bool "Use the full screen for the edk2 frontpage" + default y + help + Allow edk2 to use the full screen to display the frontpage + (aka "Boot Menu"). With this option disable, it will be + limited to 640x480. + +config EDK2_HAVE_EFI_SHELL + bool "Include EFI Shell" + default y + help + Include the EFI shell Binary + +config EDK2_PRIORITIZE_INTERNAL + bool "Prioritize internal boot devices" + default y + help + Prioritize internal boot devices over external devices + +config EDK2_PS2_SUPPORT + bool "Support PS/2 Keyboards" + default y + help + Include support for PS/2 keyboards + +config EDK2_SD_MMC_TIMEOUT + int "Timeout in ms for initializing SD and eMMC devices" + default 10 + help + The amount of time allowed to initialize the SD Card reader and/or eMMC drive. + Most only require 10ms, but certain readers can take 1s. + +config EDK2_SERIAL_SUPPORT + bool "Support serial output" + default y if EDK2_DEBUG + default n + help + Enable serial port output in edk2. Serial output limits the performance of edk2's + FrontPage. + +endif + +config EDK2_CUSTOM_BUILD_PARAMS + string "edk2 additional custom build parameters" + default "-D VARIABLE_SUPPORT=SMMSTORE" if EDK2_UEFIPAYLOAD && SMMSTORE_V2 + help + edk2 has build options that are not modified by coreboot, and these can be + found in `UefiPayloadPkg/UefiPayloadPkg.dsc`. Forks may also support + additional build options that should have been upstreamed but have not. + + This option can support both macros `-D` and Pcds `--pcd`. + +endif |