smbios: Make SMBIOS type 3 enclosure type settable at runtime
[coreboot.git] / payloads / Kconfig
blobd0f8a440800f5a173c0c0ad36f7c6b84f03edd15
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
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 config PAYLOAD_BAYOU
44         bool "Bayou"
45         depends on ARCH_X86
46         help
47           Select this option if you want to set bayou as your primary
48           payload.
50 source "payloads/external/*/Kconfig.name"
52 endchoice
54 source "payloads/external/*/Kconfig"
56 source "payloads/bayou/Kconfig"
58 config PAYLOAD_FILE
59         string "Payload path and filename"
60         depends on PAYLOAD_ELF || PAYLOAD_FIT
61         default "payload.elf" if PAYLOAD_ELF
62         default "uImage" if PAYLOAD_FIT
63         help
64           The path and filename of the ELF executable file to use as payload.
66 choice
67         prompt "Payload compression algorithm"
68         default COMPRESSED_PAYLOAD_LZMA
69         depends on !PAYLOAD_NONE && !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
70         help
71           Choose the compression algorithm for the chosen payloads.
72           You can choose between LZMA and LZ4.
74 config COMPRESSED_PAYLOAD_LZMA
75         bool "Use LZMA compression for payloads"
76         help
77           In order to reduce the size payloads take up in the ROM chip
78           coreboot can compress them using the LZMA algorithm.
80 config COMPRESSED_PAYLOAD_LZ4
81         bool "Use LZ4 compression for payloads"
82         help
83           In order to reduce the size payloads take up in the ROM chip
84           coreboot can compress them using the LZ4 algorithm.
85 endchoice
87 config PAYLOAD_OPTIONS
88         string
89         default ""
90         help
91           Additional cbfstool options for the payload
93 config PAYLOAD_IS_FLAT_BINARY
94         def_bool n
95         help
96           Add the payload to cbfs as a flat binary type instead of as an
97           elf payload
99 config PAYLOAD_FIT_SUPPORT
100         bool "FIT support"
101         default n
102         default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64)
103         depends on ARCH_ARM64
104         select FLATTENED_DEVICE_TREE
105         help
106           Select this option if your payload is of type FIT.
107           Enables FIT parser and devicetree patching. The FIT is non
108           self-extracting and needs to have a compatible compression format.
110 config COMPRESS_SECONDARY_PAYLOAD
111         bool "Use LZMA compression for secondary payloads"
112         default y
113         help
114           In order to reduce the size secondary payloads take up in the
115           ROM chip they can be compressed using the LZMA algorithm.
117 menu "Secondary Payloads"
119 config COREINFO_SECONDARY_PAYLOAD
120         bool "Load coreinfo as a secondary payload"
121         default n
122         depends on ARCH_X86
123         help
124           coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
125           or any other payload that can load additional payloads.
127 config MEMTEST_SECONDARY_PAYLOAD
128         bool "Load Memtest86+ as a secondary payload"
129         default n
130         depends on ARCH_X86
131         help
132           Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
133           or any other payload that can load additional payloads.
135 config NVRAMCUI_SECONDARY_PAYLOAD
136         bool "Load nvramcui as a secondary payload"
137         default n
138         depends on ARCH_X86
139         help
140           nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
141           or any other payload that can load additional payloads.
143 config TINT_SECONDARY_PAYLOAD
144         bool "Load tint as a secondary payload"
145         default n
146         depends on ARCH_X86
147         help
148           tint can be loaded as a secondary payload under SeaBIOS, GRUB,
149           or any other payload that can load additional payloads.
151 source "payloads/external/*/Kconfig.secondary"
153 endmenu # "Secondary Payloads"
154 endmenu