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