blob: ac83e598b23c9d311361498c056a62aaa57968a6 [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
20mainmenu "Coreboot Configuration"
21
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
50 prompt "Compiler"
51 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"
58config COMPILER_LLVM_CLANG
59 bool "LLVM/clang"
60endchoice
61
Patrick Georgi020f51f2010-03-14 21:25:03 +000062config SCANBUILD_ENABLE
Patrick Georgi23d89cc2010-03-16 01:17:19 +000063 bool "Build with scan-build for static analysis"
Patrick Georgi020f51f2010-03-14 21:25:03 +000064 default n
65 help
66 Changes the build process to scan-build is used.
67 Requires scan-build in path.
68
69config SCANBUILD_REPORT_LOCATION
Patrick Georgi23d89cc2010-03-16 01:17:19 +000070 string "Directory to put scan-build report in"
Patrick Georgi020f51f2010-03-14 21:25:03 +000071 default ""
72 depends on SCANBUILD_ENABLE
73 help
74 Where the scan-build report should be stored
75
Patrick Georgi516a2a72010-03-25 21:45:25 +000076config CCACHE
77 bool "ccache"
78 default n
79 help
80 Enables the use of ccache for faster builds.
81 Requires ccache in path.
82
Stefan Reinauer9bf78102010-08-09 13:28:18 +000083config SCONFIG_GENPARSER
84 bool "Generate SCONFIG parser using flex and bison"
85 default n
86 depends on EXPERT
87 help
88 Enable this option if you are working on the sconfig
89 device tree parser and made changes to sconfig.l and
Sven Schnelle164bcfd2011-08-14 20:56:34 +020090 sconfig.y.
Stefan Reinauer9bf78102010-08-09 13:28:18 +000091 Otherwise, say N.
92
Joe Korty6d772522010-05-19 18:41:15 +000093config USE_OPTION_TABLE
94 bool "Use CMOS for configuration values"
95 default n
Edwin Beasanteb50c7d2010-07-06 21:05:04 +000096 depends on HAVE_OPTION_TABLE
Joe Korty6d772522010-05-19 18:41:15 +000097 help
98 Enable this option if coreboot shall read options from the "CMOS"
99 NVRAM instead of using hard coded values.
100
Sven Schnelle8eee19d2011-05-02 19:53:04 +0000101config COMPRESS_RAMSTAGE
102 bool "Compress ramstage with LZMA"
103 default y
104 help
105 Compress ramstage to save memory in the flash image. Note
106 that decompression might slow down booting if the boot flash
107 is connected through a slow Link (i.e. SPI)
108
Cristian Măgherușan-Stanciud367b002011-06-19 03:03:28 +0200109config INCLUDE_CONFIG_FILE
110 bool "Include the coreboot config file into the ROM image"
111 default y
112 help
113 Include in CBFS the coreboot config file that was used to compile the ROM image
114
Vadim Bendeburye6b6aff2011-09-20 16:46:46 -0700115config EARLY_CBMEM_INIT
116 bool "Initialize CBMEM while in ROM stage"
117 default n
118 help
119 Make coreboot initialize the cbmem structures while running in rom
120 stage. This could be useful when the rom stage wants to communicate
121 some, for instance, execution timestamps.
122
Uwe Hermannc04be932009-10-05 13:55:28 +0000123endmenu
124
Patrick Georgi0588d192009-08-12 15:00:51 +0000125source src/mainboard/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000126
127# This option is used to set the architecture of a mainboard to X86.
128# It is usually set in mainboard/*/Kconfig.
129config ARCH_X86
130 bool
131 default n
132
133if ARCH_X86
Stefan Reinauer8677a232010-12-11 20:33:41 +0000134source src/arch/x86/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000135endif
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000136
137menu "Chipset"
138
139comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +0000140source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000141comment "Northbridge"
142source src/northbridge/Kconfig
143comment "Southbridge"
144source src/southbridge/Kconfig
145comment "Super I/O"
146source src/superio/Kconfig
147comment "Devices"
148source src/devices/Kconfig
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000149comment "Embedded Controllers"
150source src/ec/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000151
152endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000153
Rudolf Marekd9c25492010-05-16 15:31:53 +0000154menu "Generic Drivers"
155source src/drivers/Kconfig
156endmenu
157
Patrick Georgi0588d192009-08-12 15:00:51 +0000158config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +0000159 int
160 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +0000161
Patrick Georgi0588d192009-08-12 15:00:51 +0000162config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000163 bool
164 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000165
Patrick Georgi0588d192009-08-12 15:00:51 +0000166config HEAP_SIZE
167 hex
Myles Watson04000f42009-10-16 19:12:49 +0000168 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000169
Patrick Georgi0588d192009-08-12 15:00:51 +0000170config MAX_CPUS
171 int
172 default 1
173
174config MMCONF_SUPPORT_DEFAULT
175 bool
176 default n
177
178config MMCONF_SUPPORT
179 bool
180 default n
181
Patrick Georgi0588d192009-08-12 15:00:51 +0000182source src/console/Kconfig
183
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000184# This should default to N and be set by SuperI/O drivers that have an UART
185config HAVE_UART_IO_MAPPED
186 bool
187 default y
188
189config HAVE_UART_MEMORY_MAPPED
190 bool
191 default n
192
Patrick Georgi0588d192009-08-12 15:00:51 +0000193config HAVE_ACPI_RESUME
194 bool
195 default n
196
Stefan Reinauerc4f1a772010-06-05 10:03:08 +0000197config HAVE_ACPI_SLIC
198 bool
199 default n
200
Patrick Georgi0588d192009-08-12 15:00:51 +0000201config ACPI_SSDTX_NUM
202 int
203 default 0
204
Patrick Georgi0588d192009-08-12 15:00:51 +0000205config HAVE_HARD_RESET
206 bool
Patrick Georgi37bdb872010-02-27 08:39:04 +0000207 default y if BOARD_HAS_HARD_RESET
Uwe Hermann748475b2009-10-09 11:47:21 +0000208 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000209 help
210 This variable specifies whether a given board has a hard_reset
211 function, no matter if it's provided by board code or chipset code.
212
Patrick Georgi0588d192009-08-12 15:00:51 +0000213config HAVE_INIT_TIMER
214 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000215 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000216 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000217
218config HAVE_MAINBOARD_RESOURCES
219 bool
220 default n
221
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000222config USE_OPTION_TABLE
223 bool
224 default n
225
Patrick Georgi0588d192009-08-12 15:00:51 +0000226config HAVE_OPTION_TABLE
227 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000228 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000229 help
230 This variable specifies whether a given board has a cmos.layout
231 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000232 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000233
Patrick Georgi0588d192009-08-12 15:00:51 +0000234config PIRQ_ROUTE
235 bool
236 default n
237
238config HAVE_SMI_HANDLER
239 bool
240 default n
241
242config PCI_IO_CFG_EXT
243 bool
244 default n
245
246config IOAPIC
247 bool
248 default n
249
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000250# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000251config VIDEO_MB
252 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000253 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000254
Myles Watson45bb25f2009-09-22 18:49:08 +0000255config USE_WATCHDOG_ON_BOOT
256 bool
257 default n
258
259config VGA
260 bool
261 default n
262 help
263 Build board-specific VGA code.
264
265config GFXUMA
266 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000267 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000268 help
269 Enable Unified Memory Architecture for graphics.
270
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000271# TODO
272# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000273#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000274# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000275
Myles Watsonb8e20272009-10-15 13:35:47 +0000276config HAVE_ACPI_TABLES
277 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000278 help
279 This variable specifies whether a given board has ACPI table support.
280 It is usually set in mainboard/*/Kconfig.
281 Whether or not the ACPI tables are actually generated by coreboot
282 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000283
284config HAVE_MP_TABLE
285 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000286 help
287 This variable specifies whether a given board has MP table support.
288 It is usually set in mainboard/*/Kconfig.
289 Whether or not the MP table is actually generated by coreboot
290 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000291
292config HAVE_PIRQ_TABLE
293 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000294 help
295 This variable specifies whether a given board has PIRQ table support.
296 It is usually set in mainboard/*/Kconfig.
297 Whether or not the PIRQ table is actually generated by coreboot
298 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000299
Myles Watsond73c1b52009-10-26 15:14:07 +0000300#These Options are here to avoid "undefined" warnings.
301#The actual selection and help texts are in the following menu.
302
303config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000304 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000305 default HAVE_ACPI_TABLES
306
307config GENERATE_MP_TABLE
308 bool
309 default HAVE_MP_TABLE
310
311config GENERATE_PIRQ_TABLE
312 bool
313 default HAVE_PIRQ_TABLE
314
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200315config GENERATE_SMBIOS_TABLES
316 bool
317 default y
318
Uwe Hermann168b11b2009-10-07 16:15:40 +0000319menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000320
Myles Watsonb8e20272009-10-15 13:35:47 +0000321config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000322 bool "Write 'high' tables to avoid being overwritten in F segment"
323 default y
324
325config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000326 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000327 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000328
Myles Watsonb8e20272009-10-15 13:35:47 +0000329config GENERATE_ACPI_TABLES
330 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000331 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000332 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000333 help
334 Generate ACPI tables for this board.
335
336 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000337
Myles Watsonb8e20272009-10-15 13:35:47 +0000338config GENERATE_MP_TABLE
339 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000340 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000341 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000342 help
343 Generate an MP table (conforming to the Intel MultiProcessor
344 specification 1.4) for this board.
345
346 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000347
Myles Watsonb8e20272009-10-15 13:35:47 +0000348config GENERATE_PIRQ_TABLE
349 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000350 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000351 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000352 help
353 Generate a PIRQ table for this board.
354
355 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000356
Sven Schnelle164bcfd2011-08-14 20:56:34 +0200357config GENERATE_SMBIOS_TABLES
358 depends on ARCH_X86
359 bool "Generate SMBIOS tables"
360 default y
361 help
362 Generate SMBIOS tables for this board.
363
364 If unsure, say Y.
365
Myles Watson45bb25f2009-09-22 18:49:08 +0000366endmenu
367
Patrick Georgi0588d192009-08-12 15:00:51 +0000368menu "Payload"
369
Patrick Georgi0588d192009-08-12 15:00:51 +0000370choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000371 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000372 default PAYLOAD_NONE if !ARCH_X86
373 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000374
Uwe Hermann168b11b2009-10-07 16:15:40 +0000375config PAYLOAD_NONE
376 bool "None"
377 help
378 Select this option if you want to create an "empty" coreboot
379 ROM image for a certain mainboard, i.e. a coreboot ROM image
380 which does not yet contain a payload.
381
382 For such an image to be useful, you have to use 'cbfstool'
383 to add a payload to the ROM image later.
384
Patrick Georgi0588d192009-08-12 15:00:51 +0000385config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000386 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000387 help
388 Select this option if you have a payload image (an ELF file)
389 which coreboot should run as soon as the basic hardware
390 initialization is completed.
391
392 You will be able to specify the location and file name of the
393 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000394
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000395config PAYLOAD_SEABIOS
396 bool "SeaBIOS"
397 depends on ARCH_X86
398 help
399 Select this option if you want to build a coreboot image
400 with a SeaBIOS payload. If you don't know what this is
401 about, just leave it enabled.
402
403 See http://coreboot.org/Payloads for more information.
404
Stefan Reinauere50952f2011-04-15 03:34:05 +0000405config PAYLOAD_FILO
406 bool "FILO"
407 help
408 Select this option if you want to build a coreboot image
409 with a FILO payload. If you don't know what this is
410 about, just leave it enabled.
411
412 See http://coreboot.org/Payloads for more information.
413
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000414endchoice
415
416choice
417 prompt "SeaBIOS version"
418 default SEABIOS_STABLE
419 depends on PAYLOAD_SEABIOS
420
421config SEABIOS_STABLE
422 bool "stable"
423 help
424 Stable SeaBIOS version
425config SEABIOS_MASTER
426 bool "master"
427 help
428 Newest SeaBIOS version
Patrick Georgi0588d192009-08-12 15:00:51 +0000429endchoice
430
Stefan Reinauere50952f2011-04-15 03:34:05 +0000431choice
432 prompt "FILO version"
433 default FILO_STABLE
434 depends on PAYLOAD_FILO
435
436config FILO_STABLE
437 bool "0.6.0"
438 help
439 Stable FILO version
440config FILO_MASTER
441 bool "HEAD"
442 help
443 Newest FILO version
444endchoice
445
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000446config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000447 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000448 depends on PAYLOAD_ELF
449 default "payload.elf"
450 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000451 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000452
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000453config PAYLOAD_FILE
454 depends on PAYLOAD_SEABIOS
Stefan Reinaueraff6dc22012-01-21 10:34:22 -0800455 default "$(obj)/seabios/out/bios.bin.elf"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000456
Stefan Reinauere50952f2011-04-15 03:34:05 +0000457config PAYLOAD_FILE
458 depends on PAYLOAD_FILO
459 default "payloads/external/FILO/filo/build/filo.elf"
460
Uwe Hermann168b11b2009-10-07 16:15:40 +0000461# TODO: Defined if no payload? Breaks build?
462config COMPRESSED_PAYLOAD_LZMA
463 bool "Use LZMA compression for payloads"
464 default y
Stefan Reinauere50952f2011-04-15 03:34:05 +0000465 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
Uwe Hermann168b11b2009-10-07 16:15:40 +0000466 help
467 In order to reduce the size payloads take up in the ROM chip
468 coreboot can compress them using the LZMA algorithm.
469
Myles Watson04000f42009-10-16 19:12:49 +0000470config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000471 bool
Myles Watson04000f42009-10-16 19:12:49 +0000472 default n
473
Peter Stugea758ca22009-09-17 16:21:31 +0000474endmenu
475
476menu "VGA BIOS"
477
478config VGA_BIOS
479 bool "Add a VGA BIOS image"
480 help
481 Select this option if you have a VGA BIOS image that you would
482 like to add to your ROM.
483
484 You will be able to specify the location and file name of the
485 image later.
486
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000487config VGA_BIOS_FILE
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000488 string "VGA BIOS path and filename"
489 depends on VGA_BIOS
490 default "vgabios.bin"
491 help
492 The path and filename of the file to use as VGA BIOS.
493
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000494config VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000495 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000496 depends on VGA_BIOS
497 default "1106,3230"
498 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000499 The comma-separated PCI vendor and device ID that would associate
500 your VGA BIOS to your video card.
501
502 Example: 1106,3230
503
504 In the above example 1106 is the PCI vendor ID (in hex, but without
505 the "0x" prefix) and 3230 specifies the PCI device ID of the
506 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000507
Stefan Reinauer800379f2010-03-01 08:34:19 +0000508config INTEL_MBI
509 bool "Add an MBI image"
510 depends on NORTHBRIDGE_INTEL_I82830
511 help
512 Select this option if you have an Intel MBI image that you would
513 like to add to your ROM.
514
515 You will be able to specify the location and file name of the
516 image later.
517
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000518config MBI_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000519 string "Intel MBI path and filename"
520 depends on INTEL_MBI
521 default "mbi.bin"
522 help
523 The path and filename of the file to use as VGA BIOS.
524
525endmenu
526
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700527menu "Display"
528 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
529
530config FRAMEBUFFER_SET_VESA_MODE
531 prompt "Set VESA framebuffer mode"
532 bool
533 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
534 help
535 Set VESA framebuffer mode (needed for bootsplash)
536
537# TODO: Turn this into a "choice".
538config FRAMEBUFFER_VESA_MODE
539 prompt "VESA framebuffer video mode"
540 hex
541 default 0x117
542 depends on FRAMEBUFFER_SET_VESA_MODE
543 help
544 This option sets the resolution used for the coreboot framebuffer (and
545 bootsplash screen). Set to 0x117 for 1024x768x16. A diligent soul will
546 some day make this a "choice".
547
548config FRAMEBUFFER_KEEP_VESA_MODE
549 prompt "Keep VESA framebuffer"
550 bool
551 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
552 help
553 This option keeps the framebuffer mode set after coreboot finishes
554 execution. If this option is enabled, coreboot will pass a
555 framebuffer entry in its coreboot table and the payload will need a
556 framebuffer driver. If this option is disabled, coreboot will switch
557 back to text mode before handing control to a payload.
Stefan Reinauer800379f2010-03-01 08:34:19 +0000558
559config BOOTSPLASH
560 prompt "Show graphical bootsplash"
561 bool
Stefan Reinauerc1efb902011-10-12 14:30:59 -0700562 depends on FRAMEBUFFER_SET_VESA_MODE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000563 help
564 This option shows a graphical bootsplash screen. The grapics are
565 loaded from the CBFS file bootsplash.jpg.
566
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000567config BOOTSPLASH_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000568 string "Bootsplash path and filename"
569 depends on BOOTSPLASH
570 default "bootsplash.jpg"
571 help
Stefan Reinauer14e22772010-04-27 06:56:47 +0000572 The path and filename of the file to use as graphical bootsplash
573 screen. The file format has to be jpg.
Patrick Georgi0588d192009-08-12 15:00:51 +0000574endmenu
575
Uwe Hermann168b11b2009-10-07 16:15:40 +0000576menu "Debugging"
577
578# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000579config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000580 bool "GDB debugging support"
Rudolf Marek65888022012-03-25 20:51:16 +0200581 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000582 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000583 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000584 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000585
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000586config HAVE_DEBUG_RAM_SETUP
587 def_bool n
588
Uwe Hermann01ce6012010-03-05 10:03:50 +0000589config DEBUG_RAM_SETUP
590 bool "Output verbose RAM init debug messages"
591 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000592 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000593 help
594 This option enables additional RAM init related debug messages.
595 It is recommended to enable this when debugging issues on your
596 board which might be RAM init related.
597
598 Note: This option will increase the size of the coreboot image.
599
600 If unsure, say N.
601
Patrick Georgie82618d2010-10-01 14:50:12 +0000602config HAVE_DEBUG_CAR
603 def_bool n
604
Peter Stuge5015f792010-11-10 02:00:32 +0000605config DEBUG_CAR
606 def_bool n
607 depends on HAVE_DEBUG_CAR
608
609if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000610# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
611# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000612config DEBUG_CAR
613 bool "Output verbose Cache-as-RAM debug messages"
614 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000615 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000616 help
617 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000618endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000619
Myles Watson80e914ff2010-06-01 19:25:31 +0000620config DEBUG_PIRQ
621 bool "Check PIRQ table consistency"
622 default n
623 depends on GENERATE_PIRQ_TABLE
624 help
625 If unsure, say N.
626
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000627config HAVE_DEBUG_SMBUS
628 def_bool n
629
Uwe Hermann01ce6012010-03-05 10:03:50 +0000630config DEBUG_SMBUS
631 bool "Output verbose SMBus debug messages"
632 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000633 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000634 help
635 This option enables additional SMBus (and SPD) debug messages.
636
637 Note: This option will increase the size of the coreboot image.
638
639 If unsure, say N.
640
641config DEBUG_SMI
642 bool "Output verbose SMI debug messages"
643 default n
644 depends on HAVE_SMI_HANDLER
645 help
646 This option enables additional SMI related debug messages.
647
648 Note: This option will increase the size of the coreboot image.
649
650 If unsure, say N.
651
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000652config DEBUG_SMM_RELOCATION
653 bool "Debug SMM relocation code"
654 default n
655 depends on HAVE_SMI_HANDLER
656 help
657 This option enables additional SMM handler relocation related
658 debug messages.
659
660 Note: This option will increase the size of the coreboot image.
661
662 If unsure, say N.
663
Peter Stuge5015f792010-11-10 02:00:32 +0000664config DEBUG_MALLOC
665 def_bool n
666
Uwe Hermanna953f372010-11-10 00:14:32 +0000667# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
668# printk(BIOS_DEBUG, ...) calls.
Peter Stuge5015f792010-11-10 02:00:32 +0000669if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000670config DEBUG_MALLOC
671 bool "Output verbose malloc debug messages"
672 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000673 help
674 This option enables additional malloc related debug messages.
675
676 Note: This option will increase the size of the coreboot image.
677
678 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000679endif
Uwe Hermanna953f372010-11-10 00:14:32 +0000680
Cristian Măgherușan-Stanciu9f52ea42011-07-02 00:44:39 +0300681config DEBUG_ACPI
682 def_bool n
683
684# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
685# printk(BIOS_DEBUG, ...) calls.
686if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
687config DEBUG_ACPI
688 bool "Output verbose ACPI debug messages"
689 default n
690 help
691 This option enables additional ACPI related debug messages.
692
693 Note: This option will slightly increase the size of the coreboot image.
694
695 If unsure, say N.
696endif
697
Peter Stuge5015f792010-11-10 02:00:32 +0000698config REALMODE_DEBUG
699 def_bool n
700 depends on PCI_OPTION_ROM_RUN_REALMODE
701
702if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000703# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
704# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000705config REALMODE_DEBUG
706 bool "Enable debug messages for option ROM execution"
707 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000708 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000709 help
710 This option enables additional x86emu related debug messages.
711
712 Note: This option will increase the time to emulate a ROM.
713
714 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000715endif
Myles Watson6c9bc012010-09-07 22:30:15 +0000716
Uwe Hermann01ce6012010-03-05 10:03:50 +0000717config X86EMU_DEBUG
718 bool "Output verbose x86emu debug messages"
719 default n
720 depends on PCI_OPTION_ROM_RUN_YABEL
721 help
722 This option enables additional x86emu related debug messages.
723
724 Note: This option will increase the size of the coreboot image.
725
726 If unsure, say N.
727
728config X86EMU_DEBUG_JMP
729 bool "Trace JMP/RETF"
730 default n
731 depends on X86EMU_DEBUG
732 help
733 Print information about JMP and RETF opcodes from x86emu.
734
735 Note: This option will increase the size of the coreboot image.
736
737 If unsure, say N.
738
739config X86EMU_DEBUG_TRACE
740 bool "Trace all opcodes"
741 default n
742 depends on X86EMU_DEBUG
743 help
744 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000745
Uwe Hermann01ce6012010-03-05 10:03:50 +0000746 WARNING: This will produce a LOT of output and take a long time.
747
748 Note: This option will increase the size of the coreboot image.
749
750 If unsure, say N.
751
752config X86EMU_DEBUG_PNP
753 bool "Log Plug&Play accesses"
754 default n
755 depends on X86EMU_DEBUG
756 help
757 Print Plug And Play accesses made by option ROMs.
758
759 Note: This option will increase the size of the coreboot image.
760
761 If unsure, say N.
762
763config X86EMU_DEBUG_DISK
764 bool "Log Disk I/O"
765 default n
766 depends on X86EMU_DEBUG
767 help
768 Print Disk I/O related messages.
769
770 Note: This option will increase the size of the coreboot image.
771
772 If unsure, say N.
773
774config X86EMU_DEBUG_PMM
775 bool "Log PMM"
776 default n
777 depends on X86EMU_DEBUG
778 help
779 Print messages related to POST Memory Manager (PMM).
780
781 Note: This option will increase the size of the coreboot image.
782
783 If unsure, say N.
784
785
786config X86EMU_DEBUG_VBE
787 bool "Debug VESA BIOS Extensions"
788 default n
789 depends on X86EMU_DEBUG
790 help
791 Print messages related to VESA BIOS Extension (VBE) functions.
792
793 Note: This option will increase the size of the coreboot image.
794
795 If unsure, say N.
796
797config X86EMU_DEBUG_INT10
798 bool "Redirect INT10 output to console"
799 default n
800 depends on X86EMU_DEBUG
801 help
802 Let INT10 (i.e. character output) calls print messages to debug output.
803
804 Note: This option will increase the size of the coreboot image.
805
806 If unsure, say N.
807
808config X86EMU_DEBUG_INTERRUPTS
809 bool "Log intXX calls"
810 default n
811 depends on X86EMU_DEBUG
812 help
813 Print messages related to interrupt handling.
814
815 Note: This option will increase the size of the coreboot image.
816
817 If unsure, say N.
818
819config X86EMU_DEBUG_CHECK_VMEM_ACCESS
820 bool "Log special memory accesses"
821 default n
822 depends on X86EMU_DEBUG
823 help
824 Print messages related to accesses to certain areas of the virtual
825 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
826
827 Note: This option will increase the size of the coreboot image.
828
829 If unsure, say N.
830
831config X86EMU_DEBUG_MEM
832 bool "Log all memory accesses"
833 default n
834 depends on X86EMU_DEBUG
835 help
836 Print memory accesses made by option ROM.
837 Note: This also includes accesses to fetch instructions.
838
839 Note: This option will increase the size of the coreboot image.
840
841 If unsure, say N.
842
843config X86EMU_DEBUG_IO
844 bool "Log IO accesses"
845 default n
846 depends on X86EMU_DEBUG
847 help
848 Print I/O accesses made by option ROM.
849
850 Note: This option will increase the size of the coreboot image.
851
852 If unsure, say N.
853
Stefan Reinauer5c503922010-03-13 22:07:15 +0000854config LLSHELL
855 bool "Built-in low-level shell"
856 default n
857 help
858 If enabled, you will have a low level shell to examine your machine.
859 Put llshell() in your (romstage) code to start the shell.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000860 See src/arch/x86/llshell/llshell.inc for details.
Stefan Reinauer5c503922010-03-13 22:07:15 +0000861
Rudolf Marek7f0e9302011-09-02 23:23:41 +0200862config TRACE
863 bool "Trace function calls"
864 default n
865 help
866 If enabled, every function will print information to console once
867 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
868 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
869 of calling function. Please note some printk releated functions
870 are omitted from trace to have good looking console dumps.
Uwe Hermann168b11b2009-10-07 16:15:40 +0000871endmenu
872
Myles Watson8f74c582009-10-20 16:10:04 +0000873config LIFT_BSP_APIC_ID
874 bool
875 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000876
877# These probably belong somewhere else, but they are needed somewhere.
878config AP_CODE_IN_CAR
879 bool
880 default n
881
Jonathan Kollasche5b75072010-10-07 23:02:06 +0000882config RAMINIT_SYSINFO
883 bool
884 default n
885
Myles Watsond73c1b52009-10-26 15:14:07 +0000886config ENABLE_APIC_EXT_ID
887 bool
888 default n
Myles Watson2e672732009-11-12 16:38:03 +0000889
890config WARNINGS_ARE_ERRORS
891 bool
Stefan Reinauer6f57b512010-07-08 16:41:05 +0000892 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +0000893
Peter Stuge51eafde2010-10-13 06:23:02 +0000894# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
895# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
896# mutually exclusive. One of these options must be selected in the
897# mainboard Kconfig if the chipset supports enabling and disabling of
898# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
899# in mainboard/Kconfig to know if the button should be enabled or not.
900
901config POWER_BUTTON_DEFAULT_ENABLE
902 def_bool n
903 help
904 Select when the board has a power button which can optionally be
905 disabled by the user.
906
907config POWER_BUTTON_DEFAULT_DISABLE
908 def_bool n
909 help
910 Select when the board has a power button which can optionally be
911 enabled by the user, e.g. when the board ships with a jumper over
912 the power switch contacts.
913
914config POWER_BUTTON_FORCE_ENABLE
915 def_bool n
916 help
917 Select when the board requires that the power button is always
918 enabled.
919
920config POWER_BUTTON_FORCE_DISABLE
921 def_bool n
922 help
923 Select when the board requires that the power button is always
924 disabled, e.g. when it has been hardwired to ground.
925
926config POWER_BUTTON_IS_OPTIONAL
927 bool
928 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
929 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
930 help
931 Internal option that controls ENABLE_POWER_BUTTON visibility.
932
Patrick Georgicc669262010-03-14 21:31:05 +0000933source src/Kconfig.deprecated_options