1*b9411a12SAndroid Build Coastguard Worker## SPDX-License-Identifier: GPL-2.0-only 2*b9411a12SAndroid Build Coastguard Worker 3*b9411a12SAndroid Build Coastguard Workermenu "Payload" 4*b9411a12SAndroid Build Coastguard Worker 5*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_NONE 6*b9411a12SAndroid Build Coastguard Worker bool "Don't add a payload" 7*b9411a12SAndroid Build Coastguard Worker default y if !ARCH_X86 8*b9411a12SAndroid Build Coastguard Worker help 9*b9411a12SAndroid Build Coastguard Worker Select this option if you want to create an "empty" coreboot 10*b9411a12SAndroid Build Coastguard Worker ROM image for a certain mainboard, i.e. a coreboot ROM image 11*b9411a12SAndroid Build Coastguard Worker which does not yet contain a payload. 12*b9411a12SAndroid Build Coastguard Worker 13*b9411a12SAndroid Build Coastguard Worker For such an image to be useful, you have to use 'cbfstool' 14*b9411a12SAndroid Build Coastguard Worker to add a payload to the ROM image later. 15*b9411a12SAndroid Build Coastguard Worker 16*b9411a12SAndroid Build Coastguard Workerif !PAYLOAD_NONE 17*b9411a12SAndroid Build Coastguard Workerchoice 18*b9411a12SAndroid Build Coastguard Worker prompt "Payload to add" 19*b9411a12SAndroid Build Coastguard Worker default PAYLOAD_SEABIOS if ARCH_X86 20*b9411a12SAndroid Build Coastguard Worker 21*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_ELF 22*b9411a12SAndroid Build Coastguard Worker bool "An ELF executable payload" 23*b9411a12SAndroid Build Coastguard Worker help 24*b9411a12SAndroid Build Coastguard Worker Select this option if you have a payload image (an ELF file) 25*b9411a12SAndroid Build Coastguard Worker which coreboot should run as soon as the basic hardware 26*b9411a12SAndroid Build Coastguard Worker initialization is completed. 27*b9411a12SAndroid Build Coastguard Worker 28*b9411a12SAndroid Build Coastguard Worker You will be able to specify the location and file name of the 29*b9411a12SAndroid Build Coastguard Worker payload image later. 30*b9411a12SAndroid Build Coastguard Worker 31*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_FIT 32*b9411a12SAndroid Build Coastguard Worker bool "A FIT payload" 33*b9411a12SAndroid Build Coastguard Worker depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM 34*b9411a12SAndroid Build Coastguard Worker select PAYLOAD_FIT_SUPPORT 35*b9411a12SAndroid Build Coastguard Worker help 36*b9411a12SAndroid Build Coastguard Worker Select this option if you have a payload image (a FIT file) which 37*b9411a12SAndroid Build Coastguard Worker coreboot should run as soon as the basic hardware initialization 38*b9411a12SAndroid Build Coastguard Worker is completed. 39*b9411a12SAndroid Build Coastguard Worker 40*b9411a12SAndroid Build Coastguard Worker You will be able to specify the location and file name of the 41*b9411a12SAndroid Build Coastguard Worker payload image later. 42*b9411a12SAndroid Build Coastguard Worker 43*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_FLAT_BINARY 44*b9411a12SAndroid Build Coastguard Worker bool "A flat binary" 45*b9411a12SAndroid Build Coastguard Worker select PAYLOAD_IS_FLAT_BINARY 46*b9411a12SAndroid Build Coastguard Worker help 47*b9411a12SAndroid Build Coastguard Worker Select this option if you have a flat binary without any 48*b9411a12SAndroid Build Coastguard Worker executable format surrounding it which coreboot should run 49*b9411a12SAndroid Build Coastguard Worker as soon as the basic hardware initialization is completed. 50*b9411a12SAndroid Build Coastguard Worker 51*b9411a12SAndroid Build Coastguard Worker You will be able to specify the location and file name of the 52*b9411a12SAndroid Build Coastguard Worker payload image later. 53*b9411a12SAndroid Build Coastguard Worker 54*b9411a12SAndroid Build Coastguard Workersource "payloads/external/*/Kconfig.name" 55*b9411a12SAndroid Build Coastguard Worker 56*b9411a12SAndroid Build Coastguard Workerendchoice 57*b9411a12SAndroid Build Coastguard Worker 58*b9411a12SAndroid Build Coastguard Workersource "payloads/external/*/Kconfig" 59*b9411a12SAndroid Build Coastguard Worker 60*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_FILE 61*b9411a12SAndroid Build Coastguard Worker string "Payload path and filename" 62*b9411a12SAndroid Build Coastguard Worker depends on PAYLOAD_ELF || PAYLOAD_FIT || PAYLOAD_FLAT_BINARY 63*b9411a12SAndroid Build Coastguard Worker default "payload.elf" if PAYLOAD_ELF 64*b9411a12SAndroid Build Coastguard Worker default "uImage" if PAYLOAD_FIT 65*b9411a12SAndroid Build Coastguard Worker help 66*b9411a12SAndroid Build Coastguard Worker The path and filename of the ELF executable file to use as payload. 67*b9411a12SAndroid Build Coastguard Worker 68*b9411a12SAndroid Build Coastguard Workerchoice 69*b9411a12SAndroid Build Coastguard Worker prompt "Payload compression algorithm" 70*b9411a12SAndroid Build Coastguard Worker default COMPRESSED_PAYLOAD_LZMA 71*b9411a12SAndroid Build Coastguard Worker default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT 72*b9411a12SAndroid Build Coastguard Worker depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT 73*b9411a12SAndroid Build Coastguard Worker help 74*b9411a12SAndroid Build Coastguard Worker Choose the compression algorithm for the chosen payloads. 75*b9411a12SAndroid Build Coastguard Worker You can choose between None, LZMA, or LZ4. 76*b9411a12SAndroid Build Coastguard Worker 77*b9411a12SAndroid Build Coastguard Workerconfig COMPRESSED_PAYLOAD_NONE 78*b9411a12SAndroid Build Coastguard Worker bool "Use no compression for payloads" 79*b9411a12SAndroid Build Coastguard Worker help 80*b9411a12SAndroid Build Coastguard Worker Do not compress the payload. 81*b9411a12SAndroid Build Coastguard Worker 82*b9411a12SAndroid Build Coastguard Workerconfig COMPRESSED_PAYLOAD_LZMA 83*b9411a12SAndroid Build Coastguard Worker bool "Use LZMA compression for payloads" 84*b9411a12SAndroid Build Coastguard Worker help 85*b9411a12SAndroid Build Coastguard Worker In order to reduce the size payloads take up in the ROM chip 86*b9411a12SAndroid Build Coastguard Worker coreboot can compress them using the LZMA algorithm. 87*b9411a12SAndroid Build Coastguard Worker 88*b9411a12SAndroid Build Coastguard Workerconfig COMPRESSED_PAYLOAD_LZ4 89*b9411a12SAndroid Build Coastguard Worker bool "Use LZ4 compression for payloads" 90*b9411a12SAndroid Build Coastguard Worker help 91*b9411a12SAndroid Build Coastguard Worker In order to reduce the size payloads take up in the ROM chip 92*b9411a12SAndroid Build Coastguard Worker coreboot can compress them using the LZ4 algorithm. 93*b9411a12SAndroid Build Coastguard Workerendchoice 94*b9411a12SAndroid Build Coastguard Worker 95*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_OPTIONS 96*b9411a12SAndroid Build Coastguard Worker string "Additional cbfstool options" if PAYLOAD_FLAT_BINARY 97*b9411a12SAndroid Build Coastguard Worker default "" 98*b9411a12SAndroid Build Coastguard Worker depends on PAYLOAD_IS_FLAT_BINARY 99*b9411a12SAndroid Build Coastguard Worker help 100*b9411a12SAndroid Build Coastguard Worker Additional cbfstool options for the payload 101*b9411a12SAndroid Build Coastguard Worker 102*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_IS_FLAT_BINARY 103*b9411a12SAndroid Build Coastguard Worker bool 104*b9411a12SAndroid Build Coastguard Worker default n 105*b9411a12SAndroid Build Coastguard Worker 106*b9411a12SAndroid Build Coastguard Workerconfig PAYLOAD_FIT_SUPPORT 107*b9411a12SAndroid Build Coastguard Worker bool "FIT support" 108*b9411a12SAndroid Build Coastguard Worker default n 109*b9411a12SAndroid Build Coastguard Worker default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV) 110*b9411a12SAndroid Build Coastguard Worker depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM 111*b9411a12SAndroid Build Coastguard Worker select FLATTENED_DEVICE_TREE 112*b9411a12SAndroid Build Coastguard Worker help 113*b9411a12SAndroid Build Coastguard Worker Select this option if your payload is of type FIT. 114*b9411a12SAndroid Build Coastguard Worker Enables FIT parser and devicetree patching. The FIT is non 115*b9411a12SAndroid Build Coastguard Worker self-extracting and needs to have a compatible compression format. 116*b9411a12SAndroid Build Coastguard Worker 117*b9411a12SAndroid Build Coastguard Workerconfig COMPRESS_SECONDARY_PAYLOAD 118*b9411a12SAndroid Build Coastguard Worker bool "Use LZMA compression for secondary payloads" 119*b9411a12SAndroid Build Coastguard Worker default y 120*b9411a12SAndroid Build Coastguard Worker help 121*b9411a12SAndroid Build Coastguard Worker In order to reduce the size secondary payloads take up in the 122*b9411a12SAndroid Build Coastguard Worker ROM chip they can be compressed using the LZMA algorithm. 123*b9411a12SAndroid Build Coastguard Worker 124*b9411a12SAndroid Build Coastguard Workermenu "Secondary Payloads" 125*b9411a12SAndroid Build Coastguard Worker 126*b9411a12SAndroid Build Coastguard Workerconfig COREINFO_SECONDARY_PAYLOAD 127*b9411a12SAndroid Build Coastguard Worker bool "Load coreinfo as a secondary payload" 128*b9411a12SAndroid Build Coastguard Worker default n 129*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 130*b9411a12SAndroid Build Coastguard Worker help 131*b9411a12SAndroid Build Coastguard Worker coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB, 132*b9411a12SAndroid Build Coastguard Worker or any other payload that can load additional payloads. 133*b9411a12SAndroid Build Coastguard Worker 134*b9411a12SAndroid Build Coastguard Workerconfig GRUB2_SECONDARY_PAYLOAD 135*b9411a12SAndroid Build Coastguard Worker bool "Load GRUB2 as a secondary payload" 136*b9411a12SAndroid Build Coastguard Worker default n 137*b9411a12SAndroid Build Coastguard Worker depends on !PAYLOAD_GRUB2 138*b9411a12SAndroid Build Coastguard Worker select PAYLOAD_BUILD_GRUB2 139*b9411a12SAndroid Build Coastguard Worker help 140*b9411a12SAndroid Build Coastguard Worker GRUB2 can be loaded as a secondary payload under SeaBIOS or any 141*b9411a12SAndroid Build Coastguard Worker other payload that can load additional payloads. 142*b9411a12SAndroid Build Coastguard Worker 143*b9411a12SAndroid Build Coastguard Workerconfig MEMTEST_SECONDARY_PAYLOAD 144*b9411a12SAndroid Build Coastguard Worker bool "Load Memtest86+ as a secondary payload" 145*b9411a12SAndroid Build Coastguard Worker default n 146*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 147*b9411a12SAndroid Build Coastguard Worker help 148*b9411a12SAndroid Build Coastguard Worker Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB, 149*b9411a12SAndroid Build Coastguard Worker or any other payload that can load additional payloads. 150*b9411a12SAndroid Build Coastguard Worker 151*b9411a12SAndroid Build Coastguard Workerconfig NVRAMCUI_SECONDARY_PAYLOAD 152*b9411a12SAndroid Build Coastguard Worker bool "Load nvramcui as a secondary payload" 153*b9411a12SAndroid Build Coastguard Worker default n 154*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 && HAVE_OPTION_TABLE 155*b9411a12SAndroid Build Coastguard Worker help 156*b9411a12SAndroid Build Coastguard Worker nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB, 157*b9411a12SAndroid Build Coastguard Worker or any other payload that can load additional payloads. 158*b9411a12SAndroid Build Coastguard Worker 159*b9411a12SAndroid Build Coastguard Workerconfig SEABIOS_SECONDARY_PAYLOAD 160*b9411a12SAndroid Build Coastguard Worker bool "Load SeaBIOS as a secondary payload" 161*b9411a12SAndroid Build Coastguard Worker default n 162*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 163*b9411a12SAndroid Build Coastguard Worker depends on !PAYLOAD_SEABIOS 164*b9411a12SAndroid Build Coastguard Worker depends on !PAYLOAD_SEAGRUB 165*b9411a12SAndroid Build Coastguard Worker select PAYLOAD_BUILD_SEABIOS 166*b9411a12SAndroid Build Coastguard Worker help 167*b9411a12SAndroid Build Coastguard Worker SeaBIOS can be loaded as a secondary payload under GRUB or any 168*b9411a12SAndroid Build Coastguard Worker other payload that can load additional payloads. 169*b9411a12SAndroid Build Coastguard Worker 170*b9411a12SAndroid Build Coastguard Workerconfig TINT_SECONDARY_PAYLOAD 171*b9411a12SAndroid Build Coastguard Worker bool "Load tint as a secondary payload" 172*b9411a12SAndroid Build Coastguard Worker default n 173*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 174*b9411a12SAndroid Build Coastguard Worker help 175*b9411a12SAndroid Build Coastguard Worker tint can be loaded as a secondary payload under SeaBIOS, GRUB, 176*b9411a12SAndroid Build Coastguard Worker or any other payload that can load additional payloads. 177*b9411a12SAndroid Build Coastguard Worker 178*b9411a12SAndroid Build Coastguard Workerconfig COREDOOM_SECONDARY_PAYLOAD 179*b9411a12SAndroid Build Coastguard Worker bool "Load coreDOOM as a secondary payload" 180*b9411a12SAndroid Build Coastguard Worker default n 181*b9411a12SAndroid Build Coastguard Worker depends on ARCH_X86 182*b9411a12SAndroid Build Coastguard Worker help 183*b9411a12SAndroid Build Coastguard Worker coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB, 184*b9411a12SAndroid Build Coastguard Worker or any other payload that can load additional payloads. Requires a 185*b9411a12SAndroid Build Coastguard Worker linear framebuffer. If built as a secondary payload for SeaBIOS, the 186*b9411a12SAndroid Build Coastguard Worker generated VGA BIOS option rom is also required. 187*b9411a12SAndroid Build Coastguard Worker 188*b9411a12SAndroid Build Coastguard Workersource "payloads/external/*/Kconfig.secondary" 189*b9411a12SAndroid Build Coastguard Worker 190*b9411a12SAndroid Build Coastguard Workerendmenu # "Secondary Payloads" 191*b9411a12SAndroid Build Coastguard Worker 192*b9411a12SAndroid Build Coastguard Workerendif # !PAYLOAD_NONE 193*b9411a12SAndroid Build Coastguard Worker 194*b9411a12SAndroid Build Coastguard Workerendmenu 195