blob: 8a5d905a07237697fd34ba71614bf8b9a1cc711c [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##
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, write to the Free Software
Paul Menzela46a7122013-02-23 18:37:27 +010018## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Patrick Georgi0588d192009-08-12 15:00:51 +000019##
20
Uwe Hermannad8c95f2012-04-12 22:00:03 +020021mainmenu "coreboot configuration"
Patrick Georgi0588d192009-08-12 15:00:51 +000022
Uwe Hermannc04be932009-10-05 13:55:28 +000023menu "General setup"
24
Uwe Hermanna29ad5c2009-10-18 18:35:50 +000025config EXPERT
26 bool "Expert mode"
27 help
28 This allows you to select certain advanced configuration options.
29
30 Warning: Only enable this option if you really know what you are
31 doing! You have been warned!
32
Uwe Hermannc04be932009-10-05 13:55:28 +000033config LOCALVERSION
Uwe Hermann168b11b2009-10-07 16:15:40 +000034 string "Local version string"
Uwe Hermannc04be932009-10-05 13:55:28 +000035 help
36 Append an extra string to the end of the coreboot version.
37
Uwe Hermann168b11b2009-10-07 16:15:40 +000038 This can be useful if, for instance, you want to append the
39 respective board's hostname or some other identifying string to
40 the coreboot version number, so that you can easily distinguish
41 boot logs of different boards from each other.
42
Patrick Georgi4b8a2412010-02-09 19:35:16 +000043config CBFS_PREFIX
44 string "CBFS prefix to use"
45 default "fallback"
46 help
47 Select the prefix to all files put into the image. It's "fallback"
48 by default, "normal" is a common alternative.
49
Vadim Bendeburyadcb0952014-05-01 12:23:09 -070050config COMMON_CBFS_SPI_WRAPPER
51 bool
52 default n
53 depends on SPI_FLASH
54 depends on !ARCH_X86
55 help
56 Use common wrapper to interface CBFS to SPI bootrom.
57
Patrick Georgi23d89cc2010-03-16 01:17:19 +000058choice
Uwe Hermannad8c95f2012-04-12 22:00:03 +020059 prompt "Compiler to use"
Patrick Georgi23d89cc2010-03-16 01:17:19 +000060 default COMPILER_GCC
61 help
62 This option allows you to select the compiler used for building
63 coreboot.
64
65config COMPILER_GCC
66 bool "GCC"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020067 help
68 Use the GNU Compiler Collection (GCC) to build coreboot.
69
70 For details see http://gcc.gnu.org.
71
Patrick Georgi23d89cc2010-03-16 01:17:19 +000072config COMPILER_LLVM_CLANG
73 bool "LLVM/clang"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020074 help
75 Use LLVM/clang to build coreboot.
76
77 For details see http://clang.llvm.org.
78
Patrick Georgi23d89cc2010-03-16 01:17:19 +000079endchoice
80
Patrick Georgi9b0de712013-12-29 18:45:23 +010081config ANY_TOOLCHAIN
82 bool "Allow building with any toolchain"
83 default n
84 depends on COMPILER_GCC
85 help
86 Many toolchains break when building coreboot since it uses quite
87 unusual linker features. Unless developers explicitely request it,
88 we'll have to assume that they use their distro compiler by mistake.
89 Make sure that using patched compilers is a conscious decision.
90
Patrick Georgi516a2a72010-03-25 21:45:25 +000091config CCACHE
Uwe Hermannad8c95f2012-04-12 22:00:03 +020092 bool "Use ccache to speed up (re)compilation"
Patrick Georgi516a2a72010-03-25 21:45:25 +000093 default n
94 help
95 Enables the use of ccache for faster builds.
Uwe Hermannad8c95f2012-04-12 22:00:03 +020096
97 Requires the ccache utility in your system $PATH.
98
99 For details see https://ccache.samba.org.
Patrick Georgi516a2a72010-03-25 21:45:25 +0000100
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000101config SCONFIG_GENPARSER
102 bool "Generate SCONFIG parser using flex and bison"
103 default n
104 depends on EXPERT
105 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200106 Enable this option if you are working on the sconfig device tree
107 parser and made changes to sconfig.l and sconfig.y.
108
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000109 Otherwise, say N.
110
Joe Korty6d772522010-05-19 18:41:15 +0000111config USE_OPTION_TABLE
112 bool "Use CMOS for configuration values"
113 default n
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000114 depends on HAVE_OPTION_TABLE
Joe Korty6d772522010-05-19 18:41:15 +0000115 help
116 Enable this option if coreboot shall read options from the "CMOS"
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200117 NVRAM instead of using hard-coded values.
Joe Korty6d772522010-05-19 18:41:15 +0000118
Timothy Pearsonf20c6e82015-02-14 16:15:31 -0600119config STATIC_OPTION_TABLE
120 bool "Load default configuration values into CMOS on each boot"
121 default n
122 depends on USE_OPTION_TABLE
123 help
124 Enable this option to reset "CMOS" NVRAM values to default on
125 every boot. Use this if you want the NVRAM configuration to
126 never be modified from its default values.
127
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000128config COMPRESS_RAMSTAGE
129 bool "Compress ramstage with LZMA"
130 default y
131 help
132 Compress ramstage to save memory in the flash image. Note
133 that decompression might slow down booting if the boot flash
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200134 is connected through a slow link (i.e. SPI).
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000135
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200136config INCLUDE_CONFIG_FILE
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200137 bool "Include the coreboot .config file into the ROM image"
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200138 default y
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200139 help
140 Include the .config file that was used to compile coreboot
141 in the (CBFS) ROM image. This is useful if you want to know which
142 options were used to build a specific coreboot.rom image.
143
Daniele Forsi53847a22014-07-22 18:00:56 +0200144 Saying Y here will increase the image size by 2-3KB.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200145
146 You can use the following command to easily list the options:
147
148 grep -a CONFIG_ coreboot.rom
149
150 Alternatively, you can also use cbfstool to print the image
151 contents (including the raw 'config' item we're looking for).
152
153 Example:
154
155 $ cbfstool coreboot.rom print
156 coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
157 offset 0x0
158 Alignment: 64 bytes
Steve Goodrichf0269122012-05-18 11:18:47 -0600159
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200160 Name Offset Type Size
161 cmos_layout.bin 0x0 cmos layout 1159
162 fallback/romstage 0x4c0 stage 339756
Daniele Forsi53847a22014-07-22 18:00:56 +0200163 fallback/ramstage 0x53440 stage 186664
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200164 fallback/payload 0x80dc0 payload 51526
165 config 0x8d740 raw 3324
166 (empty) 0x8e480 null 3610440
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200167
Kyösti Mälkkif8bf5a12013-10-11 22:08:02 +0300168config EARLY_CBMEM_INIT
Kyösti Mälkki3bf38542014-12-18 22:22:04 +0200169 def_bool !LATE_CBMEM_INIT
170
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700171config COLLECT_TIMESTAMPS
172 bool "Create a table of timestamps collected during boot"
Kyösti Mälkki26447932013-10-11 21:14:59 +0300173 default n
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700174 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200175 Make coreboot create a table of timer-ID/timer-value pairs to
176 allow measuring time spent at different phases of the boot process.
177
Patrick Georgi7e9b9d82012-04-30 21:06:10 +0200178config USE_BLOBS
179 bool "Allow use of binary-only repository"
180 default n
181 help
182 This draws in the blobs repository, which contains binary files that
183 might be required for some chipsets or boards.
184 This flag ensures that a "Free" option remains available for users.
185
Stefan Reinauerd37ab452012-12-18 16:23:28 -0800186config COVERAGE
187 bool "Code coverage support"
188 depends on COMPILER_GCC
189 default n
190 help
191 Add code coverage support for coreboot. This will store code
192 coverage information in CBMEM for extraction from user space.
193 If unsure, say N.
194
Stefan Reinauer58470e32014-10-17 13:08:36 +0200195config RELOCATABLE_MODULES
196 bool "Relocatable Modules"
197 default n
198 help
199 If RELOCATABLE_MODULES is selected then support is enabled for
200 building relocatable modules in the RAM stage. Those modules can be
201 loaded anywhere and all the relocations are handled automatically.
202
203config RELOCATABLE_RAMSTAGE
Kyösti Mälkkiae98e832014-11-28 11:24:19 +0200204 depends on (RELOCATABLE_MODULES && EARLY_CBMEM_INIT)
Stefan Reinauer58470e32014-10-17 13:08:36 +0200205 bool "Build the ramstage to be relocatable in 32-bit address space."
206 default n
207 help
208 The reloctable ramstage support allows for the ramstage to be built
209 as a relocatable module. The stage loader can identify a place
210 out of the OS way so that copying memory is unnecessary during an S3
211 wake. When selecting this option the romstage is responsible for
212 determing a stack location to use for loading the ramstage.
213
214config CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
215 depends on RELOCATABLE_RAMSTAGE
216 bool "Cache the relocated ramstage outside of cbmem."
217 default n
218 help
219 The relocated ramstage is saved in an area specified by the
220 by the board and/or chipset.
221
222choice
223 prompt "Bootblock behaviour"
224 default BOOTBLOCK_SIMPLE
225
226config BOOTBLOCK_SIMPLE
227 bool "Always load fallback"
228
229config BOOTBLOCK_NORMAL
230 bool "Switch to normal if CMOS says so"
231
232endchoice
233
234config BOOTBLOCK_SOURCE
235 string
236 default "bootblock_simple.c" if BOOTBLOCK_SIMPLE
237 default "bootblock_normal.c" if BOOTBLOCK_NORMAL
238
Timothy Pearson44724082015-03-16 11:47:45 -0500239config SKIP_MAX_REBOOT_CNT_CLEAR
240 bool "Do not clear reboot count after successful boot"
241 default n
242 depends on EXPERT
243 help
244 Do not clear the reboot count immediately after successful boot.
245 Set to allow the payload to control normal/fallback image recovery.
246
Stefan Reinauer58470e32014-10-17 13:08:36 +0200247config UPDATE_IMAGE
248 bool "Update existing coreboot.rom image"
249 default n
250 help
251 If this option is enabled, no new coreboot.rom file
252 is created. Instead it is expected that there already
253 is a suitable file for further processing.
254 The bootblock will not be modified.
255
David Hendricks627b3bd2014-11-03 17:42:09 -0800256config RAM_CODE_SUPPORT
257 bool "Discover RAM configuration code and store it in coreboot table"
258 default n
259 help
260 If enabled, coreboot discovers RAM configuration (value obtained by
261 reading board straps) and stores it in coreboot table.
262
Uwe Hermannc04be932009-10-05 13:55:28 +0000263endmenu
264
Stefan Reinauera48ca842015-04-04 01:58:28 +0200265source "src/mainboard/Kconfig"
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000266
Stefan Reinauera48ca842015-04-04 01:58:28 +0200267source "src/arch/*/Kconfig"
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800268
Stefan Reinauera48ca842015-04-04 01:58:28 +0200269source "src/vendorcode/*/Kconfig"
Peter Stuge4d77ed92014-02-07 03:58:24 +0100270
Vladimir Serbinenkoa9db82f2014-10-16 13:21:47 +0200271config SYSTEM_TYPE_LAPTOP
272 default n
273 bool
274
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000275menu "Chipset"
276
277comment "CPU"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200278source "src/cpu/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000279comment "Northbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200280source "src/northbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000281comment "Southbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200282source "src/southbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000283comment "Super I/O"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200284source "src/superio/*/Kconfig"
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000285comment "Embedded Controllers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200286source "src/ec/acpi/Kconfig"
287source "src/ec/*/*/Kconfig"
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500288comment "SoC"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200289source "src/soc/*/*/Kconfig"
290source "src/drivers/intel/fsp/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000291
292endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000293
Stefan Reinauera48ca842015-04-04 01:58:28 +0200294source "src/device/Kconfig"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800295
Rudolf Marekd9c25492010-05-16 15:31:53 +0000296menu "Generic Drivers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200297source "src/drivers/*/Kconfig"
Rudolf Marekd9c25492010-05-16 15:31:53 +0000298endmenu
299
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700300config TPM
301 bool
302 default n
303 select LPC_TPM if ARCH_X86
Gabe Black51edd542013-09-30 23:00:33 -0700304 select I2C_TPM if ARCH_ARM
Furquan Shaikh2af76f42014-04-28 16:39:40 -0700305 select I2C_TPM if ARCH_ARM64
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700306 help
307 Enable this option to enable TPM support in coreboot.
308
309 If unsure, say N.
310
Kyösti Mälkkieaee6e22014-04-30 01:35:29 +0300311config RAMTOP
312 hex
313 default 0x200000
314 depends on ARCH_X86
315
Patrick Georgi0588d192009-08-12 15:00:51 +0000316config HEAP_SIZE
317 hex
Myles Watson04000f42009-10-16 19:12:49 +0000318 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000319
Julius Wernerc3e7c4e2014-09-19 13:18:16 -0700320config STACK_SIZE
321 hex
322 default 0x1000
323
Patrick Georgi0588d192009-08-12 15:00:51 +0000324config MAX_CPUS
325 int
326 default 1
327
328config MMCONF_SUPPORT_DEFAULT
329 bool
330 default n
331
332config MMCONF_SUPPORT
333 bool
334 default n
335
Kyösti Mälkki5687fc92013-11-28 18:11:49 +0200336config BOOTMODE_STRAPS
337 bool
338 default n
339
Stefan Reinauera48ca842015-04-04 01:58:28 +0200340source "src/console/Kconfig"
Patrick Georgi0588d192009-08-12 15:00:51 +0000341
342config HAVE_ACPI_RESUME
343 bool
344 default n
345
Stefan Reinauerc4f1a772010-06-05 10:03:08 +0000346config HAVE_ACPI_SLIC
347 bool
348 default n
349
Patrick Georgi0588d192009-08-12 15:00:51 +0000350config HAVE_HARD_RESET
351 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000352 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000353 help
354 This variable specifies whether a given board has a hard_reset
355 function, no matter if it's provided by board code or chipset code.
356
Aaron Durbina4217912013-04-29 22:31:51 -0500357config HAVE_MONOTONIC_TIMER
358 def_bool n
359 help
360 The board/chipset provides a monotonic timer.
361
Aaron Durbine5e36302014-09-25 10:05:15 -0500362config GENERIC_UDELAY
363 def_bool n
364 depends on HAVE_MONOTONIC_TIMER
365 help
366 The board/chipset uses a generic udelay function utilizing the
367 monotonic timer.
368
Aaron Durbin340ca912013-04-30 09:58:12 -0500369config TIMER_QUEUE
370 def_bool n
371 depends on HAVE_MONOTONIC_TIMER
372 help
Kyösti Mälkkiecd84242013-09-13 07:57:49 +0300373 Provide a timer queue for performing time-based callbacks.
Aaron Durbin340ca912013-04-30 09:58:12 -0500374
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500375config COOP_MULTITASKING
376 def_bool n
Aaron Durbin38c326d2013-05-06 12:22:23 -0500377 depends on TIMER_QUEUE && ARCH_X86
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500378 help
379 Cooperative multitasking allows callbacks to be multiplexed on the
380 main thread of ramstage. With this enabled it allows for multiple
381 execution paths to take place when they have udelay() calls within
382 their code.
383
384config NUM_THREADS
385 int
386 default 4
387 depends on COOP_MULTITASKING
388 help
389 How many execution threads to cooperatively multitask with.
390
Patrick Georgi0588d192009-08-12 15:00:51 +0000391config HAVE_OPTION_TABLE
392 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000393 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000394 help
395 This variable specifies whether a given board has a cmos.layout
396 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000397 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000398
Patrick Georgi0588d192009-08-12 15:00:51 +0000399config PIRQ_ROUTE
400 bool
401 default n
402
403config HAVE_SMI_HANDLER
404 bool
405 default n
406
407config PCI_IO_CFG_EXT
408 bool
409 default n
410
411config IOAPIC
412 bool
413 default n
414
Stefan Reinauer5b635792012-08-16 14:05:42 -0700415config CBFS_SIZE
Julius Wernerf780c402014-11-10 13:11:50 -0800416 hex "Size of CBFS filesystem in ROM"
Stefan Reinauer5b635792012-08-16 14:05:42 -0700417 default ROM_SIZE
Julius Wernerf780c402014-11-10 13:11:50 -0800418 help
419 This is the part of the ROM actually managed by CBFS, located at the
420 end of the ROM (passed through cbfstool -o) on x86 and at at the start
421 of the ROM (passed through cbfstool -s) everywhere else. Defaults to
422 span the whole ROM but can be overwritten to make coreboot live
423 alongside other components (like ChromeOS's vboot/FMAP).
Stefan Reinauer5b635792012-08-16 14:05:42 -0700424
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200425config CACHE_ROM_SIZE_OVERRIDE
Stefan Reinauer5b635792012-08-16 14:05:42 -0700426 hex
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200427 default 0
Stefan Reinauer5b635792012-08-16 14:05:42 -0700428
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000429# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000430config VIDEO_MB
431 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000432 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000433
Myles Watson45bb25f2009-09-22 18:49:08 +0000434config USE_WATCHDOG_ON_BOOT
435 bool
436 default n
437
438config VGA
439 bool
440 default n
441 help
442 Build board-specific VGA code.
443
444config GFXUMA
445 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000446 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000447 help
448 Enable Unified Memory Architecture for graphics.
449
Myles Watsonb8e20272009-10-15 13:35:47 +0000450config HAVE_ACPI_TABLES
451 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000452 help
453 This variable specifies whether a given board has ACPI table support.
454 It is usually set in mainboard/*/Kconfig.
Myles Watsonb8e20272009-10-15 13:35:47 +0000455
456config HAVE_MP_TABLE
457 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000458 help
459 This variable specifies whether a given board has MP table support.
460 It is usually set in mainboard/*/Kconfig.
461 Whether or not the MP table is actually generated by coreboot
462 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000463
464config HAVE_PIRQ_TABLE
465 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000466 help
467 This variable specifies whether a given board has PIRQ table support.
468 It is usually set in mainboard/*/Kconfig.
469 Whether or not the PIRQ table is actually generated by coreboot
470 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000471
Alexandru Gagniuc70c660f2012-08-23 02:32:58 -0500472config MAX_PIRQ_LINKS
473 int
474 default 4
475 help
476 This variable specifies the number of PIRQ interrupt links which are
477 routable. On most chipsets, this is 4, INTA through INTD. Some
478 chipsets offer more than four links, commonly up to INTH. They may
479 also have a separate link for ATA or IOAPIC interrupts. When the PIRQ
480 table specifies links greater than 4, pirq_route_irqs will not
481 function properly, unless this variable is correctly set.
482
Vladimir Serbinenko2d7bd8a2014-08-30 19:28:05 +0200483config PER_DEVICE_ACPI_TABLES
484 bool
485 default n
486
Vladimir Serbinenkoc21e0732014-10-16 12:48:19 +0200487config COMMON_FADT
488 bool
489 default n
490
Myles Watsond73c1b52009-10-26 15:14:07 +0000491#These Options are here to avoid "undefined" warnings.
492#The actual selection and help texts are in the following menu.
493
Uwe Hermann168b11b2009-10-07 16:15:40 +0000494menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000495
Myles Watsonb8e20272009-10-15 13:35:47 +0000496config GENERATE_MP_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800497 prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
498 bool
499 default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000500 help
501 Generate an MP table (conforming to the Intel MultiProcessor
502 specification 1.4) for this board.
503
504 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000505
Myles Watsonb8e20272009-10-15 13:35:47 +0000506config GENERATE_PIRQ_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800507 prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
508 bool
509 default HAVE_PIRQ_TABLE
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000510 help
511 Generate a PIRQ table for this board.
512
513 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000514
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200515config GENERATE_SMBIOS_TABLES
516 depends on ARCH_X86
517 bool "Generate SMBIOS tables"
518 default y
519 help
520 Generate SMBIOS tables for this board.
521
522 If unsure, say Y.
523
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200524config MAINBOARD_SERIAL_NUMBER
525 string "SMBIOS Serial Number"
526 depends on GENERATE_SMBIOS_TABLES
527 default "123456789"
528 help
529 The Serial Number to store in SMBIOS structures.
530
531config MAINBOARD_VERSION
532 string "SMBIOS Version Number"
533 depends on GENERATE_SMBIOS_TABLES
534 default "1.0"
535 help
536 The Version Number to store in SMBIOS structures.
537
538config MAINBOARD_SMBIOS_MANUFACTURER
539 string "SMBIOS Manufacturer"
540 depends on GENERATE_SMBIOS_TABLES
541 default MAINBOARD_VENDOR
542 help
543 Override the default Manufacturer stored in SMBIOS structures.
544
545config MAINBOARD_SMBIOS_PRODUCT_NAME
546 string "SMBIOS Product name"
547 depends on GENERATE_SMBIOS_TABLES
548 default MAINBOARD_PART_NUMBER
549 help
550 Override the default Product name stored in SMBIOS structures.
551
Myles Watson45bb25f2009-09-22 18:49:08 +0000552endmenu
553
Patrick Georgi0588d192009-08-12 15:00:51 +0000554menu "Payload"
555
Patrick Georgi0588d192009-08-12 15:00:51 +0000556choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000557 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000558 default PAYLOAD_NONE if !ARCH_X86
559 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000560
Uwe Hermann168b11b2009-10-07 16:15:40 +0000561config PAYLOAD_NONE
562 bool "None"
563 help
564 Select this option if you want to create an "empty" coreboot
565 ROM image for a certain mainboard, i.e. a coreboot ROM image
566 which does not yet contain a payload.
567
568 For such an image to be useful, you have to use 'cbfstool'
569 to add a payload to the ROM image later.
570
Patrick Georgi0588d192009-08-12 15:00:51 +0000571config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000572 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000573 help
574 Select this option if you have a payload image (an ELF file)
575 which coreboot should run as soon as the basic hardware
576 initialization is completed.
577
578 You will be able to specify the location and file name of the
579 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000580
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200581config PAYLOAD_LINUX
582 bool "A Linux payload"
583 help
584 Select this option if you have a Linux bzImage which coreboot
585 should run as soon as the basic hardware initialization
586 is completed.
587
588 You will be able to specify the location and file name of the
589 payload image later.
590
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000591config PAYLOAD_SEABIOS
592 bool "SeaBIOS"
593 depends on ARCH_X86
594 help
595 Select this option if you want to build a coreboot image
596 with a SeaBIOS payload. If you don't know what this is
597 about, just leave it enabled.
598
599 See http://coreboot.org/Payloads for more information.
600
Stefan Reinauere50952f2011-04-15 03:34:05 +0000601config PAYLOAD_FILO
602 bool "FILO"
603 help
604 Select this option if you want to build a coreboot image
605 with a FILO payload. If you don't know what this is
606 about, just leave it enabled.
607
608 See http://coreboot.org/Payloads for more information.
609
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100610config PAYLOAD_GRUB2
611 bool "GRUB2"
612 help
613 Select this option if you want to build a coreboot image
614 with a GRUB2 payload. If you don't know what this is
615 about, just leave it enabled.
616
617 See http://coreboot.org/Payloads for more information.
618
Stefan Reinauercc5b3442013-01-15 17:02:58 -0800619config PAYLOAD_TIANOCORE
620 bool "Tiano Core"
621 help
622 Select this option if you want to build a coreboot image
623 with a Tiano Core payload. If you don't know what this is
624 about, just leave it enabled.
625
626 See http://coreboot.org/Payloads for more information.
627
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000628endchoice
629
630choice
631 prompt "SeaBIOS version"
632 default SEABIOS_STABLE
633 depends on PAYLOAD_SEABIOS
634
635config SEABIOS_STABLE
Edward O'Callaghanaca67ed2014-09-13 20:43:45 +1000636 bool "1.7.5"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000637 help
638 Stable SeaBIOS version
639config SEABIOS_MASTER
640 bool "master"
641 help
642 Newest SeaBIOS version
Daniele Forsi53847a22014-07-22 18:00:56 +0200643
Patrick Georgi0588d192009-08-12 15:00:51 +0000644endchoice
645
Peter Stugef0408582013-07-09 19:43:09 +0200646config SEABIOS_PS2_TIMEOUT
647 prompt "PS/2 keyboard controller initialization timeout (milliseconds)" if PAYLOAD_SEABIOS
Patrick Georgi1e44c3f2013-08-16 10:14:38 +0200648 default 0
Peter Stugef0408582013-07-09 19:43:09 +0200649 depends on EXPERT
650 int
651 help
652 Some PS/2 keyboard controllers don't respond to commands immediately
653 after powering on. This specifies how long SeaBIOS will wait for the
654 keyboard controller to become ready before giving up.
655
Idwer Vollering7c1a49b2014-04-01 22:47:33 +0000656config SEABIOS_THREAD_OPTIONROMS
657 prompt "Hardware init during option ROM execution" if PAYLOAD_SEABIOS
658 default n
659 bool
660 help
661 Allow hardware init to run in parallel with optionrom execution.
662
663 This can reduce boot time, but can cause some timing
664 variations during option ROM code execution. It is not
665 known if all option ROMs will behave properly with this option.
666
Martin Roth4d7d25f2014-07-25 14:39:05 -0600667config SEABIOS_MALLOC_UPPERMEMORY
668 bool
669 default y
670 depends on PAYLOAD_SEABIOS
671 help
672 Use the "Upper Memory Block" area (0xc0000-0xf0000) for internal
673 "low memory" allocations. If this is not selected, the memory is
674 instead allocated from the "9-segment" (0x90000-0xa0000).
675 This is not typically needed, but may be required on some platforms
676 to allow USB and SATA buffers to be written correctly by the
677 hardware. In general, if this is desired, the option will be
678 set to 'N' by the chipset Kconfig.
679
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000680config SEABIOS_VGA_COREBOOT
681 prompt "Include generated option rom that implements legacy VGA BIOS compatibility" if PAYLOAD_SEABIOS
682 default n
Timothy Pearsonadb59082015-02-05 10:47:40 -0600683 depends on !VGA_BIOS && (MAINBOARD_DO_NATIVE_VGA_INIT || MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG)
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000684 bool
685 help
686 Coreboot can initialize the GPU of some mainboards.
687
688 After initializing the GPU, the information about it can be passed to the payload.
689 Provide an option rom that implements this legacy VGA BIOS compatibility requirement.
690
Stefan Reinauere50952f2011-04-15 03:34:05 +0000691choice
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100692 prompt "GRUB2 version"
693 default GRUB2_MASTER
694 depends on PAYLOAD_GRUB2
695
696config GRUB2_MASTER
697 bool "HEAD"
698 help
699 Newest GRUB2 version
Daniele Forsi53847a22014-07-22 18:00:56 +0200700
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100701endchoice
702
703choice
Stefan Reinauere50952f2011-04-15 03:34:05 +0000704 prompt "FILO version"
705 default FILO_STABLE
706 depends on PAYLOAD_FILO
707
708config FILO_STABLE
709 bool "0.6.0"
710 help
711 Stable FILO version
Daniele Forsi53847a22014-07-22 18:00:56 +0200712
Stefan Reinauere50952f2011-04-15 03:34:05 +0000713config FILO_MASTER
714 bool "HEAD"
715 help
716 Newest FILO version
Daniele Forsi53847a22014-07-22 18:00:56 +0200717
Stefan Reinauere50952f2011-04-15 03:34:05 +0000718endchoice
719
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000720config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000721 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000722 depends on PAYLOAD_ELF
723 default "payload.elf"
724 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000725 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000726
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000727config PAYLOAD_FILE
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200728 string "Linux path and filename"
729 depends on PAYLOAD_LINUX
730 default "bzImage"
731 help
732 The path and filename of the bzImage kernel to use as payload.
733
734config PAYLOAD_FILE
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000735 depends on PAYLOAD_SEABIOS
Idwer Volleringab11a6a92014-08-11 16:09:07 +0200736 default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000737
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000738config PAYLOAD_VGABIOS_FILE
739 string
740 depends on PAYLOAD_SEABIOS && SEABIOS_VGA_COREBOOT
741 default "payloads/external/SeaBIOS/seabios/out/vgabios.bin"
742
Stefan Reinauere50952f2011-04-15 03:34:05 +0000743config PAYLOAD_FILE
744 depends on PAYLOAD_FILO
745 default "payloads/external/FILO/filo/build/filo.elf"
746
Stefan Reinauer275fb632013-02-05 13:58:29 -0800747config PAYLOAD_FILE
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100748 depends on PAYLOAD_GRUB2
749 default "payloads/external/GRUB2/grub2/build/default_payload.elf"
750
751config PAYLOAD_FILE
Stefan Reinauer275fb632013-02-05 13:58:29 -0800752 string "Tianocore firmware volume"
753 depends on PAYLOAD_TIANOCORE
754 default "COREBOOT.fd"
755 help
756 The result of a corebootPkg build
757
Uwe Hermann168b11b2009-10-07 16:15:40 +0000758# TODO: Defined if no payload? Breaks build?
759config COMPRESSED_PAYLOAD_LZMA
760 bool "Use LZMA compression for payloads"
761 default y
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100762 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO || PAYLOAD_TIANOCORE || PAYLOAD_GRUB2
Uwe Hermann168b11b2009-10-07 16:15:40 +0000763 help
764 In order to reduce the size payloads take up in the ROM chip
765 coreboot can compress them using the LZMA algorithm.
766
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200767config LINUX_COMMAND_LINE
768 string "Linux command line"
769 depends on PAYLOAD_LINUX
770 default ""
771 help
772 A command line to add to the Linux kernel.
773
774config LINUX_INITRD
775 string "Linux initrd"
776 depends on PAYLOAD_LINUX
777 default ""
778 help
779 An initrd image to add to the Linux kernel.
780
Peter Stugea758ca22009-09-17 16:21:31 +0000781endmenu
782
Uwe Hermann168b11b2009-10-07 16:15:40 +0000783menu "Debugging"
784
785# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000786config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000787 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200788 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000789 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000790 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000791 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000792
Denis 'GNUtoo' Cariklie4cece02012-06-22 15:56:37 +0200793config GDB_WAIT
794 bool "Wait for a GDB connection"
795 default n
796 depends on GDB_STUB
797 help
798 If enabled, coreboot will wait for a GDB connection.
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
865 help
866 This option enables additional SMI related debug messages.
867
868 Note: This option will increase the size of the coreboot image.
869
870 If unsure, say N.
871
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000872config DEBUG_SMM_RELOCATION
873 bool "Debug SMM relocation code"
874 default n
875 depends on HAVE_SMI_HANDLER
876 help
877 This option enables additional SMM handler relocation related
878 debug messages.
879
880 Note: This option will increase the size of the coreboot image.
881
882 If unsure, say N.
883
Uwe Hermanna953f372010-11-10 00:14:32 +0000884# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
885# printk(BIOS_DEBUG, ...) calls.
886config DEBUG_MALLOC
Stefan Reinauer95a63962012-11-13 17:00:01 -0800887 prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
888 bool
Uwe Hermanna953f372010-11-10 00:14:32 +0000889 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000890 help
891 This option enables additional malloc related debug messages.
892
893 Note: This option will increase the size of the coreboot image.
894
895 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300896
897# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
898# printk(BIOS_DEBUG, ...) calls.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300899config DEBUG_ACPI
Stefan Reinauer95a63962012-11-13 17:00:01 -0800900 prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
901 bool
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300902 default n
903 help
904 This option enables additional ACPI related debug messages.
905
906 Note: This option will slightly increase the size of the coreboot image.
907
908 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300909
Uwe Hermanna953f372010-11-10 00:14:32 +0000910# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
911# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000912config REALMODE_DEBUG
Stefan Reinauer95a63962012-11-13 17:00:01 -0800913 prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
914 bool
Myles Watson6c9bc012010-09-07 22:30:15 +0000915 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000916 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000917 help
918 This option enables additional x86emu related debug messages.
919
920 Note: This option will increase the time to emulate a ROM.
921
922 If unsure, say N.
923
Uwe Hermann01ce6012010-03-05 10:03:50 +0000924config X86EMU_DEBUG
925 bool "Output verbose x86emu debug messages"
926 default n
927 depends on PCI_OPTION_ROM_RUN_YABEL
928 help
929 This option enables additional x86emu related debug messages.
930
931 Note: This option will increase the size of the coreboot image.
932
933 If unsure, say N.
934
935config X86EMU_DEBUG_JMP
936 bool "Trace JMP/RETF"
937 default n
938 depends on X86EMU_DEBUG
939 help
940 Print information about JMP and RETF opcodes from x86emu.
941
942 Note: This option will increase the size of the coreboot image.
943
944 If unsure, say N.
945
946config X86EMU_DEBUG_TRACE
947 bool "Trace all opcodes"
948 default n
949 depends on X86EMU_DEBUG
950 help
951 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000952
Uwe Hermann01ce6012010-03-05 10:03:50 +0000953 WARNING: This will produce a LOT of output and take a long time.
954
955 Note: This option will increase the size of the coreboot image.
956
957 If unsure, say N.
958
959config X86EMU_DEBUG_PNP
960 bool "Log Plug&Play accesses"
961 default n
962 depends on X86EMU_DEBUG
963 help
964 Print Plug And Play accesses made by option ROMs.
965
966 Note: This option will increase the size of the coreboot image.
967
968 If unsure, say N.
969
970config X86EMU_DEBUG_DISK
971 bool "Log Disk I/O"
972 default n
973 depends on X86EMU_DEBUG
974 help
975 Print Disk I/O related messages.
976
977 Note: This option will increase the size of the coreboot image.
978
979 If unsure, say N.
980
981config X86EMU_DEBUG_PMM
982 bool "Log PMM"
983 default n
984 depends on X86EMU_DEBUG
985 help
986 Print messages related to POST Memory Manager (PMM).
987
988 Note: This option will increase the size of the coreboot image.
989
990 If unsure, say N.
991
992
993config X86EMU_DEBUG_VBE
994 bool "Debug VESA BIOS Extensions"
995 default n
996 depends on X86EMU_DEBUG
997 help
998 Print messages related to VESA BIOS Extension (VBE) functions.
999
1000 Note: This option will increase the size of the coreboot image.
1001
1002 If unsure, say N.
1003
1004config X86EMU_DEBUG_INT10
1005 bool "Redirect INT10 output to console"
1006 default n
1007 depends on X86EMU_DEBUG
1008 help
1009 Let INT10 (i.e. character output) calls print messages to debug output.
1010
1011 Note: This option will increase the size of the coreboot image.
1012
1013 If unsure, say N.
1014
1015config X86EMU_DEBUG_INTERRUPTS
1016 bool "Log intXX calls"
1017 default n
1018 depends on X86EMU_DEBUG
1019 help
1020 Print messages related to interrupt handling.
1021
1022 Note: This option will increase the size of the coreboot image.
1023
1024 If unsure, say N.
1025
1026config X86EMU_DEBUG_CHECK_VMEM_ACCESS
1027 bool "Log special memory accesses"
1028 default n
1029 depends on X86EMU_DEBUG
1030 help
1031 Print messages related to accesses to certain areas of the virtual
1032 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1033
1034 Note: This option will increase the size of the coreboot image.
1035
1036 If unsure, say N.
1037
1038config X86EMU_DEBUG_MEM
1039 bool "Log all memory accesses"
1040 default n
1041 depends on X86EMU_DEBUG
1042 help
1043 Print memory accesses made by option ROM.
1044 Note: This also includes accesses to fetch instructions.
1045
1046 Note: This option will increase the size of the coreboot image.
1047
1048 If unsure, say N.
1049
1050config X86EMU_DEBUG_IO
1051 bool "Log IO accesses"
1052 default n
1053 depends on X86EMU_DEBUG
1054 help
1055 Print I/O accesses made by option ROM.
1056
1057 Note: This option will increase the size of the coreboot image.
1058
1059 If unsure, say N.
1060
Denis 'GNUtoo' Carikli4cdc5d62013-05-15 00:19:49 +02001061config X86EMU_DEBUG_TIMINGS
1062 bool "Output timing information"
1063 default n
1064 depends on X86EMU_DEBUG && UDELAY_LAPIC && HAVE_MONOTONIC_TIMER
1065 help
1066 Print timing information needed by i915tool.
1067
1068 If unsure, say N.
1069
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001070config DEBUG_TPM
1071 bool "Output verbose TPM debug messages"
1072 default n
1073 depends on TPM
1074 help
1075 This option enables additional TPM related debug messages.
1076
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07001077config DEBUG_SPI_FLASH
1078 bool "Output verbose SPI flash debug messages"
1079 default n
1080 depends on SPI_FLASH
1081 help
1082 This option enables additional SPI flash related debug messages.
1083
Kyösti Mälkki3be80cc2013-06-06 10:46:37 +03001084config DEBUG_USBDEBUG
1085 bool "Output verbose USB 2.0 EHCI debug dongle messages"
1086 default n
1087 depends on USBDEBUG
1088 help
1089 This option enables additional USB 2.0 debug dongle related messages.
1090
1091 Select this to debug the connection of usbdebug dongle. Note that
1092 you need some other working console to receive the messages.
1093
Stefan Reinauer8e073822012-04-04 00:07:22 +02001094if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1095# Only visible with the right southbridge and loglevel.
1096config DEBUG_INTEL_ME
1097 bool "Verbose logging for Intel Management Engine"
1098 default n
1099 help
1100 Enable verbose logging for Intel Management Engine driver that
1101 is present on Intel 6-series chipsets.
1102endif
1103
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001104config TRACE
1105 bool "Trace function calls"
1106 default n
1107 help
1108 If enabled, every function will print information to console once
1109 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
1110 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
1111 of calling function. Please note some printk releated functions
1112 are omitted from trace to have good looking console dumps.
Stefan Reinauerd37ab452012-12-18 16:23:28 -08001113
1114config DEBUG_COVERAGE
1115 bool "Debug code coverage"
1116 default n
1117 depends on COVERAGE
1118 help
1119 If enabled, the code coverage hooks in coreboot will output some
1120 information about the coverage data that is dumped.
1121
David Hendricks3b11de82014-11-05 14:05:56 -08001122config GENERIC_GPIO_LIB
1123 bool "Build generic GPIO library"
1124 default n
1125 help
1126 If enabled, compile the generic GPIO library. A "generic" GPIO
1127 implies configurability usually found on SoCs, particularly the
1128 ability to control internal pull resistors.
1129
Vadim Bendeburyb0c302f2014-07-28 16:03:07 -07001130config BOARD_ID_SUPPORT
1131 bool "Discover board ID and store it in coreboot table"
1132 default n
David Hendricks3b11de82014-11-05 14:05:56 -08001133 select GENERIC_GPIO_LIB
Vadim Bendeburyb0c302f2014-07-28 16:03:07 -07001134 help
1135 If enabled, coreboot discovers the board id of the hardware it is
1136 running on and reports it through the coreboot table to the rest of
1137 the system.
1138
Uwe Hermann168b11b2009-10-07 16:15:40 +00001139endmenu
1140
Myles Watsond73c1b52009-10-26 15:14:07 +00001141# These probably belong somewhere else, but they are needed somewhere.
Myles Watsond73c1b52009-10-26 15:14:07 +00001142config ENABLE_APIC_EXT_ID
1143 bool
1144 default n
Myles Watson2e672732009-11-12 16:38:03 +00001145
1146config WARNINGS_ARE_ERRORS
1147 bool
Edward O'Callaghan63f6dc72014-11-18 03:17:54 +11001148 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +00001149
Peter Stuge51eafde2010-10-13 06:23:02 +00001150# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1151# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1152# mutually exclusive. One of these options must be selected in the
1153# mainboard Kconfig if the chipset supports enabling and disabling of
1154# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1155# in mainboard/Kconfig to know if the button should be enabled or not.
1156
1157config POWER_BUTTON_DEFAULT_ENABLE
1158 def_bool n
1159 help
1160 Select when the board has a power button which can optionally be
1161 disabled by the user.
1162
1163config POWER_BUTTON_DEFAULT_DISABLE
1164 def_bool n
1165 help
1166 Select when the board has a power button which can optionally be
1167 enabled by the user, e.g. when the board ships with a jumper over
1168 the power switch contacts.
1169
1170config POWER_BUTTON_FORCE_ENABLE
1171 def_bool n
1172 help
1173 Select when the board requires that the power button is always
1174 enabled.
1175
1176config POWER_BUTTON_FORCE_DISABLE
1177 def_bool n
1178 help
1179 Select when the board requires that the power button is always
1180 disabled, e.g. when it has been hardwired to ground.
1181
1182config POWER_BUTTON_IS_OPTIONAL
1183 bool
1184 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1185 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1186 help
1187 Internal option that controls ENABLE_POWER_BUTTON visibility.
Duncan Laurie72748002013-10-31 08:26:23 -07001188
1189config REG_SCRIPT
1190 bool
Duncan Laurie72748002013-10-31 08:26:23 -07001191 default n
1192 help
1193 Internal option that controls whether we compile in register scripts.
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001194
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001195config MAX_REBOOT_CNT
1196 int
1197 default 3
Timothy Pearson17ada2e2015-03-18 01:31:34 -05001198 help
1199 Internal option that sets the maximum number of bootblock executions allowed
1200 with the normal image enabled before assuming the normal image is defective
Vadim Bendebury9c9c3362014-07-23 09:40:02 -07001201 and switching to the fallback image.