blob: 15d0417d355afa90780ea1721dbe75c623eb56b5 [file] [log] [blame]
Martin Roth21c06502016-02-04 19:52:27 -07001menu "Payload"
2
Nico Huber9121a362017-05-20 21:04:15 +02003config NO_DEFAULT_PAYLOAD
4 bool
5
Martin Roth21c06502016-02-04 19:52:27 -07006choice
7 prompt "Add a payload"
Nico Huber9121a362017-05-20 21:04:15 +02008 default PAYLOAD_NONE if NO_DEFAULT_PAYLOAD || !ARCH_X86
Martin Roth21c06502016-02-04 19:52:27 -07009 default PAYLOAD_SEABIOS if ARCH_X86
10
11config 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.
17
18 For such an image to be useful, you have to use 'cbfstool'
19 to add a payload to the ROM image later.
20
21config 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.
27
28 You will be able to specify the location and file name of the
29 payload image later.
30
Paul Menzel209a1bf2018-07-09 10:42:41 +020031config PAYLOAD_FIT
32 bool "A FIT payload"
33 select PAYLOAD_FIT_SUPPORT
34 help
35 Select this option if you have a payload image (a FIT file) which
36 coreboot should run as soon as the basic hardware initialization
37 is completed.
38
39 You will be able to specify the location and file name of the
40 payload image later.
41
Antonello Dettori3d609322016-07-25 14:23:46 +020042config PAYLOAD_BAYOU
43 bool "Bayou"
44 help
45 Select this option if you want to set bayou as your primary
46 payload.
47
Martin Roth21c06502016-02-04 19:52:27 -070048source "payloads/external/*/Kconfig.name"
49
50endchoice
51
52source "payloads/external/*/Kconfig"
53
Antonello Dettori3d609322016-07-25 14:23:46 +020054source "payloads/bayou/Kconfig"
55
Martin Roth21c06502016-02-04 19:52:27 -070056config PAYLOAD_FILE
57 string "Payload path and filename"
Patrick Rudolpha892cde2018-04-19 14:39:07 +020058 depends on PAYLOAD_ELF || PAYLOAD_FIT
59 default "payload.elf" if PAYLOAD_ELF
60 default "uImage" if PAYLOAD_FIT
Martin Roth21c06502016-02-04 19:52:27 -070061 help
62 The path and filename of the ELF executable file to use as payload.
63
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020064choice
65 prompt "Payload compression algorithm"
Arthur Heymans30a6b742018-01-20 12:21:03 +010066 default COMPRESSED_PAYLOAD_LZMA
Philipp Deppenwiese0f0e4e62018-06-19 20:22:32 +020067 depends on !PAYLOAD_NONE && !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020068 help
69 Choose the compression algorithm for the chosen payloads.
70 You can choose between LZMA and LZ4.
71
Martin Roth21c06502016-02-04 19:52:27 -070072config COMPRESSED_PAYLOAD_LZMA
73 bool "Use LZMA compression for payloads"
Martin Roth21c06502016-02-04 19:52:27 -070074 help
75 In order to reduce the size payloads take up in the ROM chip
76 coreboot can compress them using the LZMA algorithm.
77
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020078config COMPRESSED_PAYLOAD_LZ4
79 bool "Use LZ4 compression for payloads"
80 help
81 In order to reduce the size payloads take up in the ROM chip
82 coreboot can compress them using the LZ4 algorithm.
83endchoice
84
Martin Rothdbae4d02015-12-11 12:24:33 -070085config PAYLOAD_OPTIONS
86 string
87 default ""
88 help
89 Additional cbfstool options for the payload
90
91config PAYLOAD_IS_FLAT_BINARY
92 def_bool n
93 help
94 Add the payload to cbfs as a flat binary type instead of as an
95 elf payload
96
Patrick Rudolpha892cde2018-04-19 14:39:07 +020097config PAYLOAD_FIT_SUPPORT
98 bool "FIT support"
99 default n
100 default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64)
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
Paul Menzelab6583e2018-07-02 08:37:09 +0200105 self-extracting and needs to have a compatible compression format.
Patrick Rudolpha892cde2018-04-19 14:39:07 +0200106
Arthur Heymans47dd96d2018-02-07 13:01:43 +0100107config 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.
113
Martin Roth5ad9aca2016-03-07 19:21:45 -0700114menu "Secondary Payloads"
115
Martin Roth4351ace2016-02-16 19:40:47 -0700116config 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.
Martin Roth21c06502016-02-04 19:52:27 -0700123
Martin Rothbe63a242016-02-28 15:56:27 -0800124config MEMTEST_SECONDARY_PAYLOAD
125 bool "Load Memtest86+ as a secondary payload"
126 default n
Martin Roth5ad9aca2016-03-07 19:21:45 -0700127 depends on ARCH_X86
Martin Rothbe63a242016-02-28 15:56:27 -0800128 help
129 Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
130 or any other payload that can load additional payloads.
131
Martin Roth4005d9b2016-04-26 09:51:41 -0600132choice
133 prompt "Memtest86+ version"
134 default MEMTEST_STABLE
135 depends on MEMTEST_SECONDARY_PAYLOAD
136
137config MEMTEST_STABLE
138 bool "Stable"
139 help
140 Stable Memtest86+ version.
141
142 For reproducible builds, this option must be selected.
143config MEMTEST_MASTER
144 bool "Master"
145 help
146 Newest Memtest86+ version.
147
148 This option will fetch the newest version of the Memtest86+ code,
149 updating as new changes are committed. This makes the build
150 non-reproducible, as it can fetch different code each time.
151endchoice
152
Iru Cai736aa742016-04-15 15:48:14 +0800153config NVRAMCUI_SECONDARY_PAYLOAD
154 bool "Load nvramcui as a secondary payload"
155 default n
156 depends on ARCH_X86
157 help
158 nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
159 or any other payload that can load additional payloads.
160
Antonello Dettori4f7d3292016-05-27 23:44:47 +0200161config 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.
168
Martin Roth5ad9aca2016-03-07 19:21:45 -0700169endmenu # "Secondary Payloads"
Martin Roth4351ace2016-02-16 19:40:47 -0700170endmenu