blob: e8a560df243e152abd0c078963f981008e478ee3 [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
Uwe Hermannc04be932009-10-05 13:55:28 +0000178endmenu
179
Patrick Georgi0588d192009-08-12 15:00:51 +0000180source src/mainboard/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000181
182# This option is used to set the architecture of a mainboard to X86.
183# It is usually set in mainboard/*/Kconfig.
184config ARCH_X86
185 bool
186 default n
187
188if ARCH_X86
Stefan Reinauer8677a232010-12-11 20:33:41 +0000189source src/arch/x86/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000190endif
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000191
192menu "Chipset"
193
194comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +0000195source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000196comment "Northbridge"
197source src/northbridge/Kconfig
198comment "Southbridge"
199source src/southbridge/Kconfig
200comment "Super I/O"
201source src/superio/Kconfig
202comment "Devices"
203source src/devices/Kconfig
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000204comment "Embedded Controllers"
205source src/ec/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000206
207endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000208
Rudolf Marekd9c25492010-05-16 15:31:53 +0000209menu "Generic Drivers"
210source src/drivers/Kconfig
211endmenu
212
Patrick Georgi0588d192009-08-12 15:00:51 +0000213config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +0000214 int
215 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +0000216
Patrick Georgi0588d192009-08-12 15:00:51 +0000217config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000218 bool
219 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000220
Patrick Georgi0588d192009-08-12 15:00:51 +0000221config HEAP_SIZE
222 hex
Myles Watson04000f42009-10-16 19:12:49 +0000223 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000224
Patrick Georgi0588d192009-08-12 15:00:51 +0000225config MAX_CPUS
226 int
227 default 1
228
229config MMCONF_SUPPORT_DEFAULT
230 bool
231 default n
232
233config MMCONF_SUPPORT
234 bool
235 default n
236
Patrick Georgi0588d192009-08-12 15:00:51 +0000237source src/console/Kconfig
238
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000239# This should default to N and be set by SuperI/O drivers that have an UART
240config HAVE_UART_IO_MAPPED
241 bool
242 default y
243
244config HAVE_UART_MEMORY_MAPPED
245 bool
246 default n
247
Patrick Georgi0588d192009-08-12 15:00:51 +0000248config HAVE_ACPI_RESUME
249 bool
250 default n
251
Stefan Reinauerc4f1a772010-06-05 10:03:08 +0000252config HAVE_ACPI_SLIC
253 bool
254 default n
255
Patrick Georgi0588d192009-08-12 15:00:51 +0000256config ACPI_SSDTX_NUM
257 int
258 default 0
259
Patrick Georgi0588d192009-08-12 15:00:51 +0000260config HAVE_HARD_RESET
261 bool
Patrick Georgi37bdb872010-02-27 08:39:04 +0000262 default y if BOARD_HAS_HARD_RESET
Uwe Hermann748475b2009-10-09 11:47:21 +0000263 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000264 help
265 This variable specifies whether a given board has a hard_reset
266 function, no matter if it's provided by board code or chipset code.
267
Patrick Georgi0588d192009-08-12 15:00:51 +0000268config HAVE_INIT_TIMER
269 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000270 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000271 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000272
zbaof7223732012-04-13 13:42:15 +0800273config HIGH_SCRATCH_MEMORY_SIZE
274 hex
275 default 0x0
276
Patrick Georgi0588d192009-08-12 15:00:51 +0000277config HAVE_MAINBOARD_RESOURCES
278 bool
279 default n
280
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000281config USE_OPTION_TABLE
282 bool
283 default n
284
Patrick Georgi0588d192009-08-12 15:00:51 +0000285config HAVE_OPTION_TABLE
286 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000287 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000288 help
289 This variable specifies whether a given board has a cmos.layout
290 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000291 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000292
Patrick Georgi0588d192009-08-12 15:00:51 +0000293config PIRQ_ROUTE
294 bool
295 default n
296
297config HAVE_SMI_HANDLER
298 bool
299 default n
300
301config PCI_IO_CFG_EXT
302 bool
303 default n
304
305config IOAPIC
306 bool
307 default n
308
Stefan Reinauer3008bbad2011-10-11 14:46:25 -0700309config TPM
310 bool
311 default n
312
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000313# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000314config VIDEO_MB
315 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000316 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000317
Myles Watson45bb25f2009-09-22 18:49:08 +0000318config USE_WATCHDOG_ON_BOOT
319 bool
320 default n
321
322config VGA
323 bool
324 default n
325 help
326 Build board-specific VGA code.
327
328config GFXUMA
329 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000330 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000331 help
332 Enable Unified Memory Architecture for graphics.
333
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000334# TODO
335# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000336#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000337# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000338
Myles Watsonb8e20272009-10-15 13:35:47 +0000339config HAVE_ACPI_TABLES
340 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000341 help
342 This variable specifies whether a given board has ACPI table support.
343 It is usually set in mainboard/*/Kconfig.
344 Whether or not the ACPI tables are actually generated by coreboot
345 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000346
347config HAVE_MP_TABLE
348 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000349 help
350 This variable specifies whether a given board has MP table support.
351 It is usually set in mainboard/*/Kconfig.
352 Whether or not the MP table is actually generated by coreboot
353 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000354
355config HAVE_PIRQ_TABLE
356 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000357 help
358 This variable specifies whether a given board has PIRQ table support.
359 It is usually set in mainboard/*/Kconfig.
360 Whether or not the PIRQ table is actually generated by coreboot
361 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000362
Myles Watsond73c1b52009-10-26 15:14:07 +0000363#These Options are here to avoid "undefined" warnings.
364#The actual selection and help texts are in the following menu.
365
366config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000367 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000368 default HAVE_ACPI_TABLES
369
370config GENERATE_MP_TABLE
371 bool
372 default HAVE_MP_TABLE
373
374config GENERATE_PIRQ_TABLE
375 bool
376 default HAVE_PIRQ_TABLE
377
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200378config GENERATE_SMBIOS_TABLES
379 bool
380 default y
381
Uwe Hermann168b11b2009-10-07 16:15:40 +0000382menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000383
Myles Watsonb8e20272009-10-15 13:35:47 +0000384config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000385 bool "Write 'high' tables to avoid being overwritten in F segment"
386 default y
387
388config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000389 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000390 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000391
Myles Watsonb8e20272009-10-15 13:35:47 +0000392config GENERATE_ACPI_TABLES
393 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000394 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000395 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000396 help
397 Generate ACPI tables for this board.
398
399 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000400
Myles Watsonb8e20272009-10-15 13:35:47 +0000401config GENERATE_MP_TABLE
402 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000403 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000404 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000405 help
406 Generate an MP table (conforming to the Intel MultiProcessor
407 specification 1.4) for this board.
408
409 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000410
Myles Watsonb8e20272009-10-15 13:35:47 +0000411config GENERATE_PIRQ_TABLE
412 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000413 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000414 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000415 help
416 Generate a PIRQ table for this board.
417
418 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000419
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200420config GENERATE_SMBIOS_TABLES
421 depends on ARCH_X86
422 bool "Generate SMBIOS tables"
423 default y
424 help
425 Generate SMBIOS tables for this board.
426
427 If unsure, say Y.
428
Myles Watson45bb25f2009-09-22 18:49:08 +0000429endmenu
430
Patrick Georgi0588d192009-08-12 15:00:51 +0000431menu "Payload"
432
Patrick Georgi0588d192009-08-12 15:00:51 +0000433choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000434 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000435 default PAYLOAD_NONE if !ARCH_X86
436 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000437
Uwe Hermann168b11b2009-10-07 16:15:40 +0000438config PAYLOAD_NONE
439 bool "None"
440 help
441 Select this option if you want to create an "empty" coreboot
442 ROM image for a certain mainboard, i.e. a coreboot ROM image
443 which does not yet contain a payload.
444
445 For such an image to be useful, you have to use 'cbfstool'
446 to add a payload to the ROM image later.
447
Patrick Georgi0588d192009-08-12 15:00:51 +0000448config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000449 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000450 help
451 Select this option if you have a payload image (an ELF file)
452 which coreboot should run as soon as the basic hardware
453 initialization is completed.
454
455 You will be able to specify the location and file name of the
456 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000457
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000458config PAYLOAD_SEABIOS
459 bool "SeaBIOS"
460 depends on ARCH_X86
461 help
462 Select this option if you want to build a coreboot image
463 with a SeaBIOS payload. If you don't know what this is
464 about, just leave it enabled.
465
466 See http://coreboot.org/Payloads for more information.
467
Stefan Reinauere50952f2011-04-15 03:34:05 +0000468config PAYLOAD_FILO
469 bool "FILO"
470 help
471 Select this option if you want to build a coreboot image
472 with a FILO payload. If you don't know what this is
473 about, just leave it enabled.
474
475 See http://coreboot.org/Payloads for more information.
476
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000477endchoice
478
479choice
480 prompt "SeaBIOS version"
481 default SEABIOS_STABLE
482 depends on PAYLOAD_SEABIOS
483
484config SEABIOS_STABLE
485 bool "stable"
486 help
487 Stable SeaBIOS version
488config SEABIOS_MASTER
489 bool "master"
490 help
491 Newest SeaBIOS version
Patrick Georgi0588d192009-08-12 15:00:51 +0000492endchoice
493
Stefan Reinauere50952f2011-04-15 03:34:05 +0000494choice
495 prompt "FILO version"
496 default FILO_STABLE
497 depends on PAYLOAD_FILO
498
499config FILO_STABLE
500 bool "0.6.0"
501 help
502 Stable FILO version
503config FILO_MASTER
504 bool "HEAD"
505 help
506 Newest FILO version
507endchoice
508
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000509config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000510 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000511 depends on PAYLOAD_ELF
512 default "payload.elf"
513 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000514 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000515
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000516config PAYLOAD_FILE
517 depends on PAYLOAD_SEABIOS
Stefan Reinaueraff6dc22012-01-21 10:34:22 -0800518 default "$(obj)/seabios/out/bios.bin.elf"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000519
Stefan Reinauere50952f2011-04-15 03:34:05 +0000520config PAYLOAD_FILE
521 depends on PAYLOAD_FILO
522 default "payloads/external/FILO/filo/build/filo.elf"
523
Uwe Hermann168b11b2009-10-07 16:15:40 +0000524# TODO: Defined if no payload? Breaks build?
525config COMPRESSED_PAYLOAD_LZMA
526 bool "Use LZMA compression for payloads"
527 default y
Stefan Reinauere50952f2011-04-15 03:34:05 +0000528 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
Uwe Hermann168b11b2009-10-07 16:15:40 +0000529 help
530 In order to reduce the size payloads take up in the ROM chip
531 coreboot can compress them using the LZMA algorithm.
532
Myles Watson04000f42009-10-16 19:12:49 +0000533config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000534 bool
Myles Watson04000f42009-10-16 19:12:49 +0000535 default n
536
Peter Stugea758ca22009-09-17 16:21:31 +0000537endmenu
538
539menu "VGA BIOS"
540
541config VGA_BIOS
542 bool "Add a VGA BIOS image"
543 help
544 Select this option if you have a VGA BIOS image that you would
545 like to add to your ROM.
546
547 You will be able to specify the location and file name of the
548 image later.
549
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000550config VGA_BIOS_FILE
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000551 string "VGA BIOS path and filename"
552 depends on VGA_BIOS
553 default "vgabios.bin"
554 help
555 The path and filename of the file to use as VGA BIOS.
556
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000557config VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000558 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000559 depends on VGA_BIOS
560 default "1106,3230"
561 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000562 The comma-separated PCI vendor and device ID that would associate
563 your VGA BIOS to your video card.
564
565 Example: 1106,3230
566
567 In the above example 1106 is the PCI vendor ID (in hex, but without
568 the "0x" prefix) and 3230 specifies the PCI device ID of the
569 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000570
Stefan Reinauer800379f2010-03-01 08:34:19 +0000571config INTEL_MBI
572 bool "Add an MBI image"
573 depends on NORTHBRIDGE_INTEL_I82830
574 help
575 Select this option if you have an Intel MBI image that you would
576 like to add to your ROM.
577
578 You will be able to specify the location and file name of the
579 image later.
580
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000581config MBI_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000582 string "Intel MBI path and filename"
583 depends on INTEL_MBI
584 default "mbi.bin"
585 help
586 The path and filename of the file to use as VGA BIOS.
587
588endmenu
589
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700590menu "Display"
591 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
592
593config FRAMEBUFFER_SET_VESA_MODE
594 prompt "Set VESA framebuffer mode"
595 bool
596 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
597 help
598 Set VESA framebuffer mode (needed for bootsplash)
599
600# TODO: Turn this into a "choice".
601config FRAMEBUFFER_VESA_MODE
602 prompt "VESA framebuffer video mode"
603 hex
604 default 0x117
605 depends on FRAMEBUFFER_SET_VESA_MODE
606 help
607 This option sets the resolution used for the coreboot framebuffer (and
608 bootsplash screen). Set to 0x117 for 1024x768x16. A diligent soul will
609 some day make this a "choice".
610
611config FRAMEBUFFER_KEEP_VESA_MODE
612 prompt "Keep VESA framebuffer"
613 bool
614 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
615 help
616 This option keeps the framebuffer mode set after coreboot finishes
617 execution. If this option is enabled, coreboot will pass a
618 framebuffer entry in its coreboot table and the payload will need a
619 framebuffer driver. If this option is disabled, coreboot will switch
620 back to text mode before handing control to a payload.
Stefan Reinauer800379f2010-03-01 08:34:19 +0000621
622config BOOTSPLASH
623 prompt "Show graphical bootsplash"
624 bool
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700625 depends on FRAMEBUFFER_SET_VESA_MODE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000626 help
627 This option shows a graphical bootsplash screen. The grapics are
628 loaded from the CBFS file bootsplash.jpg.
629
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000630config BOOTSPLASH_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000631 string "Bootsplash path and filename"
632 depends on BOOTSPLASH
633 default "bootsplash.jpg"
634 help
Stefan Reinauer14e22772010-04-27 06:56:47 +0000635 The path and filename of the file to use as graphical bootsplash
636 screen. The file format has to be jpg.
Patrick Georgi0588d192009-08-12 15:00:51 +0000637endmenu
638
Uwe Hermann168b11b2009-10-07 16:15:40 +0000639menu "Debugging"
640
641# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000642config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000643 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200644 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000645 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000646 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000647 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000648
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000649config HAVE_DEBUG_RAM_SETUP
650 def_bool n
651
Uwe Hermann01ce6012010-03-05 10:03:50 +0000652config DEBUG_RAM_SETUP
653 bool "Output verbose RAM init debug messages"
654 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000655 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000656 help
657 This option enables additional RAM init related debug messages.
658 It is recommended to enable this when debugging issues on your
659 board which might be RAM init related.
660
661 Note: This option will increase the size of the coreboot image.
662
663 If unsure, say N.
664
Patrick Georgie82618d2010-10-01 14:50:12 +0000665config HAVE_DEBUG_CAR
666 def_bool n
667
Peter Stuge5015f792010-11-10 02:00:32 +0000668config DEBUG_CAR
669 def_bool n
670 depends on HAVE_DEBUG_CAR
671
672if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000673# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
674# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000675config DEBUG_CAR
676 bool "Output verbose Cache-as-RAM debug messages"
677 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000678 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000679 help
680 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000681endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000682
Myles Watson80e914ff2010-06-01 19:25:31 +0000683config DEBUG_PIRQ
684 bool "Check PIRQ table consistency"
685 default n
686 depends on GENERATE_PIRQ_TABLE
687 help
688 If unsure, say N.
689
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000690config HAVE_DEBUG_SMBUS
691 def_bool n
692
Uwe Hermann01ce6012010-03-05 10:03:50 +0000693config DEBUG_SMBUS
694 bool "Output verbose SMBus debug messages"
695 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000696 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000697 help
698 This option enables additional SMBus (and SPD) debug messages.
699
700 Note: This option will increase the size of the coreboot image.
701
702 If unsure, say N.
703
704config DEBUG_SMI
705 bool "Output verbose SMI debug messages"
706 default n
707 depends on HAVE_SMI_HANDLER
708 help
709 This option enables additional SMI related debug messages.
710
711 Note: This option will increase the size of the coreboot image.
712
713 If unsure, say N.
714
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000715config DEBUG_SMM_RELOCATION
716 bool "Debug SMM relocation code"
717 default n
718 depends on HAVE_SMI_HANDLER
719 help
720 This option enables additional SMM handler relocation related
721 debug messages.
722
723 Note: This option will increase the size of the coreboot image.
724
725 If unsure, say N.
726
Peter Stuge5015f792010-11-10 02:00:32 +0000727config DEBUG_MALLOC
728 def_bool n
729
Uwe Hermanna953f372010-11-10 00:14:32 +0000730# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
731# printk(BIOS_DEBUG, ...) calls.
Peter Stuge5015f792010-11-10 02:00:32 +0000732if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000733config DEBUG_MALLOC
734 bool "Output verbose malloc debug messages"
735 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000736 help
737 This option enables additional malloc related debug messages.
738
739 Note: This option will increase the size of the coreboot image.
740
741 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000742endif
Uwe Hermanna953f372010-11-10 00:14:32 +0000743
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300744config DEBUG_ACPI
745 def_bool n
746
747# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
748# printk(BIOS_DEBUG, ...) calls.
749if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
750config DEBUG_ACPI
751 bool "Output verbose ACPI debug messages"
752 default n
753 help
754 This option enables additional ACPI related debug messages.
755
756 Note: This option will slightly increase the size of the coreboot image.
757
758 If unsure, say N.
759endif
760
Peter Stuge5015f792010-11-10 02:00:32 +0000761config REALMODE_DEBUG
762 def_bool n
763 depends on PCI_OPTION_ROM_RUN_REALMODE
764
765if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000766# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
767# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000768config REALMODE_DEBUG
769 bool "Enable debug messages for option ROM execution"
770 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000771 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000772 help
773 This option enables additional x86emu related debug messages.
774
775 Note: This option will increase the time to emulate a ROM.
776
777 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000778endif
Myles Watson6c9bc012010-09-07 22:30:15 +0000779
Uwe Hermann01ce6012010-03-05 10:03:50 +0000780config X86EMU_DEBUG
781 bool "Output verbose x86emu debug messages"
782 default n
783 depends on PCI_OPTION_ROM_RUN_YABEL
784 help
785 This option enables additional x86emu related debug messages.
786
787 Note: This option will increase the size of the coreboot image.
788
789 If unsure, say N.
790
791config X86EMU_DEBUG_JMP
792 bool "Trace JMP/RETF"
793 default n
794 depends on X86EMU_DEBUG
795 help
796 Print information about JMP and RETF opcodes from x86emu.
797
798 Note: This option will increase the size of the coreboot image.
799
800 If unsure, say N.
801
802config X86EMU_DEBUG_TRACE
803 bool "Trace all opcodes"
804 default n
805 depends on X86EMU_DEBUG
806 help
807 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000808
Uwe Hermann01ce6012010-03-05 10:03:50 +0000809 WARNING: This will produce a LOT of output and take a long time.
810
811 Note: This option will increase the size of the coreboot image.
812
813 If unsure, say N.
814
815config X86EMU_DEBUG_PNP
816 bool "Log Plug&Play accesses"
817 default n
818 depends on X86EMU_DEBUG
819 help
820 Print Plug And Play accesses made by option ROMs.
821
822 Note: This option will increase the size of the coreboot image.
823
824 If unsure, say N.
825
826config X86EMU_DEBUG_DISK
827 bool "Log Disk I/O"
828 default n
829 depends on X86EMU_DEBUG
830 help
831 Print Disk I/O related messages.
832
833 Note: This option will increase the size of the coreboot image.
834
835 If unsure, say N.
836
837config X86EMU_DEBUG_PMM
838 bool "Log PMM"
839 default n
840 depends on X86EMU_DEBUG
841 help
842 Print messages related to POST Memory Manager (PMM).
843
844 Note: This option will increase the size of the coreboot image.
845
846 If unsure, say N.
847
848
849config X86EMU_DEBUG_VBE
850 bool "Debug VESA BIOS Extensions"
851 default n
852 depends on X86EMU_DEBUG
853 help
854 Print messages related to VESA BIOS Extension (VBE) functions.
855
856 Note: This option will increase the size of the coreboot image.
857
858 If unsure, say N.
859
860config X86EMU_DEBUG_INT10
861 bool "Redirect INT10 output to console"
862 default n
863 depends on X86EMU_DEBUG
864 help
865 Let INT10 (i.e. character output) calls print messages to debug output.
866
867 Note: This option will increase the size of the coreboot image.
868
869 If unsure, say N.
870
871config X86EMU_DEBUG_INTERRUPTS
872 bool "Log intXX calls"
873 default n
874 depends on X86EMU_DEBUG
875 help
876 Print messages related to interrupt handling.
877
878 Note: This option will increase the size of the coreboot image.
879
880 If unsure, say N.
881
882config X86EMU_DEBUG_CHECK_VMEM_ACCESS
883 bool "Log special memory accesses"
884 default n
885 depends on X86EMU_DEBUG
886 help
887 Print messages related to accesses to certain areas of the virtual
888 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
889
890 Note: This option will increase the size of the coreboot image.
891
892 If unsure, say N.
893
894config X86EMU_DEBUG_MEM
895 bool "Log all memory accesses"
896 default n
897 depends on X86EMU_DEBUG
898 help
899 Print memory accesses made by option ROM.
900 Note: This also includes accesses to fetch instructions.
901
902 Note: This option will increase the size of the coreboot image.
903
904 If unsure, say N.
905
906config X86EMU_DEBUG_IO
907 bool "Log IO accesses"
908 default n
909 depends on X86EMU_DEBUG
910 help
911 Print I/O accesses made by option ROM.
912
913 Note: This option will increase the size of the coreboot image.
914
915 If unsure, say N.
916
Stefan Reinauerdfb098d2011-11-17 12:50:54 -0800917config DEBUG_TPM
918 bool "Output verbose TPM debug messages"
919 default n
920 depends on TPM
921 help
922 This option enables additional TPM related debug messages.
923
Stefan Reinauer8e073822012-04-04 00:07:22 +0200924if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
925# Only visible with the right southbridge and loglevel.
926config DEBUG_INTEL_ME
927 bool "Verbose logging for Intel Management Engine"
928 default n
929 help
930 Enable verbose logging for Intel Management Engine driver that
931 is present on Intel 6-series chipsets.
932endif
933
Stefan Reinauer5c503922010-03-13 22:07:15 +0000934config LLSHELL
935 bool "Built-in low-level shell"
936 default n
937 help
938 If enabled, you will have a low level shell to examine your machine.
939 Put llshell() in your (romstage) code to start the shell.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000940 See src/arch/x86/llshell/llshell.inc for details.
Stefan Reinauer5c503922010-03-13 22:07:15 +0000941
Rudolf Marek7f0e9302011-09-02 23:23:41 +0200942config TRACE
943 bool "Trace function calls"
944 default n
945 help
946 If enabled, every function will print information to console once
947 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
948 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
949 of calling function. Please note some printk releated functions
950 are omitted from trace to have good looking console dumps.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000951endmenu
952
Myles Watson8f74c582009-10-20 16:10:04 +0000953config LIFT_BSP_APIC_ID
954 bool
955 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000956
957# These probably belong somewhere else, but they are needed somewhere.
958config AP_CODE_IN_CAR
959 bool
960 default n
961
Jonathan Kollasche5b75072010-10-07 23:02:06 +0000962config RAMINIT_SYSINFO
963 bool
964 default n
965
Myles Watsond73c1b52009-10-26 15:14:07 +0000966config ENABLE_APIC_EXT_ID
967 bool
968 default n
Myles Watson2e672732009-11-12 16:38:03 +0000969
970config WARNINGS_ARE_ERRORS
971 bool
Stefan Reinauer6f57b512010-07-08 16:41:05 +0000972 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +0000973
Peter Stuge51eafde2010-10-13 06:23:02 +0000974# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
975# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
976# mutually exclusive. One of these options must be selected in the
977# mainboard Kconfig if the chipset supports enabling and disabling of
978# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
979# in mainboard/Kconfig to know if the button should be enabled or not.
980
981config POWER_BUTTON_DEFAULT_ENABLE
982 def_bool n
983 help
984 Select when the board has a power button which can optionally be
985 disabled by the user.
986
987config POWER_BUTTON_DEFAULT_DISABLE
988 def_bool n
989 help
990 Select when the board has a power button which can optionally be
991 enabled by the user, e.g. when the board ships with a jumper over
992 the power switch contacts.
993
994config POWER_BUTTON_FORCE_ENABLE
995 def_bool n
996 help
997 Select when the board requires that the power button is always
998 enabled.
999
1000config POWER_BUTTON_FORCE_DISABLE
1001 def_bool n
1002 help
1003 Select when the board requires that the power button is always
1004 disabled, e.g. when it has been hardwired to ground.
1005
1006config POWER_BUTTON_IS_OPTIONAL
1007 bool
1008 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1009 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1010 help
1011 Internal option that controls ENABLE_POWER_BUTTON visibility.
1012
Patrick Georgicc669262010-03-14 21:31:05 +00001013source src/Kconfig.deprecated_options
Stefan Reinauerb89a7612012-03-30 01:01:51 +02001014source src/vendorcode/Kconfig