blob: be38af130133a45551fd2094820b38d9bbfdb90d [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
Kyösti Mälkkibac0fad2016-11-20 11:40:37 +0200534 default y if MMCONF_SUPPORT_DEFAULT
Patrick Georgi0588d192009-08-12 15:00:51 +0000535 default n
536
Stefan Reinauera48ca842015-04-04 01:58:28 +0200537source "src/console/Kconfig"
Patrick Georgi0588d192009-08-12 15:00:51 +0000538
539config HAVE_ACPI_RESUME
540 bool
541 default n
542
Kyösti Mälkki9d6f3652016-06-28 07:38:46 +0300543config ACPI_TINY_LOWMEM_BACKUP
544 bool
545 default n
546 help
547 On S3 resume path, backup only the region of low memory ramstage
548 will occupy. Requires platform places romstage ramstack in CBMEM.
549
550config ACPI_HUGE_LOWMEM_BACKUP
551 bool
552 default !ACPI_TINY_LOWMEM_BACKUP
553 help
554 On S3 resume path, backup low memory from RAMBASE..RAMTOP in CBMEM.
555
Aaron Durbin87c9fae2016-01-22 15:26:04 -0600556config RESUME_PATH_SAME_AS_BOOT
557 bool
558 default y if ARCH_X86
559 depends on HAVE_ACPI_RESUME
560 help
561 This option indicates that when a system resumes it takes the
562 same path as a regular boot. e.g. an x86 system runs from the
563 reset vector at 0xfffffff0 on both resume and warm/cold boot.
564
Patrick Georgi0588d192009-08-12 15:00:51 +0000565config HAVE_HARD_RESET
566 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000567 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000568 help
569 This variable specifies whether a given board has a hard_reset
570 function, no matter if it's provided by board code or chipset code.
571
Timothy Pearson44d53422015-05-18 16:04:10 -0500572config HAVE_ROMSTAGE_CONSOLE_SPINLOCK
573 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300574 depends on EARLY_CBMEM_INIT
Timothy Pearson44d53422015-05-18 16:04:10 -0500575 default n
576
Timothy Pearson7b22d842015-08-28 19:52:05 -0500577config HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK
578 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300579 depends on EARLY_CBMEM_INIT
Timothy Pearson7b22d842015-08-28 19:52:05 -0500580 default n
581 help
582 This should be enabled on certain plaforms, such as the AMD
583 SR565x, that cannot handle concurrent CBFS accesses from
584 multiple APs during early startup.
585
Timothy Pearsonc764c742015-08-28 20:48:17 -0500586config HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK
587 bool
Kyösti Mälkkib5664de2016-07-08 13:33:00 +0300588 depends on EARLY_CBMEM_INIT
Timothy Pearsonc764c742015-08-28 20:48:17 -0500589 default n
590
Aaron Durbina4217912013-04-29 22:31:51 -0500591config HAVE_MONOTONIC_TIMER
592 def_bool n
593 help
594 The board/chipset provides a monotonic timer.
595
Aaron Durbine5e36302014-09-25 10:05:15 -0500596config GENERIC_UDELAY
597 def_bool n
598 depends on HAVE_MONOTONIC_TIMER
599 help
600 The board/chipset uses a generic udelay function utilizing the
601 monotonic timer.
602
Aaron Durbin340ca912013-04-30 09:58:12 -0500603config TIMER_QUEUE
604 def_bool n
605 depends on HAVE_MONOTONIC_TIMER
606 help
Kyösti Mälkkiecd84242013-09-13 07:57:49 +0300607 Provide a timer queue for performing time-based callbacks.
Aaron Durbin340ca912013-04-30 09:58:12 -0500608
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500609config COOP_MULTITASKING
610 def_bool n
Aaron Durbin38c326d2013-05-06 12:22:23 -0500611 depends on TIMER_QUEUE && ARCH_X86
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500612 help
613 Cooperative multitasking allows callbacks to be multiplexed on the
614 main thread of ramstage. With this enabled it allows for multiple
615 execution paths to take place when they have udelay() calls within
616 their code.
617
618config NUM_THREADS
619 int
620 default 4
621 depends on COOP_MULTITASKING
622 help
623 How many execution threads to cooperatively multitask with.
624
Patrick Georgi0588d192009-08-12 15:00:51 +0000625config HAVE_OPTION_TABLE
626 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000627 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000628 help
629 This variable specifies whether a given board has a cmos.layout
630 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000631 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000632
Patrick Georgi0588d192009-08-12 15:00:51 +0000633config PIRQ_ROUTE
634 bool
635 default n
636
637config HAVE_SMI_HANDLER
638 bool
639 default n
640
641config PCI_IO_CFG_EXT
642 bool
643 default n
644
645config IOAPIC
646 bool
647 default n
648
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200649config CACHE_ROM_SIZE_OVERRIDE
Stefan Reinauer5b635792012-08-16 14:05:42 -0700650 hex
Martin Roth3b878122016-09-30 14:43:01 -0600651 default 0x0
Stefan Reinauer5b635792012-08-16 14:05:42 -0700652
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000653# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000654config VIDEO_MB
655 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000656 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000657
Myles Watson45bb25f2009-09-22 18:49:08 +0000658config USE_WATCHDOG_ON_BOOT
659 bool
660 default n
661
662config VGA
663 bool
664 default n
665 help
666 Build board-specific VGA code.
667
668config GFXUMA
669 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000670 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000671 help
672 Enable Unified Memory Architecture for graphics.
673
Myles Watsonb8e20272009-10-15 13:35:47 +0000674config HAVE_ACPI_TABLES
675 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000676 help
677 This variable specifies whether a given board has ACPI table support.
678 It is usually set in mainboard/*/Kconfig.
Myles Watsonb8e20272009-10-15 13:35:47 +0000679
680config HAVE_MP_TABLE
681 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000682 help
683 This variable specifies whether a given board has MP table support.
684 It is usually set in mainboard/*/Kconfig.
685 Whether or not the MP table is actually generated by coreboot
686 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000687
688config HAVE_PIRQ_TABLE
689 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000690 help
691 This variable specifies whether a given board has PIRQ table support.
692 It is usually set in mainboard/*/Kconfig.
693 Whether or not the PIRQ table is actually generated by coreboot
694 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000695
Alexandru Gagniuc70c660f2012-08-23 02:32:58 -0500696config MAX_PIRQ_LINKS
697 int
698 default 4
699 help
700 This variable specifies the number of PIRQ interrupt links which are
701 routable. On most chipsets, this is 4, INTA through INTD. Some
702 chipsets offer more than four links, commonly up to INTH. They may
703 also have a separate link for ATA or IOAPIC interrupts. When the PIRQ
704 table specifies links greater than 4, pirq_route_irqs will not
705 function properly, unless this variable is correctly set.
706
Vladimir Serbinenkoc21e0732014-10-16 12:48:19 +0200707config COMMON_FADT
708 bool
709 default n
710
Aaron Durbin9420a522015-11-17 16:31:00 -0600711config ACPI_NHLT
712 bool
713 default n
714 help
715 Build support for NHLT (non HD Audio) ACPI table generation.
716
Myles Watsond73c1b52009-10-26 15:14:07 +0000717#These Options are here to avoid "undefined" warnings.
718#The actual selection and help texts are in the following menu.
719
Uwe Hermann168b11b2009-10-07 16:15:40 +0000720menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000721
Myles Watsonb8e20272009-10-15 13:35:47 +0000722config GENERATE_MP_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800723 prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
724 bool
725 default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000726 help
727 Generate an MP table (conforming to the Intel MultiProcessor
728 specification 1.4) for this board.
729
730 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000731
Myles Watsonb8e20272009-10-15 13:35:47 +0000732config GENERATE_PIRQ_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800733 prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
734 bool
735 default HAVE_PIRQ_TABLE
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000736 help
737 Generate a PIRQ table for this board.
738
739 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000740
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200741config GENERATE_SMBIOS_TABLES
742 depends on ARCH_X86
743 bool "Generate SMBIOS tables"
744 default y
745 help
746 Generate SMBIOS tables for this board.
747
748 If unsure, say Y.
749
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200750config SMBIOS_PROVIDED_BY_MOBO
751 bool
752 default n
753
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200754config MAINBOARD_SERIAL_NUMBER
755 string "SMBIOS Serial Number"
756 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200757 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200758 default "123456789"
Martin Roth595e7772015-04-26 18:53:26 -0600759 help
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200760 The Serial Number to store in SMBIOS structures.
761
762config MAINBOARD_VERSION
763 string "SMBIOS Version Number"
764 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200765 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200766 default "1.0"
767 help
768 The Version Number to store in SMBIOS structures.
769
770config MAINBOARD_SMBIOS_MANUFACTURER
771 string "SMBIOS Manufacturer"
772 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200773 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200774 default MAINBOARD_VENDOR
775 help
776 Override the default Manufacturer stored in SMBIOS structures.
777
778config MAINBOARD_SMBIOS_PRODUCT_NAME
779 string "SMBIOS Product name"
780 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200781 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200782 default MAINBOARD_PART_NUMBER
783 help
784 Override the default Product name stored in SMBIOS structures.
785
Myles Watson45bb25f2009-09-22 18:49:08 +0000786endmenu
787
Martin Roth21c06502016-02-04 19:52:27 -0700788source "payloads/Kconfig"
Peter Stugea758ca22009-09-17 16:21:31 +0000789
Uwe Hermann168b11b2009-10-07 16:15:40 +0000790menu "Debugging"
791
792# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000793config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000794 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200795 default n
Denis 'GNUtoo' Carikli3747ba12015-12-10 22:04:56 +0100796 depends on CONSOLE_SERIAL
Patrick Georgi0588d192009-08-12 15:00:51 +0000797 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000798 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000799 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000800
Denis 'GNUtoo' Cariklie4cece02012-06-22 15:56:37 +0200801config GDB_WAIT
802 bool "Wait for a GDB connection"
803 default n
804 depends on GDB_STUB
805 help
806 If enabled, coreboot will wait for a GDB connection.
807
Julius Wernerd82e0cf2015-02-17 17:27:23 -0800808config FATAL_ASSERTS
809 bool "Halt when hitting a BUG() or assertion error"
810 default n
811 help
812 If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
813
Stefan Reinauerfe422182012-05-02 16:33:18 -0700814config DEBUG_CBFS
815 bool "Output verbose CBFS debug messages"
816 default n
Stefan Reinauerfe422182012-05-02 16:33:18 -0700817 help
818 This option enables additional CBFS related debug messages.
819
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000820config HAVE_DEBUG_RAM_SETUP
821 def_bool n
822
Uwe Hermann01ce6012010-03-05 10:03:50 +0000823config DEBUG_RAM_SETUP
824 bool "Output verbose RAM init debug messages"
825 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000826 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000827 help
828 This option enables additional RAM init related debug messages.
829 It is recommended to enable this when debugging issues on your
830 board which might be RAM init related.
831
832 Note: This option will increase the size of the coreboot image.
833
834 If unsure, say N.
835
Patrick Georgie82618d2010-10-01 14:50:12 +0000836config HAVE_DEBUG_CAR
837 def_bool n
838
Peter Stuge5015f792010-11-10 02:00:32 +0000839config DEBUG_CAR
840 def_bool n
841 depends on HAVE_DEBUG_CAR
842
843if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000844# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
845# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000846config DEBUG_CAR
847 bool "Output verbose Cache-as-RAM debug messages"
848 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000849 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000850 help
851 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000852endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000853
Myles Watson80e914ff2010-06-01 19:25:31 +0000854config DEBUG_PIRQ
855 bool "Check PIRQ table consistency"
856 default n
857 depends on GENERATE_PIRQ_TABLE
858 help
859 If unsure, say N.
860
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000861config HAVE_DEBUG_SMBUS
862 def_bool n
863
Uwe Hermann01ce6012010-03-05 10:03:50 +0000864config DEBUG_SMBUS
865 bool "Output verbose SMBus debug messages"
866 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000867 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000868 help
869 This option enables additional SMBus (and SPD) debug messages.
870
871 Note: This option will increase the size of the coreboot image.
872
873 If unsure, say N.
874
875config DEBUG_SMI
876 bool "Output verbose SMI debug messages"
877 default n
878 depends on HAVE_SMI_HANDLER
Martin Roth3a543182015-09-28 15:27:24 -0600879 select SPI_FLASH_SMM if SPI_CONSOLE
Uwe Hermann01ce6012010-03-05 10:03:50 +0000880 help
881 This option enables additional SMI related debug messages.
882
883 Note: This option will increase the size of the coreboot image.
884
885 If unsure, say N.
886
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000887config DEBUG_SMM_RELOCATION
888 bool "Debug SMM relocation code"
889 default n
890 depends on HAVE_SMI_HANDLER
891 help
892 This option enables additional SMM handler relocation related
893 debug messages.
894
895 Note: This option will increase the size of the coreboot image.
896
897 If unsure, say N.
898
Uwe Hermanna953f372010-11-10 00:14:32 +0000899# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
900# printk(BIOS_DEBUG, ...) calls.
901config DEBUG_MALLOC
Stefan Reinauer95a63962012-11-13 17:00:01 -0800902 prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
903 bool
Uwe Hermanna953f372010-11-10 00:14:32 +0000904 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000905 help
906 This option enables additional malloc related debug messages.
907
908 Note: This option will increase the size of the coreboot image.
909
910 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300911
912# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
913# printk(BIOS_DEBUG, ...) calls.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300914config DEBUG_ACPI
Stefan Reinauer95a63962012-11-13 17:00:01 -0800915 prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
916 bool
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300917 default n
918 help
919 This option enables additional ACPI related debug messages.
920
921 Note: This option will slightly increase the size of the coreboot image.
922
923 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300924
Uwe Hermanna953f372010-11-10 00:14:32 +0000925# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
926# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000927config REALMODE_DEBUG
Stefan Reinauer95a63962012-11-13 17:00:01 -0800928 prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
929 bool
Myles Watson6c9bc012010-09-07 22:30:15 +0000930 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000931 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000932 help
933 This option enables additional x86emu related debug messages.
934
935 Note: This option will increase the time to emulate a ROM.
936
937 If unsure, say N.
938
Uwe Hermann01ce6012010-03-05 10:03:50 +0000939config X86EMU_DEBUG
940 bool "Output verbose x86emu debug messages"
941 default n
942 depends on PCI_OPTION_ROM_RUN_YABEL
943 help
944 This option enables additional x86emu related debug messages.
945
946 Note: This option will increase the size of the coreboot image.
947
948 If unsure, say N.
949
950config X86EMU_DEBUG_JMP
951 bool "Trace JMP/RETF"
952 default n
953 depends on X86EMU_DEBUG
954 help
955 Print information about JMP and RETF opcodes from x86emu.
956
957 Note: This option will increase the size of the coreboot image.
958
959 If unsure, say N.
960
961config X86EMU_DEBUG_TRACE
962 bool "Trace all opcodes"
963 default n
964 depends on X86EMU_DEBUG
965 help
966 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000967
Uwe Hermann01ce6012010-03-05 10:03:50 +0000968 WARNING: This will produce a LOT of output and take a long time.
969
970 Note: This option will increase the size of the coreboot image.
971
972 If unsure, say N.
973
974config X86EMU_DEBUG_PNP
975 bool "Log Plug&Play accesses"
976 default n
977 depends on X86EMU_DEBUG
978 help
979 Print Plug And Play accesses made by option ROMs.
980
981 Note: This option will increase the size of the coreboot image.
982
983 If unsure, say N.
984
985config X86EMU_DEBUG_DISK
986 bool "Log Disk I/O"
987 default n
988 depends on X86EMU_DEBUG
989 help
990 Print Disk I/O related messages.
991
992 Note: This option will increase the size of the coreboot image.
993
994 If unsure, say N.
995
996config X86EMU_DEBUG_PMM
997 bool "Log PMM"
998 default n
999 depends on X86EMU_DEBUG
1000 help
1001 Print messages related to POST Memory Manager (PMM).
1002
1003 Note: This option will increase the size of the coreboot image.
1004
1005 If unsure, say N.
1006
1007
1008config X86EMU_DEBUG_VBE
1009 bool "Debug VESA BIOS Extensions"
1010 default n
1011 depends on X86EMU_DEBUG
1012 help
1013 Print messages related to VESA BIOS Extension (VBE) functions.
1014
1015 Note: This option will increase the size of the coreboot image.
1016
1017 If unsure, say N.
1018
1019config X86EMU_DEBUG_INT10
1020 bool "Redirect INT10 output to console"
1021 default n
1022 depends on X86EMU_DEBUG
1023 help
1024 Let INT10 (i.e. character output) calls print messages to debug output.
1025
1026 Note: This option will increase the size of the coreboot image.
1027
1028 If unsure, say N.
1029
1030config X86EMU_DEBUG_INTERRUPTS
1031 bool "Log intXX calls"
1032 default n
1033 depends on X86EMU_DEBUG
1034 help
1035 Print messages related to interrupt handling.
1036
1037 Note: This option will increase the size of the coreboot image.
1038
1039 If unsure, say N.
1040
1041config X86EMU_DEBUG_CHECK_VMEM_ACCESS
1042 bool "Log special memory accesses"
1043 default n
1044 depends on X86EMU_DEBUG
1045 help
1046 Print messages related to accesses to certain areas of the virtual
1047 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1048
1049 Note: This option will increase the size of the coreboot image.
1050
1051 If unsure, say N.
1052
1053config X86EMU_DEBUG_MEM
1054 bool "Log all memory accesses"
1055 default n
1056 depends on X86EMU_DEBUG
1057 help
1058 Print memory accesses made by option ROM.
1059 Note: This also includes accesses to fetch instructions.
1060
1061 Note: This option will increase the size of the coreboot image.
1062
1063 If unsure, say N.
1064
1065config X86EMU_DEBUG_IO
1066 bool "Log IO accesses"
1067 default n
1068 depends on X86EMU_DEBUG
1069 help
1070 Print I/O accesses made by option ROM.
1071
1072 Note: This option will increase the size of the coreboot image.
1073
1074 If unsure, say N.
1075
Denis 'GNUtoo' Carikli4cdc5d62013-05-15 00:19:49 +02001076config X86EMU_DEBUG_TIMINGS
1077 bool "Output timing information"
1078 default n
1079 depends on X86EMU_DEBUG && UDELAY_LAPIC && HAVE_MONOTONIC_TIMER
1080 help
1081 Print timing information needed by i915tool.
1082
1083 If unsure, say N.
1084
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001085config DEBUG_TPM
1086 bool "Output verbose TPM debug messages"
1087 default n
Vadim Bendebury26588702016-06-02 20:43:19 -07001088 depends on TPM || TPM2
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001089 help
1090 This option enables additional TPM related debug messages.
1091
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07001092config DEBUG_SPI_FLASH
1093 bool "Output verbose SPI flash debug messages"
1094 default n
1095 depends on SPI_FLASH
1096 help
1097 This option enables additional SPI flash related debug messages.
1098
Kyösti Mälkki3be80cc2013-06-06 10:46:37 +03001099config DEBUG_USBDEBUG
1100 bool "Output verbose USB 2.0 EHCI debug dongle messages"
1101 default n
1102 depends on USBDEBUG
1103 help
1104 This option enables additional USB 2.0 debug dongle related messages.
1105
1106 Select this to debug the connection of usbdebug dongle. Note that
1107 you need some other working console to receive the messages.
1108
Stefan Reinauer8e073822012-04-04 00:07:22 +02001109if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1110# Only visible with the right southbridge and loglevel.
1111config DEBUG_INTEL_ME
1112 bool "Verbose logging for Intel Management Engine"
1113 default n
1114 help
1115 Enable verbose logging for Intel Management Engine driver that
1116 is present on Intel 6-series chipsets.
1117endif
1118
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001119config TRACE
1120 bool "Trace function calls"
1121 default n
1122 help
1123 If enabled, every function will print information to console once
1124 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
1125 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
Ben Gardner8420ad42015-11-18 10:46:53 -06001126 of calling function. Please note some printk related functions
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001127 are omitted from trace to have good looking console dumps.
Stefan Reinauerd37ab452012-12-18 16:23:28 -08001128
1129config DEBUG_COVERAGE
1130 bool "Debug code coverage"
1131 default n
1132 depends on COVERAGE
1133 help
1134 If enabled, the code coverage hooks in coreboot will output some
1135 information about the coverage data that is dumped.
1136
Jonathan Neuschäferfc04f9b2016-06-29 21:59:32 +02001137config DEBUG_BOOT_STATE
1138 bool "Debug boot state machine"
1139 default n
1140 help
1141 Control debugging of the boot state machine. When selected displays
1142 the state boundaries in ramstage.
1143
Jonathan Neuschäfer538e4462016-08-22 19:37:15 +02001144config DEBUG_PRINT_PAGE_TABLES
1145 bool "Print the page tables after construction"
1146 default n
1147 depends on ARCH_RISCV
1148 help
1149 After the page tables have been built, print them on the debug
1150 console.
1151
Nico Hubere84e6252016-10-05 17:43:56 +02001152config DEBUG_ADA_CODE
1153 bool "Compile debug code in Ada sources"
1154 default n
1155 help
1156 Add the compiler switch `-gnata` to compile code guarded by
1157 `pragma Debug`.
1158
Uwe Hermann168b11b2009-10-07 16:15:40 +00001159endmenu
1160
Myles Watsond73c1b52009-10-26 15:14:07 +00001161# These probably belong somewhere else, but they are needed somewhere.
Myles Watsond73c1b52009-10-26 15:14:07 +00001162config ENABLE_APIC_EXT_ID
1163 bool
1164 default n
Myles Watson2e672732009-11-12 16:38:03 +00001165
1166config WARNINGS_ARE_ERRORS
1167 bool
Edward O'Callaghan63f6dc72014-11-18 03:17:54 +11001168 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +00001169
Peter Stuge51eafde2010-10-13 06:23:02 +00001170# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1171# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1172# mutually exclusive. One of these options must be selected in the
1173# mainboard Kconfig if the chipset supports enabling and disabling of
1174# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1175# in mainboard/Kconfig to know if the button should be enabled or not.
1176
1177config POWER_BUTTON_DEFAULT_ENABLE
1178 def_bool n
1179 help
1180 Select when the board has a power button which can optionally be
1181 disabled by the user.
1182
1183config POWER_BUTTON_DEFAULT_DISABLE
1184 def_bool n
1185 help
1186 Select when the board has a power button which can optionally be
1187 enabled by the user, e.g. when the board ships with a jumper over
1188 the power switch contacts.
1189
1190config POWER_BUTTON_FORCE_ENABLE
1191 def_bool n
1192 help
1193 Select when the board requires that the power button is always
1194 enabled.
1195
1196config POWER_BUTTON_FORCE_DISABLE
1197 def_bool n
1198 help
1199 Select when the board requires that the power button is always
1200 disabled, e.g. when it has been hardwired to ground.
1201
1202config POWER_BUTTON_IS_OPTIONAL
1203 bool
1204 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1205 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1206 help
1207 Internal option that controls ENABLE_POWER_BUTTON visibility.
Duncan Laurie72748002013-10-31 08:26:23 -07001208
1209config REG_SCRIPT
1210 bool
Duncan Laurie72748002013-10-31 08:26:23 -07001211 default n
1212 help
1213 Internal option that controls whether we compile in register scripts.
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001214
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001215config MAX_REBOOT_CNT
1216 int
1217 default 3
Timothy Pearson17ada2e2015-03-18 01:31:34 -05001218 help
1219 Internal option that sets the maximum number of bootblock executions allowed
1220 with the normal image enabled before assuming the normal image is defective
Vadim Bendebury9c9c3362014-07-23 09:40:02 -07001221 and switching to the fallback image.
Martin Roth59ff3402016-02-09 09:06:46 -07001222
1223config CBFS_SIZE
1224 hex
1225 default ROM_SIZE
1226 help
1227 This is the part of the ROM actually managed by CBFS. Set it to be
Elyes HAOUAS45de1fe2016-07-29 07:31:54 +02001228 equal to the full ROM size if that hasn't been overridden by the
Martin Roth59ff3402016-02-09 09:06:46 -07001229 chipset or mainboard.
Lee Leahy10605352016-02-14 17:01:40 -08001230
Lee Leahyfc3741f2016-05-26 17:12:17 -07001231config CREATE_BOARD_CHECKLIST
1232 bool
1233 default n
1234 help
1235 When selected, creates a webpage showing the implementation status for
1236 the board. Routines highlighted in green are complete, yellow are
1237 optional and red are required and must be implemented. A table is
1238 produced for each stage of the boot process except the bootblock. The
1239 red items may be used as an implementation checklist for the board.
1240
1241config MAKE_CHECKLIST_PUBLIC
1242 bool
1243 default n
1244 help
1245 When selected, build/$(CONFIG_MAINBOARD_PART_NUMBER)_checklist.html
1246 is copied into the Documentation/$(CONFIG_MAINBOARD_VENDOR)/Board
1247 directory.
1248
1249config CHECKLIST_DATA_FILE_LOCATION
1250 string
1251 help
1252 Location of the <stage>_complete.dat and <stage>_optional.dat files
1253 that are consumed during checklist processing. <stage>_complete.dat
1254 contains the symbols that are expected to be in the resulting image.
1255 <stage>_optional.dat is a subset of <stage>_complete.dat and contains
1256 a list of weak symbols which the resulting image may consume. Other
1257 symbols contained only in <stage>_complete.dat will be flagged as
1258 required and not implemented if a weak implementation is found in the
1259 resulting image.
Nico Hubere0ed9022016-10-07 12:58:17 +02001260
1261config RAMSTAGE_ADA
1262 def_bool n
1263 help
1264 Selected by features that use Ada code in ramstage.