cpu/intel/haswell: Do not include useless µcode updates
[coreboot.git] / payloads / Kconfig
blob2e627d7e5b36279541231fe1b4fbd265daa1cc59
1 menu "Payload"
3 config NO_DEFAULT_PAYLOAD
4         bool
6 choice
7         prompt "Add a payload"
8         default PAYLOAD_NONE if NO_DEFAULT_PAYLOAD || !ARCH_X86
9         default PAYLOAD_SEABIOS if ARCH_X86
11 config PAYLOAD_NONE
12         bool "None"
13         help
14           Select this option if you want to create an "empty" coreboot
15           ROM image for a certain mainboard, i.e. a coreboot ROM image
16           which does not yet contain a payload.
18           For such an image to be useful, you have to use 'cbfstool'
19           to add a payload to the ROM image later.
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_NONE && !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
86         default ""
87         help
88           Additional cbfstool options for the payload
90 config PAYLOAD_IS_FLAT_BINARY
91         def_bool n
92         help
93           Add the payload to cbfs as a flat binary type instead of as an
94           elf payload
96 config PAYLOAD_FIT_SUPPORT
97         bool "FIT support"
98         default n
99         default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
100         depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
101         select FLATTENED_DEVICE_TREE
102         help
103           Select this option if your payload is of type FIT.
104           Enables FIT parser and devicetree patching. The FIT is non
105           self-extracting and needs to have a compatible compression format.
107 config COMPRESS_SECONDARY_PAYLOAD
108         bool "Use LZMA compression for secondary payloads"
109         default y
110         help
111           In order to reduce the size secondary payloads take up in the
112           ROM chip they can be compressed using the LZMA algorithm.
114 menu "Secondary Payloads"
116 config COREINFO_SECONDARY_PAYLOAD
117         bool "Load coreinfo as a secondary payload"
118         default n
119         depends on ARCH_X86
120         help
121           coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
122           or any other payload that can load additional payloads.
124 config GRUB2_SECONDARY_PAYLOAD
125         bool "Load GRUB2 as a secondary payload"
126         default n
127         depends on !PAYLOAD_GRUB2
128         select PAYLOAD_BUILD_GRUB2
129         help
130           GRUB2 can be loaded as a secondary payload under SeaBIOS or any
131           other payload that can load additional payloads.
133 config MEMTEST_SECONDARY_PAYLOAD
134         bool "Load Memtest86+ as a secondary payload"
135         default n
136         depends on ARCH_X86
137         help
138           Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
139           or any other payload that can load additional payloads.
141 config NVRAMCUI_SECONDARY_PAYLOAD
142         bool "Load nvramcui as a secondary payload"
143         default n
144         depends on ARCH_X86 && HAVE_OPTION_TABLE
145         help
146           nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
147           or any other payload that can load additional payloads.
149 config SEABIOS_SECONDARY_PAYLOAD
150         bool "Load SeaBIOS as a secondary payload"
151         default n
152         depends on ARCH_X86
153         depends on !PAYLOAD_SEABIOS
154         depends on !PAYLOAD_SEAGRUB
155         select PAYLOAD_BUILD_SEABIOS
156         help
157           SeaBIOS can be loaded as a secondary payload under GRUB or any
158           other payload that can load additional payloads.
160 config TINT_SECONDARY_PAYLOAD
161         bool "Load tint as a secondary payload"
162         default n
163         depends on ARCH_X86
164         help
165           tint can be loaded as a secondary payload under SeaBIOS, GRUB,
166           or any other payload that can load additional payloads.
168 config COREDOOM_SECONDARY_PAYLOAD
169         bool "Load coreDOOM as a secondary payload"
170         default n
171         depends on ARCH_X86
172         help
173           coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
174           or any other payload that can load additional payloads. Requires a
175           linear framebuffer. If built as a secondary payload for SeaBIOS, the
176           generated VGA BIOS option rom is also required.
178 source "payloads/external/*/Kconfig.secondary"
180 endmenu # "Secondary Payloads"
181 endmenu