blob: 84523a2c0d293f39f7a7367f304bde41dd0d1771 [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
Patrick Georgib890a122015-03-26 15:17:45 +010018## Foundation, Inc.
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
Vadim Bendebury6bfabce2014-12-25 15:07:22 -080058config MULTIPLE_CBFS_INSTANCES
Martin Roth595e7772015-04-26 18:53:26 -060059 bool "Multiple CBFS instances in the bootrom"
60 default n
61 depends on !ARCH_X86
62 help
63 Account for the firmware image containing more than one CBFS
64 instance. Locations of instances are known at build time and are
65 communicated between coreboot stages to make sure the next stage is
66 loaded from the appropriate instance.
Vadim Bendebury6bfabce2014-12-25 15:07:22 -080067
Patrick Georgi23d89cc2010-03-16 01:17:19 +000068choice
Uwe Hermannad8c95f2012-04-12 22:00:03 +020069 prompt "Compiler to use"
Patrick Georgi23d89cc2010-03-16 01:17:19 +000070 default COMPILER_GCC
71 help
72 This option allows you to select the compiler used for building
73 coreboot.
74
75config COMPILER_GCC
76 bool "GCC"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020077 help
78 Use the GNU Compiler Collection (GCC) to build coreboot.
79
80 For details see http://gcc.gnu.org.
81
Patrick Georgi23d89cc2010-03-16 01:17:19 +000082config COMPILER_LLVM_CLANG
83 bool "LLVM/clang"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020084 help
85 Use LLVM/clang to build coreboot.
86
87 For details see http://clang.llvm.org.
88
Patrick Georgi23d89cc2010-03-16 01:17:19 +000089endchoice
90
Patrick Georgi9b0de712013-12-29 18:45:23 +010091config ANY_TOOLCHAIN
92 bool "Allow building with any toolchain"
93 default n
94 depends on COMPILER_GCC
95 help
96 Many toolchains break when building coreboot since it uses quite
97 unusual linker features. Unless developers explicitely request it,
98 we'll have to assume that they use their distro compiler by mistake.
99 Make sure that using patched compilers is a conscious decision.
100
Patrick Georgi516a2a72010-03-25 21:45:25 +0000101config CCACHE
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200102 bool "Use ccache to speed up (re)compilation"
Patrick Georgi516a2a72010-03-25 21:45:25 +0000103 default n
104 help
105 Enables the use of ccache for faster builds.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200106
107 Requires the ccache utility in your system $PATH.
108
109 For details see https://ccache.samba.org.
Patrick Georgi516a2a72010-03-25 21:45:25 +0000110
Sol Boucher69b88bf2015-02-26 11:47:19 -0800111config FMD_GENPARSER
112 bool "Generate flashmap descriptor parser using flex and bison"
113 default n
114 depends on EXPERT
115 help
116 Enable this option if you are working on the flashmap descriptor
117 parser and made changes to fmd_scanner.l or fmd_parser.y.
118
119 Otherwise, say N to use the provided pregenerated scanner/parser.
120
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000121config SCONFIG_GENPARSER
122 bool "Generate SCONFIG parser using flex and bison"
123 default n
124 depends on EXPERT
125 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200126 Enable this option if you are working on the sconfig device tree
Sol Boucher69b88bf2015-02-26 11:47:19 -0800127 parser and made changes to sconfig.l or sconfig.y.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200128
Sol Boucher69b88bf2015-02-26 11:47:19 -0800129 Otherwise, say N to use the provided pregenerated scanner/parser.
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000130
Joe Korty6d772522010-05-19 18:41:15 +0000131config USE_OPTION_TABLE
132 bool "Use CMOS for configuration values"
133 default n
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000134 depends on HAVE_OPTION_TABLE
Joe Korty6d772522010-05-19 18:41:15 +0000135 help
136 Enable this option if coreboot shall read options from the "CMOS"
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200137 NVRAM instead of using hard-coded values.
Joe Korty6d772522010-05-19 18:41:15 +0000138
Timothy Pearsonf20c6e82015-02-14 16:15:31 -0600139config STATIC_OPTION_TABLE
140 bool "Load default configuration values into CMOS on each boot"
141 default n
142 depends on USE_OPTION_TABLE
143 help
144 Enable this option to reset "CMOS" NVRAM values to default on
145 every boot. Use this if you want the NVRAM configuration to
146 never be modified from its default values.
147
Julius Wernercdf92ea2014-12-09 12:18:00 -0800148config UNCOMPRESSED_RAMSTAGE
149 bool
150 default n
151
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000152config COMPRESS_RAMSTAGE
153 bool "Compress ramstage with LZMA"
Julius Wernercdf92ea2014-12-09 12:18:00 -0800154 default y if !UNCOMPRESSED_RAMSTAGE
155 default n
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000156 help
157 Compress ramstage to save memory in the flash image. Note
158 that decompression might slow down booting if the boot flash
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200159 is connected through a slow link (i.e. SPI).
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000160
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200161config INCLUDE_CONFIG_FILE
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200162 bool "Include the coreboot .config file into the ROM image"
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200163 default y
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200164 help
165 Include the .config file that was used to compile coreboot
166 in the (CBFS) ROM image. This is useful if you want to know which
167 options were used to build a specific coreboot.rom image.
168
Daniele Forsi53847a22014-07-22 18:00:56 +0200169 Saying Y here will increase the image size by 2-3KB.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200170
171 You can use the following command to easily list the options:
172
173 grep -a CONFIG_ coreboot.rom
174
175 Alternatively, you can also use cbfstool to print the image
176 contents (including the raw 'config' item we're looking for).
177
178 Example:
179
180 $ cbfstool coreboot.rom print
181 coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
182 offset 0x0
183 Alignment: 64 bytes
Steve Goodrichf0269122012-05-18 11:18:47 -0600184
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200185 Name Offset Type Size
186 cmos_layout.bin 0x0 cmos layout 1159
187 fallback/romstage 0x4c0 stage 339756
Daniele Forsi53847a22014-07-22 18:00:56 +0200188 fallback/ramstage 0x53440 stage 186664
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200189 fallback/payload 0x80dc0 payload 51526
190 config 0x8d740 raw 3324
191 (empty) 0x8e480 null 3610440
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200192
Kyösti Mälkkif8bf5a12013-10-11 22:08:02 +0300193config EARLY_CBMEM_INIT
Kyösti Mälkki3bf38542014-12-18 22:22:04 +0200194 def_bool !LATE_CBMEM_INIT
195
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700196config COLLECT_TIMESTAMPS
197 bool "Create a table of timestamps collected during boot"
Kyösti Mälkki26447932013-10-11 21:14:59 +0300198 default n
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700199 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200200 Make coreboot create a table of timer-ID/timer-value pairs to
201 allow measuring time spent at different phases of the boot process.
202
Aaron Durbin1936f6c2015-07-03 17:04:21 -0500203config HAS_PRECBMEM_TIMESTAMP_REGION
204 bool "Timestamp region exists for pre-cbmem timestamps"
205 default y if ARCH_ROMSTAGE_X86_32 && CACHE_AS_RAM
206 depends on COLLECT_TIMESTAMPS
207 help
208 A separate region is maintained to allow storing of timestamps before
209 cbmem comes up. This is useful for storing timestamps across different
210 stage boundaries.
211
Patrick Georgi7e9b9d82012-04-30 21:06:10 +0200212config USE_BLOBS
213 bool "Allow use of binary-only repository"
214 default n
215 help
216 This draws in the blobs repository, which contains binary files that
217 might be required for some chipsets or boards.
218 This flag ensures that a "Free" option remains available for users.
219
Stefan Reinauerd37ab452012-12-18 16:23:28 -0800220config COVERAGE
221 bool "Code coverage support"
222 depends on COMPILER_GCC
223 default n
224 help
225 Add code coverage support for coreboot. This will store code
226 coverage information in CBMEM for extraction from user space.
227 If unsure, say N.
228
Stefan Reinauer58470e32014-10-17 13:08:36 +0200229config RELOCATABLE_MODULES
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200230 bool
Stefan Reinauer58470e32014-10-17 13:08:36 +0200231 default n
232 help
233 If RELOCATABLE_MODULES is selected then support is enabled for
234 building relocatable modules in the RAM stage. Those modules can be
235 loaded anywhere and all the relocations are handled automatically.
236
237config RELOCATABLE_RAMSTAGE
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200238 depends on EARLY_CBMEM_INIT
Stefan Reinauer58470e32014-10-17 13:08:36 +0200239 bool "Build the ramstage to be relocatable in 32-bit address space."
240 default n
Vladimir Serbinenko633352c2015-05-30 22:21:37 +0200241 select RELOCATABLE_MODULES
Stefan Reinauer58470e32014-10-17 13:08:36 +0200242 help
243 The reloctable ramstage support allows for the ramstage to be built
244 as a relocatable module. The stage loader can identify a place
245 out of the OS way so that copying memory is unnecessary during an S3
246 wake. When selecting this option the romstage is responsible for
247 determing a stack location to use for loading the ramstage.
248
249config CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
250 depends on RELOCATABLE_RAMSTAGE
251 bool "Cache the relocated ramstage outside of cbmem."
252 default n
253 help
254 The relocated ramstage is saved in an area specified by the
255 by the board and/or chipset.
256
Aaron Durbin0424c952015-03-28 23:56:22 -0500257config FLASHMAP_OFFSET
258 hex "Flash Map Offset"
259 default 0x00670000 if NORTHBRIDGE_INTEL_SANDYBRIDGE
260 default 0x00610000 if NORTHBRIDGE_INTEL_IVYBRIDGE
261 default CBFS_SIZE if !ARCH_X86
262 default 0
263 help
264 Offset of flash map in firmware image
265
Stefan Reinauer58470e32014-10-17 13:08:36 +0200266choice
267 prompt "Bootblock behaviour"
268 default BOOTBLOCK_SIMPLE
269
270config BOOTBLOCK_SIMPLE
271 bool "Always load fallback"
272
273config BOOTBLOCK_NORMAL
274 bool "Switch to normal if CMOS says so"
275
276endchoice
277
278config BOOTBLOCK_SOURCE
279 string
280 default "bootblock_simple.c" if BOOTBLOCK_SIMPLE
281 default "bootblock_normal.c" if BOOTBLOCK_NORMAL
282
Timothy Pearson44724082015-03-16 11:47:45 -0500283config SKIP_MAX_REBOOT_CNT_CLEAR
284 bool "Do not clear reboot count after successful boot"
285 default n
286 depends on EXPERT
287 help
288 Do not clear the reboot count immediately after successful boot.
289 Set to allow the payload to control normal/fallback image recovery.
290
Stefan Reinauer58470e32014-10-17 13:08:36 +0200291config UPDATE_IMAGE
292 bool "Update existing coreboot.rom image"
293 default n
294 help
295 If this option is enabled, no new coreboot.rom file
296 is created. Instead it is expected that there already
297 is a suitable file for further processing.
298 The bootblock will not be modified.
299
Stefan Reinauerd06258c2015-03-26 16:29:00 -0700300config GENERIC_GPIO_LIB
301 bool
302 default n
303 help
304 If enabled, compile the generic GPIO library. A "generic" GPIO
305 implies configurability usually found on SoCs, particularly the
306 ability to control internal pull resistors.
307
308config BOARD_ID_AUTO
309 bool
310 default n
311 help
312 Mainboards that can read a board ID from the hardware straps
313 (ie. GPIO) select this configuration option.
314
315config BOARD_ID_MANUAL
316 bool "Add board ID file to CBFS"
317 default n
318 depends on !BOARD_ID_AUTO
319 help
320 If you want to maintain a board ID, but the hardware does not
321 have straps to automatically determine the ID, you can say Y
322 here and add a file named 'board_id' to CBFS. If you don't know
323 what this is about, say N.
324
325config BOARD_ID_STRING
326 string "Board ID"
327 default "(none)"
328 depends on BOARD_ID_MANUAL
329 help
330 This string is placed in the 'board_id' CBFS file for indicating
331 board type.
332
David Hendricks627b3bd2014-11-03 17:42:09 -0800333config RAM_CODE_SUPPORT
334 bool "Discover RAM configuration code and store it in coreboot table"
335 default n
336 help
337 If enabled, coreboot discovers RAM configuration (value obtained by
338 reading board straps) and stores it in coreboot table.
339
Uwe Hermannc04be932009-10-05 13:55:28 +0000340endmenu
341
Alexander Couzens77103792015-04-16 02:03:26 +0200342source "src/acpi/Kconfig"
343
Martin Roth026e4dc2015-06-19 23:17:15 -0600344menu "Mainboard"
345
Stefan Reinauera48ca842015-04-04 01:58:28 +0200346source "src/mainboard/Kconfig"
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000347
Martin Roth026e4dc2015-06-19 23:17:15 -0600348config CBFS_SIZE
349 hex "Size of CBFS filesystem in ROM"
Martin Roth59aa2b12015-06-20 16:17:12 -0600350 default 0x100000 if HAVE_INTEL_FIRMWARE || \
351 NORTHBRIDGE_INTEL_GM45 || NORTHBRIDGE_INTEL_SANDYBRIDGE || \
Martin Roth026e4dc2015-06-19 23:17:15 -0600352 NORTHBRIDGE_INTEL_IVYBRIDGE || NORTHBRIDGE_INTEL_IVYBRIDGE_NATIVE || \
Martin Roth59aa2b12015-06-20 16:17:12 -0600353 NORTHBRIDGE_INTEL_SANDYBRIDGE_NATIVE || \
Martin Rothc407cb92015-06-23 19:59:30 -0600354 NORTHBRIDGE_INTEL_NEHALEM || SOC_INTEL_BRASWELL || \
Martin Roth026e4dc2015-06-19 23:17:15 -0600355 SOC_INTEL_BROADWELL
Martin Roth026e4dc2015-06-19 23:17:15 -0600356 default ROM_SIZE
357 help
358 This is the part of the ROM actually managed by CBFS, located at the
359 end of the ROM (passed through cbfstool -o) on x86 and at at the start
360 of the ROM (passed through cbfstool -s) everywhere else. It defaults
361 to span the whole ROM on all but Intel systems that use an Intel Firmware
362 Descriptor. It can be overridden to make coreboot live alongside other
363 components like ChromeOS's vboot/FMAP or Intel's IFD / ME / TXE
364 binaries.
365
366endmenu
367
Vladimir Serbinenkoa9db82f2014-10-16 13:21:47 +0200368config SYSTEM_TYPE_LAPTOP
Martin Roth595e7772015-04-26 18:53:26 -0600369 default n
370 bool
Vladimir Serbinenkoa9db82f2014-10-16 13:21:47 +0200371
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000372menu "Chipset"
373
Duncan Lauried2119762015-06-08 18:11:56 -0700374comment "SoC"
375source "src/soc/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000376comment "CPU"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200377source "src/cpu/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000378comment "Northbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200379source "src/northbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000380comment "Southbridge"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200381source "src/southbridge/*/*/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000382comment "Super I/O"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200383source "src/superio/*/Kconfig"
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000384comment "Embedded Controllers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200385source "src/ec/acpi/Kconfig"
386source "src/ec/*/*/Kconfig"
Marc Jones78687972015-04-22 23:16:31 -0600387source "src/drivers/intel/fsp1_0/Kconfig"
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000388
Martin Roth59aa2b12015-06-20 16:17:12 -0600389source "src/southbridge/intel/common/firmware/Kconfig"
Martin Rothe1523ec2015-06-19 22:30:43 -0600390source "src/vendorcode/*/Kconfig"
Martin Roth59aa2b12015-06-20 16:17:12 -0600391
Martin Rothe1523ec2015-06-19 22:30:43 -0600392source "src/arch/*/Kconfig"
393
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000394endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000395
Stefan Reinauera48ca842015-04-04 01:58:28 +0200396source "src/device/Kconfig"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800397
Rudolf Marekd9c25492010-05-16 15:31:53 +0000398menu "Generic Drivers"
Stefan Reinauera48ca842015-04-04 01:58:28 +0200399source "src/drivers/*/Kconfig"
Rudolf Marekd9c25492010-05-16 15:31:53 +0000400endmenu
401
Patrick Georgi0770f252015-04-22 13:28:21 +0200402config RTC
403 bool
404 default n
405
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700406config TPM
407 bool
408 default n
409 select LPC_TPM if ARCH_X86
Gabe Black51edd542013-09-30 23:00:33 -0700410 select I2C_TPM if ARCH_ARM
Furquan Shaikh2af76f42014-04-28 16:39:40 -0700411 select I2C_TPM if ARCH_ARM64
Stefan Reinauer7cb01e02013-08-29 16:05:02 -0700412 help
413 Enable this option to enable TPM support in coreboot.
414
415 If unsure, say N.
416
Kyösti Mälkkieaee6e22014-04-30 01:35:29 +0300417config RAMTOP
418 hex
419 default 0x200000
420 depends on ARCH_X86
421
Patrick Georgi0588d192009-08-12 15:00:51 +0000422config HEAP_SIZE
423 hex
Myles Watson04000f42009-10-16 19:12:49 +0000424 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000425
Julius Wernerc3e7c4e2014-09-19 13:18:16 -0700426config STACK_SIZE
427 hex
Julius Werner89be1542014-12-18 19:24:48 -0800428 default 0x0 if (ARCH_RAMSTAGE_ARM || ARCH_RAMSTAGE_MIPS)
Julius Wernerc3e7c4e2014-09-19 13:18:16 -0700429 default 0x1000
430
Patrick Georgi0588d192009-08-12 15:00:51 +0000431config MAX_CPUS
432 int
433 default 1
434
435config MMCONF_SUPPORT_DEFAULT
436 bool
437 default n
438
439config MMCONF_SUPPORT
440 bool
441 default n
442
Kyösti Mälkki5687fc92013-11-28 18:11:49 +0200443config BOOTMODE_STRAPS
444 bool
445 default n
446
Stefan Reinauera48ca842015-04-04 01:58:28 +0200447source "src/console/Kconfig"
Patrick Georgi0588d192009-08-12 15:00:51 +0000448
449config HAVE_ACPI_RESUME
450 bool
451 default n
452
Patrick Georgi0588d192009-08-12 15:00:51 +0000453config HAVE_HARD_RESET
454 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000455 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000456 help
457 This variable specifies whether a given board has a hard_reset
458 function, no matter if it's provided by board code or chipset code.
459
Aaron Durbina4217912013-04-29 22:31:51 -0500460config HAVE_MONOTONIC_TIMER
461 def_bool n
462 help
463 The board/chipset provides a monotonic timer.
464
Aaron Durbine5e36302014-09-25 10:05:15 -0500465config GENERIC_UDELAY
466 def_bool n
467 depends on HAVE_MONOTONIC_TIMER
468 help
469 The board/chipset uses a generic udelay function utilizing the
470 monotonic timer.
471
Aaron Durbin340ca912013-04-30 09:58:12 -0500472config TIMER_QUEUE
473 def_bool n
474 depends on HAVE_MONOTONIC_TIMER
475 help
Kyösti Mälkkiecd84242013-09-13 07:57:49 +0300476 Provide a timer queue for performing time-based callbacks.
Aaron Durbin340ca912013-04-30 09:58:12 -0500477
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500478config COOP_MULTITASKING
479 def_bool n
Aaron Durbin38c326d2013-05-06 12:22:23 -0500480 depends on TIMER_QUEUE && ARCH_X86
Aaron Durbin4409a5e2013-05-06 12:20:52 -0500481 help
482 Cooperative multitasking allows callbacks to be multiplexed on the
483 main thread of ramstage. With this enabled it allows for multiple
484 execution paths to take place when they have udelay() calls within
485 their code.
486
487config NUM_THREADS
488 int
489 default 4
490 depends on COOP_MULTITASKING
491 help
492 How many execution threads to cooperatively multitask with.
493
Patrick Georgi0588d192009-08-12 15:00:51 +0000494config HAVE_OPTION_TABLE
495 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000496 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000497 help
498 This variable specifies whether a given board has a cmos.layout
499 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000500 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000501
Patrick Georgi0588d192009-08-12 15:00:51 +0000502config PIRQ_ROUTE
503 bool
504 default n
505
506config HAVE_SMI_HANDLER
507 bool
508 default n
509
510config PCI_IO_CFG_EXT
511 bool
512 default n
513
514config IOAPIC
515 bool
516 default n
517
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200518config CACHE_ROM_SIZE_OVERRIDE
Stefan Reinauer5b635792012-08-16 14:05:42 -0700519 hex
Kyösti Mälkki107f72e2014-01-06 11:06:26 +0200520 default 0
Stefan Reinauer5b635792012-08-16 14:05:42 -0700521
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000522# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000523config VIDEO_MB
524 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000525 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000526
Myles Watson45bb25f2009-09-22 18:49:08 +0000527config USE_WATCHDOG_ON_BOOT
528 bool
529 default n
530
531config VGA
532 bool
533 default n
534 help
535 Build board-specific VGA code.
536
537config GFXUMA
538 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000539 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000540 help
541 Enable Unified Memory Architecture for graphics.
542
Myles Watsonb8e20272009-10-15 13:35:47 +0000543config HAVE_ACPI_TABLES
544 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000545 help
546 This variable specifies whether a given board has ACPI table support.
547 It is usually set in mainboard/*/Kconfig.
Myles Watsonb8e20272009-10-15 13:35:47 +0000548
549config HAVE_MP_TABLE
550 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000551 help
552 This variable specifies whether a given board has MP table support.
553 It is usually set in mainboard/*/Kconfig.
554 Whether or not the MP table is actually generated by coreboot
555 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000556
557config HAVE_PIRQ_TABLE
558 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000559 help
560 This variable specifies whether a given board has PIRQ table support.
561 It is usually set in mainboard/*/Kconfig.
562 Whether or not the PIRQ table is actually generated by coreboot
563 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000564
Alexandru Gagniuc70c660f2012-08-23 02:32:58 -0500565config MAX_PIRQ_LINKS
566 int
567 default 4
568 help
569 This variable specifies the number of PIRQ interrupt links which are
570 routable. On most chipsets, this is 4, INTA through INTD. Some
571 chipsets offer more than four links, commonly up to INTH. They may
572 also have a separate link for ATA or IOAPIC interrupts. When the PIRQ
573 table specifies links greater than 4, pirq_route_irqs will not
574 function properly, unless this variable is correctly set.
575
Vladimir Serbinenkoc21e0732014-10-16 12:48:19 +0200576config COMMON_FADT
577 bool
578 default n
579
Myles Watsond73c1b52009-10-26 15:14:07 +0000580#These Options are here to avoid "undefined" warnings.
581#The actual selection and help texts are in the following menu.
582
Uwe Hermann168b11b2009-10-07 16:15:40 +0000583menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000584
Myles Watsonb8e20272009-10-15 13:35:47 +0000585config GENERATE_MP_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800586 prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
587 bool
588 default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000589 help
590 Generate an MP table (conforming to the Intel MultiProcessor
591 specification 1.4) for this board.
592
593 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000594
Myles Watsonb8e20272009-10-15 13:35:47 +0000595config GENERATE_PIRQ_TABLE
Stefan Reinauer56cd70b2012-11-13 17:33:08 -0800596 prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
597 bool
598 default HAVE_PIRQ_TABLE
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000599 help
600 Generate a PIRQ table for this board.
601
602 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000603
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200604config GENERATE_SMBIOS_TABLES
605 depends on ARCH_X86
606 bool "Generate SMBIOS tables"
607 default y
608 help
609 Generate SMBIOS tables for this board.
610
611 If unsure, say Y.
612
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200613config SMBIOS_PROVIDED_BY_MOBO
614 bool
615 default n
616
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200617config MAINBOARD_SERIAL_NUMBER
618 string "SMBIOS Serial Number"
619 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200620 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200621 default "123456789"
Martin Roth595e7772015-04-26 18:53:26 -0600622 help
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200623 The Serial Number to store in SMBIOS structures.
624
625config MAINBOARD_VERSION
626 string "SMBIOS Version Number"
627 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200628 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200629 default "1.0"
630 help
631 The Version Number to store in SMBIOS structures.
632
633config MAINBOARD_SMBIOS_MANUFACTURER
634 string "SMBIOS Manufacturer"
635 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200636 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200637 default MAINBOARD_VENDOR
638 help
639 Override the default Manufacturer stored in SMBIOS structures.
640
641config MAINBOARD_SMBIOS_PRODUCT_NAME
642 string "SMBIOS Product name"
643 depends on GENERATE_SMBIOS_TABLES
Vladimir Serbinenko0afdec42015-05-30 23:08:26 +0200644 depends on !SMBIOS_PROVIDED_BY_MOBO
Stefan Reinauer6023ca42014-10-17 13:28:15 +0200645 default MAINBOARD_PART_NUMBER
646 help
647 Override the default Product name stored in SMBIOS structures.
648
Myles Watson45bb25f2009-09-22 18:49:08 +0000649endmenu
650
Patrick Georgi0588d192009-08-12 15:00:51 +0000651menu "Payload"
652
Patrick Georgi0588d192009-08-12 15:00:51 +0000653choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000654 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000655 default PAYLOAD_NONE if !ARCH_X86
656 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000657
Uwe Hermann168b11b2009-10-07 16:15:40 +0000658config PAYLOAD_NONE
659 bool "None"
660 help
661 Select this option if you want to create an "empty" coreboot
662 ROM image for a certain mainboard, i.e. a coreboot ROM image
663 which does not yet contain a payload.
664
665 For such an image to be useful, you have to use 'cbfstool'
666 to add a payload to the ROM image later.
667
Patrick Georgi0588d192009-08-12 15:00:51 +0000668config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000669 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000670 help
671 Select this option if you have a payload image (an ELF file)
672 which coreboot should run as soon as the basic hardware
673 initialization is completed.
674
675 You will be able to specify the location and file name of the
676 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000677
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200678config PAYLOAD_LINUX
679 bool "A Linux payload"
680 help
681 Select this option if you have a Linux bzImage which coreboot
682 should run as soon as the basic hardware initialization
683 is completed.
684
685 You will be able to specify the location and file name of the
686 payload image later.
687
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000688config PAYLOAD_SEABIOS
689 bool "SeaBIOS"
690 depends on ARCH_X86
691 help
692 Select this option if you want to build a coreboot image
693 with a SeaBIOS payload. If you don't know what this is
694 about, just leave it enabled.
695
696 See http://coreboot.org/Payloads for more information.
697
Stefan Reinauere50952f2011-04-15 03:34:05 +0000698config PAYLOAD_FILO
699 bool "FILO"
700 help
701 Select this option if you want to build a coreboot image
702 with a FILO payload. If you don't know what this is
703 about, just leave it enabled.
704
705 See http://coreboot.org/Payloads for more information.
706
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100707config PAYLOAD_GRUB2
708 bool "GRUB2"
709 help
710 Select this option if you want to build a coreboot image
711 with a GRUB2 payload. If you don't know what this is
712 about, just leave it enabled.
713
714 See http://coreboot.org/Payloads for more information.
715
Stefan Reinauercc5b3442013-01-15 17:02:58 -0800716config PAYLOAD_TIANOCORE
717 bool "Tiano Core"
718 help
719 Select this option if you want to build a coreboot image
720 with a Tiano Core payload. If you don't know what this is
721 about, just leave it enabled.
722
723 See http://coreboot.org/Payloads for more information.
724
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000725endchoice
726
727choice
728 prompt "SeaBIOS version"
729 default SEABIOS_STABLE
730 depends on PAYLOAD_SEABIOS
731
732config SEABIOS_STABLE
Edward O'Callaghanaca67ed2014-09-13 20:43:45 +1000733 bool "1.7.5"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000734 help
735 Stable SeaBIOS version
736config SEABIOS_MASTER
737 bool "master"
738 help
739 Newest SeaBIOS version
Daniele Forsi53847a22014-07-22 18:00:56 +0200740
Patrick Georgi0588d192009-08-12 15:00:51 +0000741endchoice
742
Peter Stugef0408582013-07-09 19:43:09 +0200743config SEABIOS_PS2_TIMEOUT
744 prompt "PS/2 keyboard controller initialization timeout (milliseconds)" if PAYLOAD_SEABIOS
Patrick Georgi1e44c3f2013-08-16 10:14:38 +0200745 default 0
Peter Stugef0408582013-07-09 19:43:09 +0200746 depends on EXPERT
747 int
748 help
749 Some PS/2 keyboard controllers don't respond to commands immediately
750 after powering on. This specifies how long SeaBIOS will wait for the
751 keyboard controller to become ready before giving up.
752
Idwer Vollering7c1a49b2014-04-01 22:47:33 +0000753config SEABIOS_THREAD_OPTIONROMS
754 prompt "Hardware init during option ROM execution" if PAYLOAD_SEABIOS
755 default n
756 bool
757 help
758 Allow hardware init to run in parallel with optionrom execution.
759
760 This can reduce boot time, but can cause some timing
761 variations during option ROM code execution. It is not
762 known if all option ROMs will behave properly with this option.
763
Martin Roth4d7d25f2014-07-25 14:39:05 -0600764config SEABIOS_MALLOC_UPPERMEMORY
765 bool
766 default y
767 depends on PAYLOAD_SEABIOS
768 help
769 Use the "Upper Memory Block" area (0xc0000-0xf0000) for internal
770 "low memory" allocations. If this is not selected, the memory is
771 instead allocated from the "9-segment" (0x90000-0xa0000).
772 This is not typically needed, but may be required on some platforms
773 to allow USB and SATA buffers to be written correctly by the
774 hardware. In general, if this is desired, the option will be
775 set to 'N' by the chipset Kconfig.
776
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000777config SEABIOS_VGA_COREBOOT
778 prompt "Include generated option rom that implements legacy VGA BIOS compatibility" if PAYLOAD_SEABIOS
779 default n
Timothy Pearsonadb59082015-02-05 10:47:40 -0600780 depends on !VGA_BIOS && (MAINBOARD_DO_NATIVE_VGA_INIT || MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG)
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000781 bool
782 help
783 Coreboot can initialize the GPU of some mainboards.
784
785 After initializing the GPU, the information about it can be passed to the payload.
786 Provide an option rom that implements this legacy VGA BIOS compatibility requirement.
787
Stefan Reinauere50952f2011-04-15 03:34:05 +0000788choice
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100789 prompt "GRUB2 version"
790 default GRUB2_MASTER
791 depends on PAYLOAD_GRUB2
792
793config GRUB2_MASTER
794 bool "HEAD"
795 help
796 Newest GRUB2 version
Daniele Forsi53847a22014-07-22 18:00:56 +0200797
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100798endchoice
799
800choice
Stefan Reinauere50952f2011-04-15 03:34:05 +0000801 prompt "FILO version"
802 default FILO_STABLE
803 depends on PAYLOAD_FILO
804
805config FILO_STABLE
806 bool "0.6.0"
807 help
808 Stable FILO version
Daniele Forsi53847a22014-07-22 18:00:56 +0200809
Stefan Reinauere50952f2011-04-15 03:34:05 +0000810config FILO_MASTER
811 bool "HEAD"
812 help
813 Newest FILO version
Daniele Forsi53847a22014-07-22 18:00:56 +0200814
Stefan Reinauere50952f2011-04-15 03:34:05 +0000815endchoice
816
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000817config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000818 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000819 depends on PAYLOAD_ELF
820 default "payload.elf"
821 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000822 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000823
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000824config PAYLOAD_FILE
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200825 string "Linux path and filename"
826 depends on PAYLOAD_LINUX
827 default "bzImage"
828 help
829 The path and filename of the bzImage kernel to use as payload.
830
831config PAYLOAD_FILE
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000832 depends on PAYLOAD_SEABIOS
Idwer Volleringab11a6a92014-08-11 16:09:07 +0200833 default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000834
Edward O'Callaghana296f9e2014-09-13 03:43:49 +1000835config PAYLOAD_VGABIOS_FILE
836 string
837 depends on PAYLOAD_SEABIOS && SEABIOS_VGA_COREBOOT
838 default "payloads/external/SeaBIOS/seabios/out/vgabios.bin"
839
Stefan Reinauere50952f2011-04-15 03:34:05 +0000840config PAYLOAD_FILE
841 depends on PAYLOAD_FILO
842 default "payloads/external/FILO/filo/build/filo.elf"
843
Stefan Reinauer275fb632013-02-05 13:58:29 -0800844config PAYLOAD_FILE
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100845 depends on PAYLOAD_GRUB2
846 default "payloads/external/GRUB2/grub2/build/default_payload.elf"
847
848config PAYLOAD_FILE
Stefan Reinauer275fb632013-02-05 13:58:29 -0800849 string "Tianocore firmware volume"
850 depends on PAYLOAD_TIANOCORE
851 default "COREBOOT.fd"
852 help
853 The result of a corebootPkg build
854
Uwe Hermann168b11b2009-10-07 16:15:40 +0000855# TODO: Defined if no payload? Breaks build?
856config COMPRESSED_PAYLOAD_LZMA
857 bool "Use LZMA compression for payloads"
858 default y
Vladimir Serbinenko113a3662013-11-14 12:10:08 +0100859 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO || PAYLOAD_TIANOCORE || PAYLOAD_GRUB2
Uwe Hermann168b11b2009-10-07 16:15:40 +0000860 help
861 In order to reduce the size payloads take up in the ROM chip
862 coreboot can compress them using the LZMA algorithm.
863
Patrick Georgi16ae95c2013-08-31 08:26:52 +0200864config LINUX_COMMAND_LINE
865 string "Linux command line"
866 depends on PAYLOAD_LINUX
867 default ""
868 help
869 A command line to add to the Linux kernel.
870
871config LINUX_INITRD
872 string "Linux initrd"
873 depends on PAYLOAD_LINUX
874 default ""
875 help
876 An initrd image to add to the Linux kernel.
877
Peter Stugea758ca22009-09-17 16:21:31 +0000878endmenu
879
Uwe Hermann168b11b2009-10-07 16:15:40 +0000880menu "Debugging"
881
882# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000883config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000884 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200885 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000886 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000887 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000888 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000889
Denis 'GNUtoo' Cariklie4cece02012-06-22 15:56:37 +0200890config GDB_WAIT
891 bool "Wait for a GDB connection"
892 default n
893 depends on GDB_STUB
894 help
895 If enabled, coreboot will wait for a GDB connection.
896
Julius Wernerd82e0cf2015-02-17 17:27:23 -0800897config FATAL_ASSERTS
898 bool "Halt when hitting a BUG() or assertion error"
899 default n
900 help
901 If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
902
Stefan Reinauerfe422182012-05-02 16:33:18 -0700903config DEBUG_CBFS
904 bool "Output verbose CBFS debug messages"
905 default n
Stefan Reinauerfe422182012-05-02 16:33:18 -0700906 help
907 This option enables additional CBFS related debug messages.
908
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000909config HAVE_DEBUG_RAM_SETUP
910 def_bool n
911
Uwe Hermann01ce6012010-03-05 10:03:50 +0000912config DEBUG_RAM_SETUP
913 bool "Output verbose RAM init debug messages"
914 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000915 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000916 help
917 This option enables additional RAM init related debug messages.
918 It is recommended to enable this when debugging issues on your
919 board which might be RAM init related.
920
921 Note: This option will increase the size of the coreboot image.
922
923 If unsure, say N.
924
Patrick Georgie82618d2010-10-01 14:50:12 +0000925config HAVE_DEBUG_CAR
926 def_bool n
927
Peter Stuge5015f792010-11-10 02:00:32 +0000928config DEBUG_CAR
929 def_bool n
930 depends on HAVE_DEBUG_CAR
931
932if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000933# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
934# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000935config DEBUG_CAR
936 bool "Output verbose Cache-as-RAM debug messages"
937 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000938 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000939 help
940 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000941endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000942
Myles Watson80e914ff2010-06-01 19:25:31 +0000943config DEBUG_PIRQ
944 bool "Check PIRQ table consistency"
945 default n
946 depends on GENERATE_PIRQ_TABLE
947 help
948 If unsure, say N.
949
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000950config HAVE_DEBUG_SMBUS
951 def_bool n
952
Uwe Hermann01ce6012010-03-05 10:03:50 +0000953config DEBUG_SMBUS
954 bool "Output verbose SMBus debug messages"
955 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000956 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000957 help
958 This option enables additional SMBus (and SPD) debug messages.
959
960 Note: This option will increase the size of the coreboot image.
961
962 If unsure, say N.
963
964config DEBUG_SMI
965 bool "Output verbose SMI debug messages"
966 default n
967 depends on HAVE_SMI_HANDLER
968 help
969 This option enables additional SMI related debug messages.
970
971 Note: This option will increase the size of the coreboot image.
972
973 If unsure, say N.
974
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000975config DEBUG_SMM_RELOCATION
976 bool "Debug SMM relocation code"
977 default n
978 depends on HAVE_SMI_HANDLER
979 help
980 This option enables additional SMM handler relocation related
981 debug messages.
982
983 Note: This option will increase the size of the coreboot image.
984
985 If unsure, say N.
986
Uwe Hermanna953f372010-11-10 00:14:32 +0000987# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
988# printk(BIOS_DEBUG, ...) calls.
989config DEBUG_MALLOC
Stefan Reinauer95a63962012-11-13 17:00:01 -0800990 prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
991 bool
Uwe Hermanna953f372010-11-10 00:14:32 +0000992 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000993 help
994 This option enables additional malloc related debug messages.
995
996 Note: This option will increase the size of the coreboot image.
997
998 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300999
1000# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1001# printk(BIOS_DEBUG, ...) calls.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +03001002config DEBUG_ACPI
Stefan Reinauer95a63962012-11-13 17:00:01 -08001003 prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
1004 bool
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +03001005 default n
1006 help
1007 This option enables additional ACPI related debug messages.
1008
1009 Note: This option will slightly increase the size of the coreboot image.
1010
1011 If unsure, say N.
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +03001012
Uwe Hermanna953f372010-11-10 00:14:32 +00001013# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
1014# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +00001015config REALMODE_DEBUG
Stefan Reinauer95a63962012-11-13 17:00:01 -08001016 prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
1017 bool
Myles Watson6c9bc012010-09-07 22:30:15 +00001018 default n
Peter Stuge5015f792010-11-10 02:00:32 +00001019 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +00001020 help
1021 This option enables additional x86emu related debug messages.
1022
1023 Note: This option will increase the time to emulate a ROM.
1024
1025 If unsure, say N.
1026
Uwe Hermann01ce6012010-03-05 10:03:50 +00001027config X86EMU_DEBUG
1028 bool "Output verbose x86emu debug messages"
1029 default n
1030 depends on PCI_OPTION_ROM_RUN_YABEL
1031 help
1032 This option enables additional x86emu related debug messages.
1033
1034 Note: This option will increase the size of the coreboot image.
1035
1036 If unsure, say N.
1037
1038config X86EMU_DEBUG_JMP
1039 bool "Trace JMP/RETF"
1040 default n
1041 depends on X86EMU_DEBUG
1042 help
1043 Print information about JMP and RETF opcodes from x86emu.
1044
1045 Note: This option will increase the size of the coreboot image.
1046
1047 If unsure, say N.
1048
1049config X86EMU_DEBUG_TRACE
1050 bool "Trace all opcodes"
1051 default n
1052 depends on X86EMU_DEBUG
1053 help
1054 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +00001055
Uwe Hermann01ce6012010-03-05 10:03:50 +00001056 WARNING: This will produce a LOT of output and take a long time.
1057
1058 Note: This option will increase the size of the coreboot image.
1059
1060 If unsure, say N.
1061
1062config X86EMU_DEBUG_PNP
1063 bool "Log Plug&Play accesses"
1064 default n
1065 depends on X86EMU_DEBUG
1066 help
1067 Print Plug And Play accesses made by option ROMs.
1068
1069 Note: This option will increase the size of the coreboot image.
1070
1071 If unsure, say N.
1072
1073config X86EMU_DEBUG_DISK
1074 bool "Log Disk I/O"
1075 default n
1076 depends on X86EMU_DEBUG
1077 help
1078 Print Disk I/O related messages.
1079
1080 Note: This option will increase the size of the coreboot image.
1081
1082 If unsure, say N.
1083
1084config X86EMU_DEBUG_PMM
1085 bool "Log PMM"
1086 default n
1087 depends on X86EMU_DEBUG
1088 help
1089 Print messages related to POST Memory Manager (PMM).
1090
1091 Note: This option will increase the size of the coreboot image.
1092
1093 If unsure, say N.
1094
1095
1096config X86EMU_DEBUG_VBE
1097 bool "Debug VESA BIOS Extensions"
1098 default n
1099 depends on X86EMU_DEBUG
1100 help
1101 Print messages related to VESA BIOS Extension (VBE) functions.
1102
1103 Note: This option will increase the size of the coreboot image.
1104
1105 If unsure, say N.
1106
1107config X86EMU_DEBUG_INT10
1108 bool "Redirect INT10 output to console"
1109 default n
1110 depends on X86EMU_DEBUG
1111 help
1112 Let INT10 (i.e. character output) calls print messages to debug output.
1113
1114 Note: This option will increase the size of the coreboot image.
1115
1116 If unsure, say N.
1117
1118config X86EMU_DEBUG_INTERRUPTS
1119 bool "Log intXX calls"
1120 default n
1121 depends on X86EMU_DEBUG
1122 help
1123 Print messages related to interrupt handling.
1124
1125 Note: This option will increase the size of the coreboot image.
1126
1127 If unsure, say N.
1128
1129config X86EMU_DEBUG_CHECK_VMEM_ACCESS
1130 bool "Log special memory accesses"
1131 default n
1132 depends on X86EMU_DEBUG
1133 help
1134 Print messages related to accesses to certain areas of the virtual
1135 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
1136
1137 Note: This option will increase the size of the coreboot image.
1138
1139 If unsure, say N.
1140
1141config X86EMU_DEBUG_MEM
1142 bool "Log all memory accesses"
1143 default n
1144 depends on X86EMU_DEBUG
1145 help
1146 Print memory accesses made by option ROM.
1147 Note: This also includes accesses to fetch instructions.
1148
1149 Note: This option will increase the size of the coreboot image.
1150
1151 If unsure, say N.
1152
1153config X86EMU_DEBUG_IO
1154 bool "Log IO accesses"
1155 default n
1156 depends on X86EMU_DEBUG
1157 help
1158 Print I/O accesses made by option ROM.
1159
1160 Note: This option will increase the size of the coreboot image.
1161
1162 If unsure, say N.
1163
Denis 'GNUtoo' Carikli4cdc5d62013-05-15 00:19:49 +02001164config X86EMU_DEBUG_TIMINGS
1165 bool "Output timing information"
1166 default n
1167 depends on X86EMU_DEBUG && UDELAY_LAPIC && HAVE_MONOTONIC_TIMER
1168 help
1169 Print timing information needed by i915tool.
1170
1171 If unsure, say N.
1172
Stefan Reinauerdfb098d2011-11-17 12:50:54 -08001173config DEBUG_TPM
1174 bool "Output verbose TPM debug messages"
1175 default n
1176 depends on TPM
1177 help
1178 This option enables additional TPM related debug messages.
1179
Stefan Reinauer1c56d9b2012-05-10 11:27:32 -07001180config DEBUG_SPI_FLASH
1181 bool "Output verbose SPI flash debug messages"
1182 default n
1183 depends on SPI_FLASH
1184 help
1185 This option enables additional SPI flash related debug messages.
1186
Kyösti Mälkki3be80cc2013-06-06 10:46:37 +03001187config DEBUG_USBDEBUG
1188 bool "Output verbose USB 2.0 EHCI debug dongle messages"
1189 default n
1190 depends on USBDEBUG
1191 help
1192 This option enables additional USB 2.0 debug dongle related messages.
1193
1194 Select this to debug the connection of usbdebug dongle. Note that
1195 you need some other working console to receive the messages.
1196
Stefan Reinauer8e073822012-04-04 00:07:22 +02001197if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1198# Only visible with the right southbridge and loglevel.
1199config DEBUG_INTEL_ME
1200 bool "Verbose logging for Intel Management Engine"
1201 default n
1202 help
1203 Enable verbose logging for Intel Management Engine driver that
1204 is present on Intel 6-series chipsets.
1205endif
1206
Rudolf Marek7f0e9302011-09-02 23:23:41 +02001207config TRACE
1208 bool "Trace function calls"
1209 default n
1210 help
1211 If enabled, every function will print information to console once
1212 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
1213 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
1214 of calling function. Please note some printk releated functions
1215 are omitted from trace to have good looking console dumps.
Stefan Reinauerd37ab452012-12-18 16:23:28 -08001216
1217config DEBUG_COVERAGE
1218 bool "Debug code coverage"
1219 default n
1220 depends on COVERAGE
1221 help
1222 If enabled, the code coverage hooks in coreboot will output some
1223 information about the coverage data that is dumped.
1224
Uwe Hermann168b11b2009-10-07 16:15:40 +00001225endmenu
1226
Myles Watsond73c1b52009-10-26 15:14:07 +00001227# These probably belong somewhere else, but they are needed somewhere.
Myles Watsond73c1b52009-10-26 15:14:07 +00001228config ENABLE_APIC_EXT_ID
1229 bool
1230 default n
Myles Watson2e672732009-11-12 16:38:03 +00001231
1232config WARNINGS_ARE_ERRORS
1233 bool
Edward O'Callaghan63f6dc72014-11-18 03:17:54 +11001234 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +00001235
Peter Stuge51eafde2010-10-13 06:23:02 +00001236# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1237# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1238# mutually exclusive. One of these options must be selected in the
1239# mainboard Kconfig if the chipset supports enabling and disabling of
1240# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1241# in mainboard/Kconfig to know if the button should be enabled or not.
1242
1243config POWER_BUTTON_DEFAULT_ENABLE
1244 def_bool n
1245 help
1246 Select when the board has a power button which can optionally be
1247 disabled by the user.
1248
1249config POWER_BUTTON_DEFAULT_DISABLE
1250 def_bool n
1251 help
1252 Select when the board has a power button which can optionally be
1253 enabled by the user, e.g. when the board ships with a jumper over
1254 the power switch contacts.
1255
1256config POWER_BUTTON_FORCE_ENABLE
1257 def_bool n
1258 help
1259 Select when the board requires that the power button is always
1260 enabled.
1261
1262config POWER_BUTTON_FORCE_DISABLE
1263 def_bool n
1264 help
1265 Select when the board requires that the power button is always
1266 disabled, e.g. when it has been hardwired to ground.
1267
1268config POWER_BUTTON_IS_OPTIONAL
1269 bool
1270 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1271 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1272 help
1273 Internal option that controls ENABLE_POWER_BUTTON visibility.
Duncan Laurie72748002013-10-31 08:26:23 -07001274
1275config REG_SCRIPT
1276 bool
Duncan Laurie72748002013-10-31 08:26:23 -07001277 default n
1278 help
1279 Internal option that controls whether we compile in register scripts.
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001280
Furquan Shaikh99ac98f2014-04-23 10:18:48 -07001281config MAX_REBOOT_CNT
1282 int
1283 default 3
Timothy Pearson17ada2e2015-03-18 01:31:34 -05001284 help
1285 Internal option that sets the maximum number of bootblock executions allowed
1286 with the normal image enabled before assuming the normal image is defective
Vadim Bendebury9c9c3362014-07-23 09:40:02 -07001287 and switching to the fallback image.