blob: d449b30b84dfa2407c4a28a85d84f8c4a12ee9e6 [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##
Stefan Reinauer16f515a2010-01-20 18:44:30 +00004## Copyright (C) 2009-2010 coresystems GmbH
Patrick Georgi0588d192009-08-12 15:00:51 +00005##
Stefan Reinauer16f515a2010-01-20 18:44:30 +00006## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15## You should have received a copy of the GNU General Public License
16## along with this program; if not, write to the Free Software
17## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Patrick Georgi0588d192009-08-12 15:00:51 +000018##
19
Uwe Hermannad8c95f2012-04-12 22:00:03 +020020mainmenu "coreboot configuration"
Patrick Georgi0588d192009-08-12 15:00:51 +000021
Uwe Hermannc04be932009-10-05 13:55:28 +000022menu "General setup"
23
Uwe Hermanna29ad5c2009-10-18 18:35:50 +000024config EXPERT
25 bool "Expert mode"
26 help
27 This allows you to select certain advanced configuration options.
28
29 Warning: Only enable this option if you really know what you are
30 doing! You have been warned!
31
Uwe Hermannc04be932009-10-05 13:55:28 +000032config LOCALVERSION
Uwe Hermann168b11b2009-10-07 16:15:40 +000033 string "Local version string"
Uwe Hermannc04be932009-10-05 13:55:28 +000034 help
35 Append an extra string to the end of the coreboot version.
36
Uwe Hermann168b11b2009-10-07 16:15:40 +000037 This can be useful if, for instance, you want to append the
38 respective board's hostname or some other identifying string to
39 the coreboot version number, so that you can easily distinguish
40 boot logs of different boards from each other.
41
Patrick Georgi4b8a2412010-02-09 19:35:16 +000042config CBFS_PREFIX
43 string "CBFS prefix to use"
44 default "fallback"
45 help
46 Select the prefix to all files put into the image. It's "fallback"
47 by default, "normal" is a common alternative.
48
Patrick Georgi23d89cc2010-03-16 01:17:19 +000049choice
Uwe Hermannad8c95f2012-04-12 22:00:03 +020050 prompt "Compiler to use"
Patrick Georgi23d89cc2010-03-16 01:17:19 +000051 default COMPILER_GCC
52 help
53 This option allows you to select the compiler used for building
54 coreboot.
55
56config COMPILER_GCC
57 bool "GCC"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020058 help
59 Use the GNU Compiler Collection (GCC) to build coreboot.
60
61 For details see http://gcc.gnu.org.
62
Patrick Georgi23d89cc2010-03-16 01:17:19 +000063config COMPILER_LLVM_CLANG
64 bool "LLVM/clang"
Uwe Hermannad8c95f2012-04-12 22:00:03 +020065 help
66 Use LLVM/clang to build coreboot.
67
68 For details see http://clang.llvm.org.
69
Patrick Georgi23d89cc2010-03-16 01:17:19 +000070endchoice
71
Patrick Georgi020f51f2010-03-14 21:25:03 +000072config SCANBUILD_ENABLE
Uwe Hermannad8c95f2012-04-12 22:00:03 +020073 bool "Build with scan-build for static code analysis"
Patrick Georgi020f51f2010-03-14 21:25:03 +000074 default n
75 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +020076 Changes the build process to use scan-build (a utility for
77 running the clang static code analyzer from the command line).
78
79 Requires the scan-build utility in your system $PATH.
80
81 For details see http://clang-analyzer.llvm.org/scan-build.html.
Patrick Georgi020f51f2010-03-14 21:25:03 +000082
83config SCANBUILD_REPORT_LOCATION
Uwe Hermannad8c95f2012-04-12 22:00:03 +020084 string "Directory for the scan-build report(s)"
Patrick Georgi020f51f2010-03-14 21:25:03 +000085 default ""
86 depends on SCANBUILD_ENABLE
87 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +020088 Directory where the scan-build reports should be stored in. The
89 reports are stored in subdirectories of the form 'yyyy-mm-dd-*'
90 in the specified directory.
91
92 If this setting is left empty, the coreboot top-level directory
93 will be used to store the report subdirectories.
Patrick Georgi020f51f2010-03-14 21:25:03 +000094
Patrick Georgi516a2a72010-03-25 21:45:25 +000095config CCACHE
Uwe Hermannad8c95f2012-04-12 22:00:03 +020096 bool "Use ccache to speed up (re)compilation"
Patrick Georgi516a2a72010-03-25 21:45:25 +000097 default n
98 help
99 Enables the use of ccache for faster builds.
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200100
101 Requires the ccache utility in your system $PATH.
102
103 For details see https://ccache.samba.org.
Patrick Georgi516a2a72010-03-25 21:45:25 +0000104
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000105config SCONFIG_GENPARSER
106 bool "Generate SCONFIG parser using flex and bison"
107 default n
108 depends on EXPERT
109 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200110 Enable this option if you are working on the sconfig device tree
111 parser and made changes to sconfig.l and sconfig.y.
112
Stefan Reinauer9bf78102010-08-09 13:28:18 +0000113 Otherwise, say N.
114
Joe Korty6d772522010-05-19 18:41:15 +0000115config USE_OPTION_TABLE
116 bool "Use CMOS for configuration values"
117 default n
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000118 depends on HAVE_OPTION_TABLE
Joe Korty6d772522010-05-19 18:41:15 +0000119 help
120 Enable this option if coreboot shall read options from the "CMOS"
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200121 NVRAM instead of using hard-coded values.
Joe Korty6d772522010-05-19 18:41:15 +0000122
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000123config COMPRESS_RAMSTAGE
124 bool "Compress ramstage with LZMA"
125 default y
126 help
127 Compress ramstage to save memory in the flash image. Note
128 that decompression might slow down booting if the boot flash
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200129 is connected through a slow link (i.e. SPI).
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000130
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200131config INCLUDE_CONFIG_FILE
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200132 bool "Include the coreboot .config file into the ROM image"
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200133 default y
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200134 help
135 Include the .config file that was used to compile coreboot
136 in the (CBFS) ROM image. This is useful if you want to know which
137 options were used to build a specific coreboot.rom image.
138
139 Saying Y here will increase the image size by 2-3kB.
140
141 You can use the following command to easily list the options:
142
143 grep -a CONFIG_ coreboot.rom
144
145 Alternatively, you can also use cbfstool to print the image
146 contents (including the raw 'config' item we're looking for).
147
148 Example:
149
150 $ cbfstool coreboot.rom print
151 coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
152 offset 0x0
153 Alignment: 64 bytes
154
155 Name Offset Type Size
156 cmos_layout.bin 0x0 cmos layout 1159
157 fallback/romstage 0x4c0 stage 339756
158 fallback/coreboot_ram 0x53440 stage 186664
159 fallback/payload 0x80dc0 payload 51526
160 config 0x8d740 raw 3324
161 (empty) 0x8e480 null 3610440
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200162
Vadim Bendeburye6b6aff2011-09-20 16:46:46 -0700163config EARLY_CBMEM_INIT
164 bool "Initialize CBMEM while in ROM stage"
165 default n
166 help
Uwe Hermannad8c95f2012-04-12 22:00:03 +0200167 Make coreboot initialize the cbmem structures while running in ROM
168 stage. This could be useful when the ROM stage wants to communicate
Vadim Bendeburye6b6aff2011-09-20 16:46:46 -0700169 some, for instance, execution timestamps.
170
Vadim Bendebury9202473d2011-09-21 14:46:43 -0700171config COLLECT_TIMESTAMPS
172 bool "Create a table of timestamps collected during boot"
173 depends on EARLY_CBMEM_INIT
174 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
186config REQUIRES_BLOB
187 bool
188 default n
189 help
190 This option can be configured by boards that require the blobs
191 repository for the default configuration. It will make the build
192 fail if USE_BLOBS is disabled. Users that still desire to do a
193 coreboot build for such a board can override this manually, but
194 this option serves as warning that it might fail.
195
Uwe Hermannc04be932009-10-05 13:55:28 +0000196endmenu
197
Patrick Georgi0588d192009-08-12 15:00:51 +0000198source src/mainboard/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000199
200# This option is used to set the architecture of a mainboard to X86.
201# It is usually set in mainboard/*/Kconfig.
202config ARCH_X86
203 bool
204 default n
205
206if ARCH_X86
Stefan Reinauer8677a232010-12-11 20:33:41 +0000207source src/arch/x86/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000208endif
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000209
210menu "Chipset"
211
212comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +0000213source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000214comment "Northbridge"
215source src/northbridge/Kconfig
216comment "Southbridge"
217source src/southbridge/Kconfig
218comment "Super I/O"
219source src/superio/Kconfig
220comment "Devices"
221source src/devices/Kconfig
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000222comment "Embedded Controllers"
223source src/ec/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000224
225endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000226
Rudolf Marekd9c25492010-05-16 15:31:53 +0000227menu "Generic Drivers"
228source src/drivers/Kconfig
229endmenu
230
Patrick Georgi0588d192009-08-12 15:00:51 +0000231config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +0000232 int
233 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +0000234
Patrick Georgi0588d192009-08-12 15:00:51 +0000235config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000236 bool
237 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000238
Patrick Georgi0588d192009-08-12 15:00:51 +0000239config HEAP_SIZE
240 hex
Myles Watson04000f42009-10-16 19:12:49 +0000241 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000242
Patrick Georgi0588d192009-08-12 15:00:51 +0000243config MAX_CPUS
244 int
245 default 1
246
247config MMCONF_SUPPORT_DEFAULT
248 bool
249 default n
250
251config MMCONF_SUPPORT
252 bool
253 default n
254
Patrick Georgi0588d192009-08-12 15:00:51 +0000255source src/console/Kconfig
256
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000257# This should default to N and be set by SuperI/O drivers that have an UART
258config HAVE_UART_IO_MAPPED
259 bool
260 default y
261
262config HAVE_UART_MEMORY_MAPPED
263 bool
264 default n
265
Patrick Georgi0588d192009-08-12 15:00:51 +0000266config HAVE_ACPI_RESUME
267 bool
268 default n
269
Stefan Reinauerc4f1a772010-06-05 10:03:08 +0000270config HAVE_ACPI_SLIC
271 bool
272 default n
273
Patrick Georgi0588d192009-08-12 15:00:51 +0000274config ACPI_SSDTX_NUM
275 int
276 default 0
277
Patrick Georgi0588d192009-08-12 15:00:51 +0000278config HAVE_HARD_RESET
279 bool
Patrick Georgi37bdb872010-02-27 08:39:04 +0000280 default y if BOARD_HAS_HARD_RESET
Uwe Hermann748475b2009-10-09 11:47:21 +0000281 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000282 help
283 This variable specifies whether a given board has a hard_reset
284 function, no matter if it's provided by board code or chipset code.
285
Patrick Georgi0588d192009-08-12 15:00:51 +0000286config HAVE_INIT_TIMER
287 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000288 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000289 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000290
zbaof7223732012-04-13 13:42:15 +0800291config HIGH_SCRATCH_MEMORY_SIZE
292 hex
293 default 0x0
294
Patrick Georgi0588d192009-08-12 15:00:51 +0000295config HAVE_MAINBOARD_RESOURCES
296 bool
297 default n
298
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000299config USE_OPTION_TABLE
300 bool
301 default n
302
Patrick Georgi0588d192009-08-12 15:00:51 +0000303config HAVE_OPTION_TABLE
304 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000305 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000306 help
307 This variable specifies whether a given board has a cmos.layout
308 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000309 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000310
Patrick Georgi0588d192009-08-12 15:00:51 +0000311config PIRQ_ROUTE
312 bool
313 default n
314
315config HAVE_SMI_HANDLER
316 bool
317 default n
318
319config PCI_IO_CFG_EXT
320 bool
321 default n
322
323config IOAPIC
324 bool
325 default n
326
Stefan Reinauer3008bbad2011-10-11 14:46:25 -0700327config TPM
328 bool
329 default n
330
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000331# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000332config VIDEO_MB
333 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000334 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000335
Myles Watson45bb25f2009-09-22 18:49:08 +0000336config USE_WATCHDOG_ON_BOOT
337 bool
338 default n
339
340config VGA
341 bool
342 default n
343 help
344 Build board-specific VGA code.
345
346config GFXUMA
347 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000348 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000349 help
350 Enable Unified Memory Architecture for graphics.
351
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000352# TODO
353# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000354#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000355# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000356
Myles Watsonb8e20272009-10-15 13:35:47 +0000357config HAVE_ACPI_TABLES
358 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000359 help
360 This variable specifies whether a given board has ACPI table support.
361 It is usually set in mainboard/*/Kconfig.
362 Whether or not the ACPI tables are actually generated by coreboot
363 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000364
365config HAVE_MP_TABLE
366 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000367 help
368 This variable specifies whether a given board has MP table support.
369 It is usually set in mainboard/*/Kconfig.
370 Whether or not the MP table is actually generated by coreboot
371 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000372
373config HAVE_PIRQ_TABLE
374 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000375 help
376 This variable specifies whether a given board has PIRQ table support.
377 It is usually set in mainboard/*/Kconfig.
378 Whether or not the PIRQ table is actually generated by coreboot
379 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000380
Myles Watsond73c1b52009-10-26 15:14:07 +0000381#These Options are here to avoid "undefined" warnings.
382#The actual selection and help texts are in the following menu.
383
384config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000385 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000386 default HAVE_ACPI_TABLES
387
388config GENERATE_MP_TABLE
389 bool
390 default HAVE_MP_TABLE
391
392config GENERATE_PIRQ_TABLE
393 bool
394 default HAVE_PIRQ_TABLE
395
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200396config GENERATE_SMBIOS_TABLES
397 bool
398 default y
399
Uwe Hermann168b11b2009-10-07 16:15:40 +0000400menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000401
Myles Watsonb8e20272009-10-15 13:35:47 +0000402config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000403 bool "Write 'high' tables to avoid being overwritten in F segment"
404 default y
405
406config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000407 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000408 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000409
Myles Watsonb8e20272009-10-15 13:35:47 +0000410config GENERATE_ACPI_TABLES
411 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000412 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000413 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000414 help
415 Generate ACPI tables for this board.
416
417 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000418
Myles Watsonb8e20272009-10-15 13:35:47 +0000419config GENERATE_MP_TABLE
420 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000421 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000422 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000423 help
424 Generate an MP table (conforming to the Intel MultiProcessor
425 specification 1.4) for this board.
426
427 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000428
Myles Watsonb8e20272009-10-15 13:35:47 +0000429config GENERATE_PIRQ_TABLE
430 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000431 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000432 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000433 help
434 Generate a PIRQ table for this board.
435
436 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000437
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200438config GENERATE_SMBIOS_TABLES
439 depends on ARCH_X86
440 bool "Generate SMBIOS tables"
441 default y
442 help
443 Generate SMBIOS tables for this board.
444
445 If unsure, say Y.
446
Myles Watson45bb25f2009-09-22 18:49:08 +0000447endmenu
448
Patrick Georgi0588d192009-08-12 15:00:51 +0000449menu "Payload"
450
Patrick Georgi0588d192009-08-12 15:00:51 +0000451choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000452 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000453 default PAYLOAD_NONE if !ARCH_X86
454 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000455
Uwe Hermann168b11b2009-10-07 16:15:40 +0000456config PAYLOAD_NONE
457 bool "None"
458 help
459 Select this option if you want to create an "empty" coreboot
460 ROM image for a certain mainboard, i.e. a coreboot ROM image
461 which does not yet contain a payload.
462
463 For such an image to be useful, you have to use 'cbfstool'
464 to add a payload to the ROM image later.
465
Patrick Georgi0588d192009-08-12 15:00:51 +0000466config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000467 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000468 help
469 Select this option if you have a payload image (an ELF file)
470 which coreboot should run as soon as the basic hardware
471 initialization is completed.
472
473 You will be able to specify the location and file name of the
474 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000475
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000476config PAYLOAD_SEABIOS
477 bool "SeaBIOS"
478 depends on ARCH_X86
479 help
480 Select this option if you want to build a coreboot image
481 with a SeaBIOS payload. If you don't know what this is
482 about, just leave it enabled.
483
484 See http://coreboot.org/Payloads for more information.
485
Stefan Reinauere50952f2011-04-15 03:34:05 +0000486config PAYLOAD_FILO
487 bool "FILO"
488 help
489 Select this option if you want to build a coreboot image
490 with a FILO payload. If you don't know what this is
491 about, just leave it enabled.
492
493 See http://coreboot.org/Payloads for more information.
494
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000495endchoice
496
497choice
498 prompt "SeaBIOS version"
499 default SEABIOS_STABLE
500 depends on PAYLOAD_SEABIOS
501
502config SEABIOS_STABLE
503 bool "stable"
504 help
505 Stable SeaBIOS version
506config SEABIOS_MASTER
507 bool "master"
508 help
509 Newest SeaBIOS version
Patrick Georgi0588d192009-08-12 15:00:51 +0000510endchoice
511
Stefan Reinauere50952f2011-04-15 03:34:05 +0000512choice
513 prompt "FILO version"
514 default FILO_STABLE
515 depends on PAYLOAD_FILO
516
517config FILO_STABLE
518 bool "0.6.0"
519 help
520 Stable FILO version
521config FILO_MASTER
522 bool "HEAD"
523 help
524 Newest FILO version
525endchoice
526
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000527config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000528 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000529 depends on PAYLOAD_ELF
530 default "payload.elf"
531 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000532 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000533
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000534config PAYLOAD_FILE
535 depends on PAYLOAD_SEABIOS
Stefan Reinaueraff6dc22012-01-21 10:34:22 -0800536 default "$(obj)/seabios/out/bios.bin.elf"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000537
Stefan Reinauere50952f2011-04-15 03:34:05 +0000538config PAYLOAD_FILE
539 depends on PAYLOAD_FILO
540 default "payloads/external/FILO/filo/build/filo.elf"
541
Uwe Hermann168b11b2009-10-07 16:15:40 +0000542# TODO: Defined if no payload? Breaks build?
543config COMPRESSED_PAYLOAD_LZMA
544 bool "Use LZMA compression for payloads"
545 default y
Stefan Reinauere50952f2011-04-15 03:34:05 +0000546 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
Uwe Hermann168b11b2009-10-07 16:15:40 +0000547 help
548 In order to reduce the size payloads take up in the ROM chip
549 coreboot can compress them using the LZMA algorithm.
550
Myles Watson04000f42009-10-16 19:12:49 +0000551config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000552 bool
Myles Watson04000f42009-10-16 19:12:49 +0000553 default n
554
Peter Stugea758ca22009-09-17 16:21:31 +0000555endmenu
556
557menu "VGA BIOS"
558
559config VGA_BIOS
560 bool "Add a VGA BIOS image"
561 help
562 Select this option if you have a VGA BIOS image that you would
563 like to add to your ROM.
564
565 You will be able to specify the location and file name of the
566 image later.
567
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000568config VGA_BIOS_FILE
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000569 string "VGA BIOS path and filename"
570 depends on VGA_BIOS
571 default "vgabios.bin"
572 help
573 The path and filename of the file to use as VGA BIOS.
574
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000575config VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000576 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000577 depends on VGA_BIOS
578 default "1106,3230"
579 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000580 The comma-separated PCI vendor and device ID that would associate
581 your VGA BIOS to your video card.
582
583 Example: 1106,3230
584
585 In the above example 1106 is the PCI vendor ID (in hex, but without
586 the "0x" prefix) and 3230 specifies the PCI device ID of the
587 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000588
Stefan Reinauer800379f2010-03-01 08:34:19 +0000589config INTEL_MBI
590 bool "Add an MBI image"
591 depends on NORTHBRIDGE_INTEL_I82830
592 help
593 Select this option if you have an Intel MBI image that you would
594 like to add to your ROM.
595
596 You will be able to specify the location and file name of the
597 image later.
598
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000599config MBI_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000600 string "Intel MBI path and filename"
601 depends on INTEL_MBI
602 default "mbi.bin"
603 help
604 The path and filename of the file to use as VGA BIOS.
605
606endmenu
607
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700608menu "Display"
609 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
610
611config FRAMEBUFFER_SET_VESA_MODE
612 prompt "Set VESA framebuffer mode"
613 bool
614 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
615 help
616 Set VESA framebuffer mode (needed for bootsplash)
617
618# TODO: Turn this into a "choice".
619config FRAMEBUFFER_VESA_MODE
620 prompt "VESA framebuffer video mode"
621 hex
622 default 0x117
623 depends on FRAMEBUFFER_SET_VESA_MODE
624 help
625 This option sets the resolution used for the coreboot framebuffer (and
626 bootsplash screen). Set to 0x117 for 1024x768x16. A diligent soul will
627 some day make this a "choice".
628
629config FRAMEBUFFER_KEEP_VESA_MODE
630 prompt "Keep VESA framebuffer"
631 bool
632 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
633 help
634 This option keeps the framebuffer mode set after coreboot finishes
635 execution. If this option is enabled, coreboot will pass a
636 framebuffer entry in its coreboot table and the payload will need a
637 framebuffer driver. If this option is disabled, coreboot will switch
638 back to text mode before handing control to a payload.
Stefan Reinauer800379f2010-03-01 08:34:19 +0000639
640config BOOTSPLASH
641 prompt "Show graphical bootsplash"
642 bool
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700643 depends on FRAMEBUFFER_SET_VESA_MODE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000644 help
645 This option shows a graphical bootsplash screen. The grapics are
646 loaded from the CBFS file bootsplash.jpg.
647
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000648config BOOTSPLASH_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000649 string "Bootsplash path and filename"
650 depends on BOOTSPLASH
651 default "bootsplash.jpg"
652 help
Stefan Reinauer14e22772010-04-27 06:56:47 +0000653 The path and filename of the file to use as graphical bootsplash
654 screen. The file format has to be jpg.
Patrick Georgi0588d192009-08-12 15:00:51 +0000655endmenu
656
Uwe Hermann168b11b2009-10-07 16:15:40 +0000657menu "Debugging"
658
659# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000660config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000661 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200662 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000663 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000664 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000665 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000666
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000667config HAVE_DEBUG_RAM_SETUP
668 def_bool n
669
Uwe Hermann01ce6012010-03-05 10:03:50 +0000670config DEBUG_RAM_SETUP
671 bool "Output verbose RAM init debug messages"
672 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000673 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000674 help
675 This option enables additional RAM init related debug messages.
676 It is recommended to enable this when debugging issues on your
677 board which might be RAM init related.
678
679 Note: This option will increase the size of the coreboot image.
680
681 If unsure, say N.
682
Patrick Georgie82618d2010-10-01 14:50:12 +0000683config HAVE_DEBUG_CAR
684 def_bool n
685
Peter Stuge5015f792010-11-10 02:00:32 +0000686config DEBUG_CAR
687 def_bool n
688 depends on HAVE_DEBUG_CAR
689
690if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000691# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
692# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000693config DEBUG_CAR
694 bool "Output verbose Cache-as-RAM debug messages"
695 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000696 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000697 help
698 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000699endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000700
Myles Watson80e914ff2010-06-01 19:25:31 +0000701config DEBUG_PIRQ
702 bool "Check PIRQ table consistency"
703 default n
704 depends on GENERATE_PIRQ_TABLE
705 help
706 If unsure, say N.
707
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000708config HAVE_DEBUG_SMBUS
709 def_bool n
710
Uwe Hermann01ce6012010-03-05 10:03:50 +0000711config DEBUG_SMBUS
712 bool "Output verbose SMBus debug messages"
713 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000714 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000715 help
716 This option enables additional SMBus (and SPD) debug messages.
717
718 Note: This option will increase the size of the coreboot image.
719
720 If unsure, say N.
721
722config DEBUG_SMI
723 bool "Output verbose SMI debug messages"
724 default n
725 depends on HAVE_SMI_HANDLER
726 help
727 This option enables additional SMI related debug messages.
728
729 Note: This option will increase the size of the coreboot image.
730
731 If unsure, say N.
732
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000733config DEBUG_SMM_RELOCATION
734 bool "Debug SMM relocation code"
735 default n
736 depends on HAVE_SMI_HANDLER
737 help
738 This option enables additional SMM handler relocation related
739 debug messages.
740
741 Note: This option will increase the size of the coreboot image.
742
743 If unsure, say N.
744
Peter Stuge5015f792010-11-10 02:00:32 +0000745config DEBUG_MALLOC
746 def_bool n
747
Uwe Hermanna953f372010-11-10 00:14:32 +0000748# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
749# printk(BIOS_DEBUG, ...) calls.
Peter Stuge5015f792010-11-10 02:00:32 +0000750if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000751config DEBUG_MALLOC
752 bool "Output verbose malloc debug messages"
753 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000754 help
755 This option enables additional malloc related debug messages.
756
757 Note: This option will increase the size of the coreboot image.
758
759 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000760endif
Uwe Hermanna953f372010-11-10 00:14:32 +0000761
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300762config DEBUG_ACPI
763 def_bool n
764
765# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
766# printk(BIOS_DEBUG, ...) calls.
767if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
768config DEBUG_ACPI
769 bool "Output verbose ACPI debug messages"
770 default n
771 help
772 This option enables additional ACPI related debug messages.
773
774 Note: This option will slightly increase the size of the coreboot image.
775
776 If unsure, say N.
777endif
778
Peter Stuge5015f792010-11-10 02:00:32 +0000779config REALMODE_DEBUG
780 def_bool n
781 depends on PCI_OPTION_ROM_RUN_REALMODE
782
783if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000784# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
785# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000786config REALMODE_DEBUG
787 bool "Enable debug messages for option ROM execution"
788 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000789 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000790 help
791 This option enables additional x86emu related debug messages.
792
793 Note: This option will increase the time to emulate a ROM.
794
795 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000796endif
Myles Watson6c9bc012010-09-07 22:30:15 +0000797
Uwe Hermann01ce6012010-03-05 10:03:50 +0000798config X86EMU_DEBUG
799 bool "Output verbose x86emu debug messages"
800 default n
801 depends on PCI_OPTION_ROM_RUN_YABEL
802 help
803 This option enables additional x86emu related debug messages.
804
805 Note: This option will increase the size of the coreboot image.
806
807 If unsure, say N.
808
809config X86EMU_DEBUG_JMP
810 bool "Trace JMP/RETF"
811 default n
812 depends on X86EMU_DEBUG
813 help
814 Print information about JMP and RETF opcodes from x86emu.
815
816 Note: This option will increase the size of the coreboot image.
817
818 If unsure, say N.
819
820config X86EMU_DEBUG_TRACE
821 bool "Trace all opcodes"
822 default n
823 depends on X86EMU_DEBUG
824 help
825 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000826
Uwe Hermann01ce6012010-03-05 10:03:50 +0000827 WARNING: This will produce a LOT of output and take a long time.
828
829 Note: This option will increase the size of the coreboot image.
830
831 If unsure, say N.
832
833config X86EMU_DEBUG_PNP
834 bool "Log Plug&Play accesses"
835 default n
836 depends on X86EMU_DEBUG
837 help
838 Print Plug And Play accesses made by option ROMs.
839
840 Note: This option will increase the size of the coreboot image.
841
842 If unsure, say N.
843
844config X86EMU_DEBUG_DISK
845 bool "Log Disk I/O"
846 default n
847 depends on X86EMU_DEBUG
848 help
849 Print Disk I/O related messages.
850
851 Note: This option will increase the size of the coreboot image.
852
853 If unsure, say N.
854
855config X86EMU_DEBUG_PMM
856 bool "Log PMM"
857 default n
858 depends on X86EMU_DEBUG
859 help
860 Print messages related to POST Memory Manager (PMM).
861
862 Note: This option will increase the size of the coreboot image.
863
864 If unsure, say N.
865
866
867config X86EMU_DEBUG_VBE
868 bool "Debug VESA BIOS Extensions"
869 default n
870 depends on X86EMU_DEBUG
871 help
872 Print messages related to VESA BIOS Extension (VBE) functions.
873
874 Note: This option will increase the size of the coreboot image.
875
876 If unsure, say N.
877
878config X86EMU_DEBUG_INT10
879 bool "Redirect INT10 output to console"
880 default n
881 depends on X86EMU_DEBUG
882 help
883 Let INT10 (i.e. character output) calls print messages to debug output.
884
885 Note: This option will increase the size of the coreboot image.
886
887 If unsure, say N.
888
889config X86EMU_DEBUG_INTERRUPTS
890 bool "Log intXX calls"
891 default n
892 depends on X86EMU_DEBUG
893 help
894 Print messages related to interrupt handling.
895
896 Note: This option will increase the size of the coreboot image.
897
898 If unsure, say N.
899
900config X86EMU_DEBUG_CHECK_VMEM_ACCESS
901 bool "Log special memory accesses"
902 default n
903 depends on X86EMU_DEBUG
904 help
905 Print messages related to accesses to certain areas of the virtual
906 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
907
908 Note: This option will increase the size of the coreboot image.
909
910 If unsure, say N.
911
912config X86EMU_DEBUG_MEM
913 bool "Log all memory accesses"
914 default n
915 depends on X86EMU_DEBUG
916 help
917 Print memory accesses made by option ROM.
918 Note: This also includes accesses to fetch instructions.
919
920 Note: This option will increase the size of the coreboot image.
921
922 If unsure, say N.
923
924config X86EMU_DEBUG_IO
925 bool "Log IO accesses"
926 default n
927 depends on X86EMU_DEBUG
928 help
929 Print I/O accesses made by option ROM.
930
931 Note: This option will increase the size of the coreboot image.
932
933 If unsure, say N.
934
Stefan Reinauerdfb098d2011-11-17 12:50:54 -0800935config DEBUG_TPM
936 bool "Output verbose TPM debug messages"
937 default n
938 depends on TPM
939 help
940 This option enables additional TPM related debug messages.
941
Stefan Reinauer8e073822012-04-04 00:07:22 +0200942if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
943# Only visible with the right southbridge and loglevel.
944config DEBUG_INTEL_ME
945 bool "Verbose logging for Intel Management Engine"
946 default n
947 help
948 Enable verbose logging for Intel Management Engine driver that
949 is present on Intel 6-series chipsets.
950endif
951
Stefan Reinauer5c503922010-03-13 22:07:15 +0000952config LLSHELL
953 bool "Built-in low-level shell"
954 default n
955 help
956 If enabled, you will have a low level shell to examine your machine.
957 Put llshell() in your (romstage) code to start the shell.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000958 See src/arch/x86/llshell/llshell.inc for details.
Stefan Reinauer5c503922010-03-13 22:07:15 +0000959
Rudolf Marek7f0e9302011-09-02 23:23:41 +0200960config TRACE
961 bool "Trace function calls"
962 default n
963 help
964 If enabled, every function will print information to console once
965 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
966 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
967 of calling function. Please note some printk releated functions
968 are omitted from trace to have good looking console dumps.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000969endmenu
970
Myles Watson8f74c582009-10-20 16:10:04 +0000971config LIFT_BSP_APIC_ID
972 bool
973 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000974
975# These probably belong somewhere else, but they are needed somewhere.
976config AP_CODE_IN_CAR
977 bool
978 default n
979
Jonathan Kollasche5b75072010-10-07 23:02:06 +0000980config RAMINIT_SYSINFO
981 bool
982 default n
983
Myles Watsond73c1b52009-10-26 15:14:07 +0000984config ENABLE_APIC_EXT_ID
985 bool
986 default n
Myles Watson2e672732009-11-12 16:38:03 +0000987
988config WARNINGS_ARE_ERRORS
989 bool
Stefan Reinauer6f57b512010-07-08 16:41:05 +0000990 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +0000991
Peter Stuge51eafde2010-10-13 06:23:02 +0000992# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
993# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
994# mutually exclusive. One of these options must be selected in the
995# mainboard Kconfig if the chipset supports enabling and disabling of
996# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
997# in mainboard/Kconfig to know if the button should be enabled or not.
998
999config POWER_BUTTON_DEFAULT_ENABLE
1000 def_bool n
1001 help
1002 Select when the board has a power button which can optionally be
1003 disabled by the user.
1004
1005config POWER_BUTTON_DEFAULT_DISABLE
1006 def_bool n
1007 help
1008 Select when the board has a power button which can optionally be
1009 enabled by the user, e.g. when the board ships with a jumper over
1010 the power switch contacts.
1011
1012config POWER_BUTTON_FORCE_ENABLE
1013 def_bool n
1014 help
1015 Select when the board requires that the power button is always
1016 enabled.
1017
1018config POWER_BUTTON_FORCE_DISABLE
1019 def_bool n
1020 help
1021 Select when the board requires that the power button is always
1022 disabled, e.g. when it has been hardwired to ground.
1023
1024config POWER_BUTTON_IS_OPTIONAL
1025 bool
1026 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1027 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1028 help
1029 Internal option that controls ENABLE_POWER_BUTTON visibility.
1030
Patrick Georgicc669262010-03-14 21:31:05 +00001031source src/Kconfig.deprecated_options
Stefan Reinauerb89a7612012-03-30 01:01:51 +02001032source src/vendorcode/Kconfig