blob: f6c022e8bea983f6162938e9b9319fde743b681e [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001##
Stefan Reinauer16f515a2010-01-20 18:44:30 +00002## This file is part of the coreboot project.
Patrick Georgi0588d192009-08-12 15:00:51 +00003##
Alexandru Gagniuc70c660f2012-08-23 02:32:58 -05004## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
Stefan Reinauer16f515a2010-01-20 18:44:30 +00005## Copyright (C) 2009-2010 coresystems GmbH
Patrick Georgi0588d192009-08-12 15:00:51 +00006##
Stefan Reinauer16f515a2010-01-20 18:44:30 +00007## This program is free software; you can redistribute it and/or modify
8## it under the terms of the GNU General Public License as published by
9## the Free Software Foundation; version 2 of the License.
10##
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14## GNU General Public License for more details.
15##
Patrick Georgi0588d192009-08-12 15:00:51 +000016
Uwe Hermannad8c95f2012-04-12 22:00:03 +020017mainmenu "coreboot configuration"
Patrick Georgi0588d192009-08-12 15:00:51 +000018
Uwe Hermannc04be932009-10-05 13:55:28 +000019menu "General setup"
20
21config LOCALVERSION
Uwe Hermann168b11b2009-10-07 16:15:40 +000022 string "Local version string"
Uwe Hermannc04be932009-10-05 13:55:28 +000023 help
24 Append an extra string to the end of the coreboot version.
25
Uwe Hermann168b11b2009-10-07 16:15:40 +000026 This can be useful if, for instance, you want to append the
27 respective board's hostname or some other identifying string to
28 the coreboot version number, so that you can easily distinguish
29 boot logs of different boards from each other.
30
Patrick Georgi4b8a2412010-02-09 19:35:16 +000031config CBFS_PREFIX
32 string "CBFS prefix to use"
33 default "fallback"
34 help
35 Select the prefix to all files put into the image. It's "fallback"
36 by default, "normal" is a common alternative.
37
Patrick Georgi23d89cc2010-03-16 01:17:19 +000038choice
Uwe Hermannad8c95f2012-04-12 22:00:03 +020039 prompt "Compiler to use"
Patrick Georgi23d89cc2010-03-16 01:17:19 +000040 default COMPILER_GCC
41 help
42 This option allows you to select the compiler used for building
43 coreboot.
Martin Rotha5a628e82016-01-19 12:01:09 -070044 You must build the coreboot crosscompiler for the board that you
45 have selected.
46
47 To build all the GCC crosscompilers (takes a LONG time), run:
48 make crossgcc
49
50 For help on individual architectures, run the command:
51 make help_toolchain
Patrick Georgi23d89cc2010-03-16 01:17:19 +000052
53config COMPILER_GCC
54 bool "GCC"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020055 help
56 Use the GNU Compiler Collection (GCC) to build coreboot.
57
58 For details see http://gcc.gnu.org.
59
Patrick Georgi23d89cc2010-03-16 01:17:19 +000060config COMPILER_LLVM_CLANG
Martin Rotha5a628e82016-01-19 12:01:09 -070061 bool "LLVM/clang (TESTING ONLY - Not currently working)"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020062 help
Martin Rotha5a628e82016-01-19 12:01:09 -070063 Use LLVM/clang to build coreboot. To use this, you must build the
64 coreboot version of the clang compiler. Run the command
65 make clang
66 Note that this option is not currently working correctly and should
67 really only be selected if you're trying to work on getting clang
68 operational.
Uwe Hermannad8c95f2012-04-12 22:00:03 +020069
70 For details see http://clang.llvm.org.
71
Patrick Georgi23d89cc2010-03-16 01:17:19 +000072endchoice
73
Patrick Georgi9b0de712013-12-29 18:45:23 +010074config ANY_TOOLCHAIN
75 bool "Allow building with any toolchain"
76 default n
77 depends on COMPILER_GCC
78 help
79 Many toolchains break when building coreboot since it uses quite
80 unusual linker features. Unless developers explicitely request it,
81 we'll have to assume that they use their distro compiler by mistake.
82 Make sure that using patched compilers is a conscious decision.
83
Patrick Georgi516a2a72010-03-25 21:45:25 +000084config CCACHE
Uwe Hermannad8c95f2012-04-12 22:00:03 +020085 bool "Use ccache to speed up (re)compilation"
Patrick Georgi516a2a72010-03-25 21:45:25 +000086 default n
87 help
88 Enables the use of ccache for faster builds.
Uwe Hermannad8c95f2012-04-12 22:00:03 +020089
90 Requires the ccache utility in your system $PATH.
91
92 For details see https://ccache.samba.org.
Patrick Georgi516a2a72010-03-25 21:45:25 +000093
Sol Boucher69b88bf2015-02-26 11:47:19 -080094config FMD_GENPARSER
95 bool "Generate flashmap descriptor parser using flex and bison"
96 default n
Sol Boucher69b88bf2015-02-26 11:47:19 -080097 help
98 Enable this option if you are working on the flashmap descriptor
99 parser and made changes to fmd_scanner.l or fmd_parser.y.
100
101 Otherwise, say N to use the provided pregenerated scanner/parser.
102
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000103config SCONFIG_GENPARSER
104 bool "Generate SCONFIG parser using flex and bison"
105 default n
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000106 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200107 Enable this option if you are working on the sconfig device tree
Sol Boucher69b88bf2015-02-26 11:47:19 -0800108 parser and made changes to sconfig.l or sconfig.y.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200109
Sol Boucher69b88bf2015-02-26 11:47:19 -0800110 Otherwise, say N to use the provided pregenerated scanner/parser.
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000111
Joe Korty6d772522010-05-19 18:41:15 +0000112config USE_OPTION_TABLE
113 bool "Use CMOS for configuration values"
114 default n
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000115 depends on HAVE_OPTION_TABLE
Joe Korty6d772522010-05-19 18:41:15 +0000116 help
117 Enable this option if coreboot shall read options from the "CMOS"
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200118 NVRAM instead of using hard-coded values.
Joe Korty6d772522010-05-19 18:41:15 +0000119
Timothy Pearsonf20c6e82015-02-14 16:15:31 -0600120config STATIC_OPTION_TABLE
121 bool "Load default configuration values into CMOS on each boot"
122 default n
123 depends on USE_OPTION_TABLE
124 help
125 Enable this option to reset "CMOS" NVRAM values to default on
126 every boot. Use this if you want the NVRAM configuration to
127 never be modified from its default values.
128
Julius Wernercdf92ea2014-12-09 12:18:00 -0800129config UNCOMPRESSED_RAMSTAGE
130 bool
131 default n
132
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000133config COMPRESS_RAMSTAGE
134 bool "Compress ramstage with LZMA"
Julius Wernercdf92ea2014-12-09 12:18:00 -0800135 default y if !UNCOMPRESSED_RAMSTAGE
136 default n
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000137 help
138 Compress ramstage to save memory in the flash image. Note
139 that decompression might slow down booting if the boot flash
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200140 is connected through a slow link (i.e. SPI).
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000141
Julius Werner09f29212015-09-29 13:51:35 -0700142config COMPRESS_PRERAM_STAGES
143 bool "Compress romstage and verstage with LZ4"
Martin Rothf2e04612016-03-09 15:50:23 -0700144 depends on !ARCH_X86
145 default y
Julius Werner09f29212015-09-29 13:51:35 -0700146 help
147 Compress romstage and (if it exists) verstage with LZ4 to save flash
148 space and speed up boot, since the time for reading the image from SPI
149 (and in the vboot case verifying it) is usually much greater than the
150 time spent decompressing. Doesn't work for XIP stages (assume all
151 ARCH_X86 for now) for obvious reasons.
152
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200153config INCLUDE_CONFIG_FILE
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200154 bool "Include the coreboot .config file into the ROM image"
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200155 default y
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200156 help
157 Include the .config file that was used to compile coreboot
158 in the (CBFS) ROM image. This is useful if you want to know which
159 options were used to build a specific coreboot.rom image.
160
Daniele Forsi53847a22014-07-22 18:00:56 +0200161 Saying Y here will increase the image size by 2-3KB.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200162
163 You can use the following command to easily list the options:
164
165 grep -a CONFIG_ coreboot.rom
166
167 Alternatively, you can also use cbfstool to print the image
168 contents (including the raw 'config' item we're looking for).
169
170 Example:
171
172 $ cbfstool coreboot.rom print
173 coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
174 offset 0x0
175 Alignment: 64 bytes
Steve Goodrichf0269122012-05-18 11:18:47 -0600176
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200177 Name Offset Type Size
178 cmos_layout.bin 0x0 cmos layout 1159
179 fallback/romstage 0x4c0 stage 339756
Daniele Forsi53847a22014-07-22 18:00:56 +0200180 fallback/ramstage 0x53440 stage 186664
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200181 fallback/payload 0x80dc0 payload 51526
182 config 0x8d740 raw 3324
183 (empty) 0x8e480 null 3610440
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200184
Furquan Shaikh94b18a12016-05-04 23:25:16 -0700185config NO_XIP_EARLY_STAGES
186 bool
187 default n if ARCH_X86
188 default y
189 help
Furquan Shaikhd5583a52016-06-01 01:53:18 -0700190 Identify if early stages are eXecute-In-Place(XIP).
Furquan Shaikh94b18a12016-05-04 23:25:16 -0700191
Kyösti Mälkkif8bf5a12013-10-11 22:08:02 +0300192config EARLY_CBMEM_INIT
Kyösti Mälkki3bf38542014-12-18 22:22:04 +0200193 def_bool !LATE_CBMEM_INIT
194
Lee Leahye2422e32016-07-24 19:52:15 -0700195config EARLY_CBMEM_LIST
196 bool
197 default n
198 help
199 Enable display of CBMEM during romstage and postcar.
200
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700201config COLLECT_TIMESTAMPS
202 bool "Create a table of timestamps collected during boot"
Kyösti Mälkki26447932013-10-11 21:14:59 +0300203 default n
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700204 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200205 Make coreboot create a table of timer-ID/timer-value pairs to
206 allow measuring time spent at different phases of the boot process.
207
Patrick Georgi7e9b9d82012-04-30 21:06:10 +0200208config USE_BLOBS
209 bool "Allow use of binary-only repository"
210 default n
211 help
212 This draws in the blobs repository, which contains binary files that
213 might be required for some chipsets or boards.
214 This flag ensures that a "Free" option remains available for users.
215
Stefan Reinauerd37ab452012-12-18 16:23:28 -0800216config COVERAGE
217 bool "Code coverage support"
218 depends on COMPILER_GCC
219 default n
220 help
221 Add code coverage support for coreboot. This will store code
222 coverage information in CBMEM for extraction from user space.
223 If unsure, say N.
224
Stefan Reinauer58470e32014-10-17 13:08:36 +0200225config RELOCATABLE_MODULES
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200226 bool
Stefan Reinauer58470e32014-10-17 13:08:36 +0200227 default n
228 help
229 If RELOCATABLE_MODULES is selected then support is enabled for
230 building relocatable modules in the RAM stage. Those modules can be
231 loaded anywhere and all the relocations are handled automatically.
232
233config RELOCATABLE_RAMSTAGE
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200234 depends on EARLY_CBMEM_INIT
Stefan Reinauer58470e32014-10-17 13:08:36 +0200235 bool "Build the ramstage to be relocatable in 32-bit address space."
236 default n
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200237 select RELOCATABLE_MODULES
Stefan Reinauer58470e32014-10-17 13:08:36 +0200238 help
239 The reloctable ramstage support allows for the ramstage to be built
240 as a relocatable module. The stage loader can identify a place
241 out of the OS way so that copying memory is unnecessary during an S3
242 wake. When selecting this option the romstage is responsible for
243 determing a stack location to use for loading the ramstage.
244
245config CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
246 depends on RELOCATABLE_RAMSTAGE
247 bool "Cache the relocated ramstage outside of cbmem."
248 default n
249 help
250 The relocated ramstage is saved in an area specified by the
251 by the board and/or chipset.
252
Furquan Shaikh1e162bf2016-05-06 09:20:35 -0700253config NO_STAGE_CACHE
254 bool
255 default n
256 help
257 Do not save any component in stage cache for resume path. On resume,
258 all components would be read back from CBFS again.
259
Julius Werner86fc11d2015-10-09 13:37:58 -0700260# TODO: This doesn't belong here, move to src/arch/x86/Kconfig
Stefan Reinauer58470e32014-10-17 13:08:36 +0200261choice
262 prompt "Bootblock behaviour"
263 default BOOTBLOCK_SIMPLE
264
265config BOOTBLOCK_SIMPLE
266 bool "Always load fallback"
267
268config BOOTBLOCK_NORMAL
269 bool "Switch to normal if CMOS says so"
270
271endchoice
272
Julius Werner86fc11d2015-10-09 13:37:58 -0700273# To be selected by arch, SoC or mainboard if it does not want use the normal
274# src/lib/bootblock.c#main() C entry point.
275config BOOTBLOCK_CUSTOM
276 bool
277 default n
278
Stefan Reinauer58470e32014-10-17 13:08:36 +0200279config BOOTBLOCK_SOURCE
280 string
281 default "bootblock_simple.c" if BOOTBLOCK_SIMPLE
282 default "bootblock_normal.c" if BOOTBLOCK_NORMAL
283
Alexandru Gagniucee464b12015-10-02 18:01:18 -0700284# To be selected by arch or platform if a C environment is available during the
285# bootblock. Normally this signifies availability of RW memory (e.g. SRAM).
286config C_ENVIRONMENT_BOOTBLOCK
Martin Roth95f33f4e2016-01-21 12:30:52 -0700287 bool
288 default n
Alexandru Gagniucee464b12015-10-02 18:01:18 -0700289
Timothy Pearson44724082015-03-16 11:47:45 -0500290config SKIP_MAX_REBOOT_CNT_CLEAR
291 bool "Do not clear reboot count after successful boot"
292 default n
Timothy Pearson3bfd7cc2015-11-01 02:13:17 -0600293 depends on BOOTBLOCK_NORMAL
Timothy Pearson44724082015-03-16 11:47:45 -0500294 help
295 Do not clear the reboot count immediately after successful boot.
296 Set to allow the payload to control normal/fallback image recovery.
Timothy Pearson3bfd7cc2015-11-01 02:13:17 -0600297 Note that it is the responsibility of the payload to reset the
298 normal boot bit to 1 after each successsful boot.
Timothy Pearson44724082015-03-16 11:47:45 -0500299
Stefan Reinauer58470e32014-10-17 13:08:36 +0200300config UPDATE_IMAGE
301 bool "Update existing coreboot.rom image"
302 default n
303 help
304 If this option is enabled, no new coreboot.rom file
305 is created. Instead it is expected that there already
306 is a suitable file for further processing.
307 The bootblock will not be modified.
308
Martin Roth5942e062016-01-20 14:59:21 -0700309 If unsure, select 'N'
310
Stefan Reinauerd06258c2015-03-26 16:29:00 -0700311config GENERIC_GPIO_LIB
312 bool
313 default n
314 help
315 If enabled, compile the generic GPIO library. A "generic" GPIO
316 implies configurability usually found on SoCs, particularly the
317 ability to control internal pull resistors.
318
319config BOARD_ID_AUTO
320 bool
321 default n
322 help
323 Mainboards that can read a board ID from the hardware straps
324 (ie. GPIO) select this configuration option.
325
326config BOARD_ID_MANUAL
Vladimir Serbinenko1e161422015-05-30 22:47:22 +0200327 bool
Stefan Reinauerd06258c2015-03-26 16:29:00 -0700328 default n
329 depends on !BOARD_ID_AUTO
330 help
331 If you want to maintain a board ID, but the hardware does not
332 have straps to automatically determine the ID, you can say Y
333 here and add a file named 'board_id' to CBFS. If you don't know
334 what this is about, say N.
335
336config BOARD_ID_STRING
337 string "Board ID"
338 default "(none)"
339 depends on BOARD_ID_MANUAL
340 help
341 This string is placed in the 'board_id' CBFS file for indicating
342 board type.
343
David Hendricks627b3bd2014-11-03 17:42:09 -0800344config RAM_CODE_SUPPORT
Vladimir Serbinenko8ef9c562015-05-30 22:55:44 +0200345 bool
David Hendricks627b3bd2014-11-03 17:42:09 -0800346 default n
347 help
348 If enabled, coreboot discovers RAM configuration (value obtained by
349 reading board straps) and stores it in coreboot table.
350
Konstantin Aladyshev6544cb32015-01-24 18:52:10 +0400351config BOOTSPLASH_IMAGE
352 bool "Add a bootsplash image"
353 help
354 Select this option if you have a bootsplash image that you would
355 like to add to your ROM.
356
357 This will only add the image to the ROM. To actually run it check
358 options under 'Display' section.
359
360config BOOTSPLASH_FILE
361 string "Bootsplash path and filename"
362 depends on BOOTSPLASH_IMAGE
363 default "bootsplash.jpg"
364 help
365 The path and filename of the file to use as graphical bootsplash
366 screen. The file format has to be jpg.
367
Uwe Hermannc04be932009-10-05 13:55:28 +0000368endmenu
369
Martin Roth026e4dc2015-06-19 23:17:15 -0600370menu "Mainboard"
371
Stefan Reinauera48ca842015-04-04 01:58:28 +0200372source "src/mainboard/Kconfig"
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000373
Marshall Dawsone9375132016-09-04 08:38:33 -0600374config DEVICETREE
375 string
376 default "devicetree.cb"
377 help
378 This symbol allows mainboards to select a different file under their
379 mainboard directory for the devicetree.cb file. This allows the board
380 variants that need different devicetrees to be in the same directory.
381
382 Examples: "devicetree.variant.cb"
383 "variant/devicetree.cb"
384
Martin Roth59ff3402016-02-09 09:06:46 -0700385# defaults for CBFS_SIZE are set at the end of the file.
Martin Roth026e4dc2015-06-19 23:17:15 -0600386config CBFS_SIZE
387 hex "Size of CBFS filesystem in ROM"
Martin Roth026e4dc2015-06-19 23:17:15 -0600388 help
389 This is the part of the ROM actually managed by CBFS, located at the
390 end of the ROM (passed through cbfstool -o) on x86 and at at the start
391 of the ROM (passed through cbfstool -s) everywhere else. It defaults
392 to span the whole ROM on all but Intel systems that use an Intel Firmware
393 Descriptor. It can be overridden to make coreboot live alongside other
394 components like ChromeOS's vboot/FMAP or Intel's IFD / ME / TXE
395 binaries.
396
Patrick Georgi8a3592e2015-09-16 18:10:52 +0200397config FMDFILE
398 string "fmap description file in fmd format"
Patrick Georgi5d7ab392015-12-12 00:23:15 +0100399 default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
Patrick Georgi8a3592e2015-09-16 18:10:52 +0200400 default ""
401 help
402 The build system creates a default FMAP from ROM_SIZE and CBFS_SIZE,
403 but in some cases more complex setups are required.
404 When an fmd is specified, it overrides the default format.
405
Vadim Bendebury26588702016-06-02 20:43:19 -0700406config MAINBOARD_HAS_TPM2
407 bool
408 default n
409 help
410 There is a TPM device installed on the mainboard, and it is
411 compliant with version 2 TCG TPM specification. Could be connected
412 over LPC, SPI or I2C.
413
Martin Rothda1ca202015-12-26 16:51:16 -0700414endmenu
415
Martin Rothb09a5692016-01-24 19:38:33 -0700416# load site-local kconfig to allow user specific defaults and overrides
417source "site-local/Kconfig"
418
Vladimir Serbinenkoa9db82f2014-10-16 13:21:47 +0200419config SYSTEM_TYPE_LAPTOP
Martin Roth595e7772015-04-26 18:53:26 -0600420 default n
421 bool
Vladimir Serbinenkoa9db82f2014-10-16 13:21:47 +0200422
Werner Zehc0fb3612016-01-14 15:08:36 +0100423config CBFS_AUTOGEN_ATTRIBUTES
424 default n
425 bool
426 help
427 If this option is selected, every file in cbfs which has a constraint
428 regarding position or alignment will get an additional file attribute
429 which describes this constraint.
430
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000431menu "Chipset"
432
Duncan Lauried2119762015-06-08 18:11:56 -0700433comment "SoC"
434source "src/soc/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000435comment "CPU"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200436source "src/cpu/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000437comment "Northbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200438source "src/northbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000439comment "Southbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200440source "src/southbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000441comment "Super I/O"
Omar Pakker57603e22016-07-29 23:31:45 +0200442source "src/superio/*/*/Kconfig"
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000443comment "Embedded Controllers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200444source "src/ec/acpi/Kconfig"
445source "src/ec/*/*/Kconfig"
Stefan Reinauer86ddd732016-03-11 20:22:28 -0800446# FIXME move to vendorcode
Marc Jones78687972015-04-22 23:16:31 -0600447source "src/drivers/intel/fsp1_0/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000448
Martin Roth59aa2b12015-06-20 16:17:12 -0600449source "src/southbridge/intel/common/firmware/Kconfig"
Furquan Shaikh2a12e2e2016-07-25 11:48:03 -0700450source "src/vboot/Kconfig"
Martin Rothe1523ec2015-06-19 22:30:43 -0600451source "src/vendorcode/*/Kconfig"
Martin Roth59aa2b12015-06-20 16:17:12 -0600452
Martin Rothe1523ec2015-06-19 22:30:43 -0600453source "src/arch/*/Kconfig"
454
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000455endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000456
Stefan Reinauera48ca842015-04-04 01:58:28 +0200457source "src/device/Kconfig"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800458
Rudolf Marekd9c25492010-05-16 15:31:53 +0000459menu "Generic Drivers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200460source "src/drivers/*/Kconfig"
Stefan Reinauer86ddd732016-03-11 20:22:28 -0800461source "src/drivers/*/*/Kconfig"
Rudolf Marekd9c25492010-05-16 15:31:53 +0000462endmenu
463
Martin Roth09210a12016-05-17 11:28:23 -0600464source "src/acpi/Kconfig"
465
Aaron Durbin4a36c4e2016-08-11 11:02:26 -0500466# This option is for the current boards/chipsets where SPI flash
467# is not the boot device. Currently nearly all boards/chipsets assume
468# SPI flash is the boot device.
469config BOOT_DEVICE_NOT_SPI_FLASH
470 bool
471 default n
472
473config BOOT_DEVICE_SPI_FLASH
474 bool
475 default y if !BOOT_DEVICE_NOT_SPI_FLASH
476 default n
477
Aaron Durbin16c173f2016-08-11 14:04:10 -0500478config BOOT_DEVICE_MEMORY_MAPPED
479 bool
480 default y if ARCH_X86 && BOOT_DEVICE_SPI_FLASH
481 default n
482 help
483 Inform system if SPI is memory-mapped or not.
484
Aaron Durbine8e118d2016-08-12 15:00:10 -0500485config BOOT_DEVICE_SUPPORTS_WRITES
486 bool
487 default n
488 help
489 Indicate that the platform has writable boot device
490 support.
491
Patrick Georgi0770f252015-04-22 13:28:21 +0200492config RTC
493 bool
494 default n
495
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700496config TPM
497 bool
498 default n
Vadim Bendebury26588702016-06-02 20:43:19 -0700499 select LPC_TPM if MAINBOARD_HAS_LPC_TPM
500 select I2C_TPM if !MAINBOARD_HAS_LPC_TPM && !SPI_TPM
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700501 help
502 Enable this option to enable TPM support in coreboot.
503
504 If unsure, say N.
505
Vadim Bendebury26588702016-06-02 20:43:19 -0700506config TPM2
507 bool
508 select LPC_TPM if MAINBOARD_HAS_LPC_TPM
509 select I2C_TPM if !MAINBOARD_HAS_LPC_TPM && !SPI_TPM
510 help
511 Enable this option to enable TPM2 support in coreboot.
512
513 If unsure, say N.
514
Patrick Georgi0588d192009-08-12 15:00:51 +0000515config HEAP_SIZE
516 hex
Myles Watson04000f42009-10-16 19:12:49 +0000517 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000518
Julius Wernerc3e7c4e2014-09-19 13:18:16 -0700519config STACK_SIZE
520 hex
Julius Werner66a476a2015-10-12 16:45:21 -0700521 default 0x1000 if ARCH_X86
522 default 0x0
Julius Wernerc3e7c4e2014-09-19 13:18:16 -0700523
Patrick Georgi0588d192009-08-12 15:00:51 +0000524config MAX_CPUS
525 int
526 default 1
527
528config MMCONF_SUPPORT_DEFAULT
529 bool
530 default n
531
532config MMCONF_SUPPORT
533 bool
534 default n
535
Stefan Reinauera48ca842015-04-04 01:58:28 +0200536source "src/console/Kconfig"
Patrick Georgi0588d192009-08-12 15:00:51 +0000537
538config HAVE_ACPI_RESUME
539 bool
540 default n
541
Aaron Durbin87c9fae2016-01-22 15:26:04 -0600542config RESUME_PATH_SAME_AS_BOOT
543 bool
544 default y if ARCH_X86
545 depends on HAVE_ACPI_RESUME
546 help
547 This option indicates that when a system resumes it takes the
548 same path as a regular boot. e.g. an x86 system runs from the
549 reset vector at 0xfffffff0 on both resume and warm/cold boot.
550
Patrick Georgi0588d192009-08-12 15:00:51 +0000551config HAVE_HARD_RESET
552 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000553 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000554 help
555 This variable specifies whether a given board has a hard_reset
556 function, no matter if it's provided by board code or chipset code.
557
Timothy Pearson44d53422015-05-18 16:04:10 -0500558config HAVE_ROMSTAGE_CONSOLE_SPINLOCK
559 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300560 depends on EARLY_CBMEM_INIT
Timothy Pearson44d53422015-05-18 16:04:10 -0500561 default n
562
Timothy Pearson7b22d842015-08-28 19:52:05 -0500563config HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK
564 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300565 depends on EARLY_CBMEM_INIT
Timothy Pearson7b22d842015-08-28 19:52:05 -0500566 default n
567 help
568 This should be enabled on certain plaforms, such as the AMD
569 SR565x, that cannot handle concurrent CBFS accesses from
570 multiple APs during early startup.
571
Timothy Pearsonc764c742015-08-28 20:48:17 -0500572config HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK
573 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300574 depends on EARLY_CBMEM_INIT
Timothy Pearsonc764c742015-08-28 20:48:17 -0500575 default n
576
Aaron Durbina4217912013-04-29 22:31:51 -0500577config HAVE_MONOTONIC_TIMER
578 def_bool n
579 help
580 The board/chipset provides a monotonic timer.
581
Aaron Durbine5e36302014-09-25 10:05:15 -0500582config GENERIC_UDELAY
583 def_bool n
584 depends on HAVE_MONOTONIC_TIMER
585 help
586 The board/chipset uses a generic udelay function utilizing the
587 monotonic timer.
588
Aaron Durbin340ca912013-04-30 09:58:12 -0500589config TIMER_QUEUE
590 def_bool n
591 depends on HAVE_MONOTONIC_TIMER
592 help
Kyösti Mälkkiecd84242013-09-13 07:57:49 +0300593 Provide a timer queue for performing time-based callbacks.
Aaron Durbin340ca912013-04-30 09:58:12 -0500594
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500595config COOP_MULTITASKING
596 def_bool n
Aaron Durbin38c326d2013-05-06 12:22:23 -0500597 depends on TIMER_QUEUE && ARCH_X86
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500598 help
599 Cooperative multitasking allows callbacks to be multiplexed on the
600 main thread of ramstage. With this enabled it allows for multiple
601 execution paths to take place when they have udelay() calls within
602 their code.
603
604config NUM_THREADS
605 int
606 default 4
607 depends on COOP_MULTITASKING
608 help
609 How many execution threads to cooperatively multitask with.
610
Patrick Georgi0588d192009-08-12 15:00:51 +0000611config HAVE_OPTION_TABLE
612 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000613 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000614 help
615 This variable specifies whether a given board has a cmos.layout
616 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000617 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000618
Patrick Georgi0588d192009-08-12 15:00:51 +0000619config PIRQ_ROUTE
620 bool
621 default n
622
623config HAVE_SMI_HANDLER
624 bool
625 default n
626
627config PCI_IO_CFG_EXT
628 bool
629 default n
630
631config IOAPIC
632 bool
633 default n
634
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200635config CACHE_ROM_SIZE_OVERRIDE
Stefan Reinauer5b635792012-08-16 14:05:42 -0700636 hex
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200637 default 0
Stefan Reinauer5b635792012-08-16 14:05:42 -0700638
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000639# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000640config VIDEO_MB
641 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000642 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000643
Myles Watson45bb25f2009-09-22 18:49:08 +0000644config USE_WATCHDOG_ON_BOOT
645 bool
646 default n
647
648config VGA
649 bool
650 default n
651 help
652 Build board-specific VGA code.
653
654config GFXUMA
655 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000656 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000657 help
658 Enable Unified Memory Architecture for graphics.
659
Myles Watsonb8e20272009-10-15 13:35:47 +0000660config HAVE_ACPI_TABLES
661 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000662 help
663 This variable specifies whether a given board has ACPI table support.
664 It is usually set in mainboard/*/Kconfig.
Myles Watsonb8e20272009-10-15 13:35:47 +0000665
666config HAVE_MP_TABLE
667 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000668 help
669 This variable specifies whether a given board has MP table support.
670 It is usually set in mainboard/*/Kconfig.
671 Whether or not the MP table is actually generated by coreboot
672 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000673
674config HAVE_PIRQ_TABLE
675 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000676 help
677 This variable specifies whether a given board has PIRQ table support.
678 It is usually set in mainboard/*/Kconfig.
679 Whether or not the PIRQ table is actually generated by coreboot
680 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000681
Alexandru Gagniuc70c660f2012-08-23 02:32:58 -0500682config MAX_PIRQ_LINKS
683 int
684 default 4
685 help
686 This variable specifies the number of PIRQ interrupt links which are
687 routable. On most chipsets, this is 4, INTA through INTD. Some
688 chipsets offer more than four links, commonly up to INTH. They may
689 also have a separate link for ATA or IOAPIC interrupts. When the PIRQ
690 table specifies links greater than 4, pirq_route_irqs will not
691 function properly, unless this variable is correctly set.
692
Vladimir Serbinenkoc21e0732014-10-16 12:48:19 +0200693config COMMON_FADT
694 bool
695 default n
696
Aaron Durbin9420a522015-11-17 16:31:00 -0600697config ACPI_NHLT
698 bool
699 default n
700 help
701 Build support for NHLT (non HD Audio) ACPI table generation.
702
Myles Watsond73c1b52009-10-26 15:14:07 +0000703#These Options are here to avoid "undefined" warnings.
704#The actual selection and help texts are in the following menu.
705
Uwe Hermann168b11b2009-10-07 16:15:40 +0000706menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000707
Myles Watsonb8e20272009-10-15 13:35:47 +0000708config GENERATE_MP_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800709 prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
710 bool
711 default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000712 help
713 Generate an MP table (conforming to the Intel MultiProcessor
714 specification 1.4) for this board.
715
716 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000717
Myles Watsonb8e20272009-10-15 13:35:47 +0000718config GENERATE_PIRQ_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800719 prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
720 bool
721 default HAVE_PIRQ_TABLE
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000722 help
723 Generate a PIRQ table for this board.
724
725 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000726
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200727config GENERATE_SMBIOS_TABLES
728 depends on ARCH_X86
729 bool "Generate SMBIOS tables"
730 default y
731 help
732 Generate SMBIOS tables for this board.
733
734 If unsure, say Y.
735
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200736config SMBIOS_PROVIDED_BY_MOBO
737 bool
738 default n
739
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200740config MAINBOARD_SERIAL_NUMBER
741 string "SMBIOS Serial Number"
742 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200743 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200744 default "123456789"
Martin Roth595e7772015-04-26 18:53:26 -0600745 help
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200746 The Serial Number to store in SMBIOS structures.
747
748config MAINBOARD_VERSION
749 string "SMBIOS Version Number"
750 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200751 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200752 default "1.0"
753 help
754 The Version Number to store in SMBIOS structures.
755
756config MAINBOARD_SMBIOS_MANUFACTURER
757 string "SMBIOS Manufacturer"
758 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200759 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200760 default MAINBOARD_VENDOR
761 help
762 Override the default Manufacturer stored in SMBIOS structures.
763
764config MAINBOARD_SMBIOS_PRODUCT_NAME
765 string "SMBIOS Product name"
766 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200767 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200768 default MAINBOARD_PART_NUMBER
769 help
770 Override the default Product name stored in SMBIOS structures.
771
Myles Watson45bb25f2009-09-22 18:49:08 +0000772endmenu
773
Martin Roth21c06502016-02-04 19:52:27 -0700774source "payloads/Kconfig"
Peter Stugea758ca22009-09-17 16:21:31 +0000775
Uwe Hermann168b11b2009-10-07 16:15:40 +0000776menu "Debugging"
777
778# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000779config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000780 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200781 default n
Denis 'GNUtoo' Carikli3747ba12015-12-10 22:04:56 +0100782 depends on CONSOLE_SERIAL
Patrick Georgi0588d192009-08-12 15:00:51 +0000783 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000784 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000785 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000786
Denis 'GNUtoo' Cariklie4cece02012-06-22 15:56:37 +0200787config GDB_WAIT
788 bool "Wait for a GDB connection"
789 default n
790 depends on GDB_STUB
791 help
792 If enabled, coreboot will wait for a GDB connection.
793
Julius Wernerd82e0cf2015-02-17 17:27:23 -0800794config FATAL_ASSERTS
795 bool "Halt when hitting a BUG() or assertion error"
796 default n
797 help
798 If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
799
Stefan Reinauerfe422182012-05-02 16:33:18 -0700800config DEBUG_CBFS
801 bool "Output verbose CBFS debug messages"
802 default n
Stefan Reinauerfe422182012-05-02 16:33:18 -0700803 help
804 This option enables additional CBFS related debug messages.
805
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000806config HAVE_DEBUG_RAM_SETUP
807 def_bool n
808
Uwe Hermann01ce6012010-03-05 10:03:50 +0000809config DEBUG_RAM_SETUP
810 bool "Output verbose RAM init debug messages"
811 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000812 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000813 help
814 This option enables additional RAM init related debug messages.
815 It is recommended to enable this when debugging issues on your
816 board which might be RAM init related.
817
818 Note: This option will increase the size of the coreboot image.
819
820 If unsure, say N.
821
Patrick Georgie82618d2010-10-01 14:50:12 +0000822config HAVE_DEBUG_CAR
823 def_bool n
824
Peter Stuge5015f792010-11-10 02:00:32 +0000825config DEBUG_CAR
826 def_bool n
827 depends on HAVE_DEBUG_CAR
828
829if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000830# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
831# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000832config DEBUG_CAR
833 bool "Output verbose Cache-as-RAM debug messages"
834 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000835 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000836 help
837 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000838endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000839
Myles Watson80e914ff2010-06-01 19:25:31 +0000840config DEBUG_PIRQ
841 bool "Check PIRQ table consistency"
842 default n
843 depends on GENERATE_PIRQ_TABLE
844 help
845 If unsure, say N.
846
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000847config HAVE_DEBUG_SMBUS
848 def_bool n
849
Uwe Hermann01ce6012010-03-05 10:03:50 +0000850config DEBUG_SMBUS
851 bool "Output verbose SMBus debug messages"
852 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000853 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000854 help
855 This option enables additional SMBus (and SPD) debug messages.
856
857 Note: This option will increase the size of the coreboot image.
858
859 If unsure, say N.
860
861config DEBUG_SMI
862 bool "Output verbose SMI debug messages"
863 default n
864 depends on HAVE_SMI_HANDLER
Martin Roth3a543182015-09-28 15:27:24 -0600865 select SPI_FLASH_SMM if SPI_CONSOLE
Uwe Hermann01ce6012010-03-05 10:03:50 +0000866 help
867 This option enables additional SMI related debug messages.
868
869 Note: This option will increase the size of the coreboot image.
870
871 If unsure, say N.
872
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000873config DEBUG_SMM_RELOCATION
874 bool "Debug SMM relocation code"
875 default n
876 depends on HAVE_SMI_HANDLER
877 help
878 This option enables additional SMM handler relocation related
879 debug messages.
880
881 Note: This option will increase the size of the coreboot image.
882
883 If unsure, say N.
884
Uwe Hermanna953f372010-11-10 00:14:32 +0000885# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
886# printk(BIOS_DEBUG, ...) calls.
887config DEBUG_MALLOC
Stefan Reinauer95a63962012-11-13 17:00:01 -0800888 prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
889 bool
Uwe Hermanna953f372010-11-10 00:14:32 +0000890 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000891 help
892 This option enables additional malloc related debug messages.
893
894 Note: This option will increase the size of the coreboot image.
895
896 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300897
898# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
899# printk(BIOS_DEBUG, ...) calls.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300900config DEBUG_ACPI
Stefan Reinauer95a63962012-11-13 17:00:01 -0800901 prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
902 bool
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300903 default n
904 help
905 This option enables additional ACPI related debug messages.
906
907 Note: This option will slightly increase the size of the coreboot image.
908
909 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300910
Uwe Hermanna953f372010-11-10 00:14:32 +0000911# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
912# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000913config REALMODE_DEBUG
Stefan Reinauer95a63962012-11-13 17:00:01 -0800914 prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
915 bool
Myles Watson6c9bc012010-09-07 22:30:15 +0000916 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000917 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000918 help
919 This option enables additional x86emu related debug messages.
920
921 Note: This option will increase the time to emulate a ROM.
922
923 If unsure, say N.
924
Uwe Hermann01ce6012010-03-05 10:03:50 +0000925config X86EMU_DEBUG
926 bool "Output verbose x86emu debug messages"
927 default n
928 depends on PCI_OPTION_ROM_RUN_YABEL
929 help
930 This option enables additional x86emu related debug messages.
931
932 Note: This option will increase the size of the coreboot image.
933
934 If unsure, say N.
935
936config X86EMU_DEBUG_JMP
937 bool "Trace JMP/RETF"
938 default n
939 depends on X86EMU_DEBUG
940 help
941 Print information about JMP and RETF opcodes from x86emu.
942
943 Note: This option will increase the size of the coreboot image.
944
945 If unsure, say N.
946
947config X86EMU_DEBUG_TRACE
948 bool "Trace all opcodes"
949 default n
950 depends on X86EMU_DEBUG
951 help
952 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000953
Uwe Hermann01ce6012010-03-05 10:03:50 +0000954 WARNING: This will produce a LOT of output and take a long time.
955
956 Note: This option will increase the size of the coreboot image.
957
958 If unsure, say N.
959
960config X86EMU_DEBUG_PNP
961 bool "Log Plug&Play accesses"
962 default n
963 depends on X86EMU_DEBUG
964 help
965 Print Plug And Play accesses made by option ROMs.
966
967 Note: This option will increase the size of the coreboot image.
968
969 If unsure, say N.
970
971config X86EMU_DEBUG_DISK
972 bool "Log Disk I/O"
973 default n
974 depends on X86EMU_DEBUG
975 help
976 Print Disk I/O related messages.
977
978 Note: This option will increase the size of the coreboot image.
979
980 If unsure, say N.
981
982config X86EMU_DEBUG_PMM
983 bool "Log PMM"
984 default n
985 depends on X86EMU_DEBUG
986 help
987 Print messages related to POST Memory Manager (PMM).
988
989 Note: This option will increase the size of the coreboot image.
990
991 If unsure, say N.
992
993
994config X86EMU_DEBUG_VBE
995 bool "Debug VESA BIOS Extensions"
996 default n
997 depends on X86EMU_DEBUG
998 help
999 Print messages related to VESA BIOS Extension (VBE) functions.
1000
1001 Note: This option will increase the size of the coreboot image.
1002
1003 If unsure, say N.
1004
1005config X86EMU_DEBUG_INT10
1006 bool "Redirect INT10 output to console"
1007 default n
1008 depends on X86EMU_DEBUG
1009 help
1010 Let INT10 (i.e. character output) calls print messages to debug output.
1011
1012 Note: This option will increase the size of the coreboot image.
1013
1014 If unsure, say N.
1015
1016config X86EMU_DEBUG_INTERRUPTS
1017 bool "Log intXX calls"
1018 default n
1019 depends on X86EMU_DEBUG
1020 help
1021 Print messages related to interrupt handling.
1022
1023 Note: This option will increase the size of the coreboot image.
1024
1025 If unsure, say N.
1026
1027config X86EMU_DEBUG_CHECK_VMEM_ACCESS
1028 bool "Log special memory accesses"
1029 default n
1030 depends on X86EMU_DEBUG
1031 help
1032 Print messages related to accesses to certain areas of the virtual
1033 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1034
1035 Note: This option will increase the size of the coreboot image.
1036
1037 If unsure, say N.
1038
1039config X86EMU_DEBUG_MEM
1040 bool "Log all memory accesses"
1041 default n
1042 depends on X86EMU_DEBUG
1043 help
1044 Print memory accesses made by option ROM.
1045 Note: This also includes accesses to fetch instructions.
1046
1047 Note: This option will increase the size of the coreboot image.
1048
1049 If unsure, say N.
1050
1051config X86EMU_DEBUG_IO
1052 bool "Log IO accesses"
1053 default n
1054 depends on X86EMU_DEBUG
1055 help
1056 Print I/O accesses made by option ROM.
1057
1058 Note: This option will increase the size of the coreboot image.
1059
1060 If unsure, say N.
1061
Denis 'GNUtoo' Carikli4cdc5d62013-05-15 00:19:49 +02001062config X86EMU_DEBUG_TIMINGS
1063 bool "Output timing information"
1064 default n
1065 depends on X86EMU_DEBUG && UDELAY_LAPIC && HAVE_MONOTONIC_TIMER
1066 help
1067 Print timing information needed by i915tool.
1068
1069 If unsure, say N.
1070
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001071config DEBUG_TPM
1072 bool "Output verbose TPM debug messages"
1073 default n
Vadim Bendebury26588702016-06-02 20:43:19 -07001074 depends on TPM || TPM2
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001075 help
1076 This option enables additional TPM related debug messages.
1077
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07001078config DEBUG_SPI_FLASH
1079 bool "Output verbose SPI flash debug messages"
1080 default n
1081 depends on SPI_FLASH
1082 help
1083 This option enables additional SPI flash related debug messages.
1084
Kyösti Mälkki3be80cc2013-06-06 10:46:37 +03001085config DEBUG_USBDEBUG
1086 bool "Output verbose USB 2.0 EHCI debug dongle messages"
1087 default n
1088 depends on USBDEBUG
1089 help
1090 This option enables additional USB 2.0 debug dongle related messages.
1091
1092 Select this to debug the connection of usbdebug dongle. Note that
1093 you need some other working console to receive the messages.
1094
Stefan Reinauer8e073822012-04-04 00:07:22 +02001095if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1096# Only visible with the right southbridge and loglevel.
1097config DEBUG_INTEL_ME
1098 bool "Verbose logging for Intel Management Engine"
1099 default n
1100 help
1101 Enable verbose logging for Intel Management Engine driver that
1102 is present on Intel 6-series chipsets.
1103endif
1104
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001105config TRACE
1106 bool "Trace function calls"
1107 default n
1108 help
1109 If enabled, every function will print information to console once
1110 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
1111 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
Ben Gardner8420ad42015-11-18 10:46:53 -06001112 of calling function. Please note some printk related functions
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001113 are omitted from trace to have good looking console dumps.
Stefan Reinauerd37ab452012-12-18 16:23:28 -08001114
1115config DEBUG_COVERAGE
1116 bool "Debug code coverage"
1117 default n
1118 depends on COVERAGE
1119 help
1120 If enabled, the code coverage hooks in coreboot will output some
1121 information about the coverage data that is dumped.
1122
Jonathan Neuschäferfc04f9b2016-06-29 21:59:32 +02001123config DEBUG_BOOT_STATE
1124 bool "Debug boot state machine"
1125 default n
1126 help
1127 Control debugging of the boot state machine. When selected displays
1128 the state boundaries in ramstage.
1129
Jonathan Neuschäfer538e4462016-08-22 19:37:15 +02001130config DEBUG_PRINT_PAGE_TABLES
1131 bool "Print the page tables after construction"
1132 default n
1133 depends on ARCH_RISCV
1134 help
1135 After the page tables have been built, print them on the debug
1136 console.
1137
Uwe Hermann168b11b2009-10-07 16:15:40 +00001138endmenu
1139
Myles Watsond73c1b52009-10-26 15:14:07 +00001140# These probably belong somewhere else, but they are needed somewhere.
Myles Watsond73c1b52009-10-26 15:14:07 +00001141config ENABLE_APIC_EXT_ID
1142 bool
1143 default n
Myles Watson2e672732009-11-12 16:38:03 +00001144
1145config WARNINGS_ARE_ERRORS
1146 bool
Edward O'Callaghan63f6dc72014-11-18 03:17:54 +11001147 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +00001148
Peter Stuge51eafde2010-10-13 06:23:02 +00001149# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1150# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1151# mutually exclusive. One of these options must be selected in the
1152# mainboard Kconfig if the chipset supports enabling and disabling of
1153# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1154# in mainboard/Kconfig to know if the button should be enabled or not.
1155
1156config POWER_BUTTON_DEFAULT_ENABLE
1157 def_bool n
1158 help
1159 Select when the board has a power button which can optionally be
1160 disabled by the user.
1161
1162config POWER_BUTTON_DEFAULT_DISABLE
1163 def_bool n
1164 help
1165 Select when the board has a power button which can optionally be
1166 enabled by the user, e.g. when the board ships with a jumper over
1167 the power switch contacts.
1168
1169config POWER_BUTTON_FORCE_ENABLE
1170 def_bool n
1171 help
1172 Select when the board requires that the power button is always
1173 enabled.
1174
1175config POWER_BUTTON_FORCE_DISABLE
1176 def_bool n
1177 help
1178 Select when the board requires that the power button is always
1179 disabled, e.g. when it has been hardwired to ground.
1180
1181config POWER_BUTTON_IS_OPTIONAL
1182 bool
1183 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1184 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1185 help
1186 Internal option that controls ENABLE_POWER_BUTTON visibility.
Duncan Laurie72748002013-10-31 08:26:23 -07001187
1188config REG_SCRIPT
1189 bool
Duncan Laurie72748002013-10-31 08:26:23 -07001190 default n
1191 help
1192 Internal option that controls whether we compile in register scripts.
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001193
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001194config MAX_REBOOT_CNT
1195 int
1196 default 3
Timothy Pearson17ada2e2015-03-18 01:31:34 -05001197 help
1198 Internal option that sets the maximum number of bootblock executions allowed
1199 with the normal image enabled before assuming the normal image is defective
Vadim Bendebury9c9c3362014-07-23 09:40:02 -07001200 and switching to the fallback image.
Martin Roth59ff3402016-02-09 09:06:46 -07001201
1202config CBFS_SIZE
1203 hex
1204 default ROM_SIZE
1205 help
1206 This is the part of the ROM actually managed by CBFS. Set it to be
Elyes HAOUAS45de1fe2016-07-29 07:31:54 +02001207 equal to the full ROM size if that hasn't been overridden by the
Martin Roth59ff3402016-02-09 09:06:46 -07001208 chipset or mainboard.
Lee Leahy10605352016-02-14 17:01:40 -08001209
Lee Leahyfc3741f2016-05-26 17:12:17 -07001210config CREATE_BOARD_CHECKLIST
1211 bool
1212 default n
1213 help
1214 When selected, creates a webpage showing the implementation status for
1215 the board. Routines highlighted in green are complete, yellow are
1216 optional and red are required and must be implemented. A table is
1217 produced for each stage of the boot process except the bootblock. The
1218 red items may be used as an implementation checklist for the board.
1219
1220config MAKE_CHECKLIST_PUBLIC
1221 bool
1222 default n
1223 help
1224 When selected, build/$(CONFIG_MAINBOARD_PART_NUMBER)_checklist.html
1225 is copied into the Documentation/$(CONFIG_MAINBOARD_VENDOR)/Board
1226 directory.
1227
1228config CHECKLIST_DATA_FILE_LOCATION
1229 string
1230 help
1231 Location of the <stage>_complete.dat and <stage>_optional.dat files
1232 that are consumed during checklist processing. <stage>_complete.dat
1233 contains the symbols that are expected to be in the resulting image.
1234 <stage>_optional.dat is a subset of <stage>_complete.dat and contains
1235 a list of weak symbols which the resulting image may consume. Other
1236 symbols contained only in <stage>_complete.dat will be flagged as
1237 required and not implemented if a weak implementation is found in the
1238 resulting image.