blob: 76e77f84014edb0c3abb44429d29e8590b00629a [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
90 sconfig.y.
91 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
Uwe Hermannc04be932009-10-05 13:55:28 +0000101endmenu
102
Patrick Georgi0588d192009-08-12 15:00:51 +0000103source src/mainboard/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000104
105# This option is used to set the architecture of a mainboard to X86.
106# It is usually set in mainboard/*/Kconfig.
107config ARCH_X86
108 bool
109 default n
110
111if ARCH_X86
Stefan Reinauer8677a232010-12-11 20:33:41 +0000112source src/arch/x86/Kconfig
Stefan Reinauer8aedcbc2010-12-16 23:37:17 +0000113endif
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000114
115menu "Chipset"
116
117comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +0000118source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000119comment "Northbridge"
120source src/northbridge/Kconfig
121comment "Southbridge"
122source src/southbridge/Kconfig
123comment "Super I/O"
124source src/superio/Kconfig
125comment "Devices"
126source src/devices/Kconfig
Sven Schnelle7592e8b2011-01-27 11:43:03 +0000127comment "Embedded Controllers"
128source src/ec/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000129
130endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000131
Rudolf Marekd9c25492010-05-16 15:31:53 +0000132menu "Generic Drivers"
133source src/drivers/Kconfig
134endmenu
135
Patrick Georgi0588d192009-08-12 15:00:51 +0000136config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +0000137 int
138 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +0000139
Patrick Georgi0588d192009-08-12 15:00:51 +0000140config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000141 bool
142 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000143
Patrick Georgi0588d192009-08-12 15:00:51 +0000144config HEAP_SIZE
145 hex
Myles Watson04000f42009-10-16 19:12:49 +0000146 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000147
Patrick Georgi0588d192009-08-12 15:00:51 +0000148config MAX_CPUS
149 int
150 default 1
151
152config MMCONF_SUPPORT_DEFAULT
153 bool
154 default n
155
156config MMCONF_SUPPORT
157 bool
158 default n
159
Patrick Georgi0588d192009-08-12 15:00:51 +0000160source src/console/Kconfig
161
Stefan Reinauer4885daa2011-04-26 23:47:04 +0000162# This should default to N and be set by SuperI/O drivers that have an UART
163config HAVE_UART_IO_MAPPED
164 bool
165 default y
166
167config HAVE_UART_MEMORY_MAPPED
168 bool
169 default n
170
Patrick Georgi0588d192009-08-12 15:00:51 +0000171config HAVE_ACPI_RESUME
172 bool
173 default n
174
Stefan Reinauerc4f1a772010-06-05 10:03:08 +0000175config HAVE_ACPI_SLIC
176 bool
177 default n
178
Patrick Georgi0588d192009-08-12 15:00:51 +0000179config ACPI_SSDTX_NUM
180 int
181 default 0
182
Patrick Georgi0588d192009-08-12 15:00:51 +0000183config HAVE_HARD_RESET
184 bool
Patrick Georgi37bdb872010-02-27 08:39:04 +0000185 default y if BOARD_HAS_HARD_RESET
Uwe Hermann748475b2009-10-09 11:47:21 +0000186 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000187 help
188 This variable specifies whether a given board has a hard_reset
189 function, no matter if it's provided by board code or chipset code.
190
Patrick Georgi0588d192009-08-12 15:00:51 +0000191config HAVE_INIT_TIMER
192 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000193 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000194 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000195
196config HAVE_MAINBOARD_RESOURCES
197 bool
198 default n
199
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000200config USE_OPTION_TABLE
201 bool
202 default n
203
Patrick Georgi0588d192009-08-12 15:00:51 +0000204config HAVE_OPTION_TABLE
205 bool
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000206 default n
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000207 help
208 This variable specifies whether a given board has a cmos.layout
209 file containing NVRAM/CMOS bit definitions.
Edwin Beasanteb50c7d2010-07-06 21:05:04 +0000210 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000211
Patrick Georgi0588d192009-08-12 15:00:51 +0000212config PIRQ_ROUTE
213 bool
214 default n
215
216config HAVE_SMI_HANDLER
217 bool
218 default n
219
220config PCI_IO_CFG_EXT
221 bool
222 default n
223
224config IOAPIC
225 bool
226 default n
227
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000228# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000229config VIDEO_MB
230 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000231 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000232
Myles Watson45bb25f2009-09-22 18:49:08 +0000233config USE_WATCHDOG_ON_BOOT
234 bool
235 default n
236
237config VGA
238 bool
239 default n
240 help
241 Build board-specific VGA code.
242
243config GFXUMA
244 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000245 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000246 help
247 Enable Unified Memory Architecture for graphics.
248
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000249# TODO
250# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000251#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000252# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000253
Myles Watsonb8e20272009-10-15 13:35:47 +0000254config HAVE_ACPI_TABLES
255 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000256 help
257 This variable specifies whether a given board has ACPI table support.
258 It is usually set in mainboard/*/Kconfig.
259 Whether or not the ACPI tables are actually generated by coreboot
260 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000261
262config HAVE_MP_TABLE
263 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000264 help
265 This variable specifies whether a given board has MP table support.
266 It is usually set in mainboard/*/Kconfig.
267 Whether or not the MP table is actually generated by coreboot
268 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000269
270config HAVE_PIRQ_TABLE
271 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000272 help
273 This variable specifies whether a given board has PIRQ table support.
274 It is usually set in mainboard/*/Kconfig.
275 Whether or not the PIRQ table is actually generated by coreboot
276 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000277
Myles Watsond73c1b52009-10-26 15:14:07 +0000278#These Options are here to avoid "undefined" warnings.
279#The actual selection and help texts are in the following menu.
280
281config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000282 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000283 default HAVE_ACPI_TABLES
284
285config GENERATE_MP_TABLE
286 bool
287 default HAVE_MP_TABLE
288
289config GENERATE_PIRQ_TABLE
290 bool
291 default HAVE_PIRQ_TABLE
292
Uwe Hermann168b11b2009-10-07 16:15:40 +0000293menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000294
Myles Watsonb8e20272009-10-15 13:35:47 +0000295config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000296 bool "Write 'high' tables to avoid being overwritten in F segment"
297 default y
298
299config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000300 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000301 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000302
Myles Watsonb8e20272009-10-15 13:35:47 +0000303config GENERATE_ACPI_TABLES
304 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000305 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000306 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000307 help
308 Generate ACPI tables for this board.
309
310 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000311
Myles Watsonb8e20272009-10-15 13:35:47 +0000312config GENERATE_MP_TABLE
313 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000314 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000315 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000316 help
317 Generate an MP table (conforming to the Intel MultiProcessor
318 specification 1.4) for this board.
319
320 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000321
Myles Watsonb8e20272009-10-15 13:35:47 +0000322config GENERATE_PIRQ_TABLE
323 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000324 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000325 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000326 help
327 Generate a PIRQ table for this board.
328
329 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000330
331endmenu
332
Patrick Georgi0588d192009-08-12 15:00:51 +0000333menu "Payload"
334
Patrick Georgi0588d192009-08-12 15:00:51 +0000335choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000336 prompt "Add a payload"
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000337 default PAYLOAD_NONE if !ARCH_X86
338 default PAYLOAD_SEABIOS if ARCH_X86
Patrick Georgi0588d192009-08-12 15:00:51 +0000339
Uwe Hermann168b11b2009-10-07 16:15:40 +0000340config PAYLOAD_NONE
341 bool "None"
342 help
343 Select this option if you want to create an "empty" coreboot
344 ROM image for a certain mainboard, i.e. a coreboot ROM image
345 which does not yet contain a payload.
346
347 For such an image to be useful, you have to use 'cbfstool'
348 to add a payload to the ROM image later.
349
Patrick Georgi0588d192009-08-12 15:00:51 +0000350config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000351 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000352 help
353 Select this option if you have a payload image (an ELF file)
354 which coreboot should run as soon as the basic hardware
355 initialization is completed.
356
357 You will be able to specify the location and file name of the
358 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000359
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000360config PAYLOAD_SEABIOS
361 bool "SeaBIOS"
362 depends on ARCH_X86
363 help
364 Select this option if you want to build a coreboot image
365 with a SeaBIOS payload. If you don't know what this is
366 about, just leave it enabled.
367
368 See http://coreboot.org/Payloads for more information.
369
Stefan Reinauere50952f2011-04-15 03:34:05 +0000370config PAYLOAD_FILO
371 bool "FILO"
372 help
373 Select this option if you want to build a coreboot image
374 with a FILO payload. If you don't know what this is
375 about, just leave it enabled.
376
377 See http://coreboot.org/Payloads for more information.
378
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000379endchoice
380
381choice
382 prompt "SeaBIOS version"
383 default SEABIOS_STABLE
384 depends on PAYLOAD_SEABIOS
385
386config SEABIOS_STABLE
387 bool "stable"
388 help
389 Stable SeaBIOS version
390config SEABIOS_MASTER
391 bool "master"
392 help
393 Newest SeaBIOS version
Patrick Georgi0588d192009-08-12 15:00:51 +0000394endchoice
395
Stefan Reinauere50952f2011-04-15 03:34:05 +0000396choice
397 prompt "FILO version"
398 default FILO_STABLE
399 depends on PAYLOAD_FILO
400
401config FILO_STABLE
402 bool "0.6.0"
403 help
404 Stable FILO version
405config FILO_MASTER
406 bool "HEAD"
407 help
408 Newest FILO version
409endchoice
410
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000411config PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000412 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000413 depends on PAYLOAD_ELF
414 default "payload.elf"
415 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000416 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000417
Stefan Reinauerf1939bb2010-12-30 17:39:50 +0000418config PAYLOAD_FILE
419 depends on PAYLOAD_SEABIOS
420 default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
421
Stefan Reinauere50952f2011-04-15 03:34:05 +0000422config PAYLOAD_FILE
423 depends on PAYLOAD_FILO
424 default "payloads/external/FILO/filo/build/filo.elf"
425
Uwe Hermann168b11b2009-10-07 16:15:40 +0000426# TODO: Defined if no payload? Breaks build?
427config COMPRESSED_PAYLOAD_LZMA
428 bool "Use LZMA compression for payloads"
429 default y
Stefan Reinauere50952f2011-04-15 03:34:05 +0000430 depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
Uwe Hermann168b11b2009-10-07 16:15:40 +0000431 help
432 In order to reduce the size payloads take up in the ROM chip
433 coreboot can compress them using the LZMA algorithm.
434
Myles Watson04000f42009-10-16 19:12:49 +0000435config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000436 bool
Myles Watson04000f42009-10-16 19:12:49 +0000437 default n
438
Peter Stugea758ca22009-09-17 16:21:31 +0000439endmenu
440
441menu "VGA BIOS"
442
443config VGA_BIOS
444 bool "Add a VGA BIOS image"
445 help
446 Select this option if you have a VGA BIOS image that you would
447 like to add to your ROM.
448
449 You will be able to specify the location and file name of the
450 image later.
451
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000452config VGA_BIOS_FILE
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000453 string "VGA BIOS path and filename"
454 depends on VGA_BIOS
455 default "vgabios.bin"
456 help
457 The path and filename of the file to use as VGA BIOS.
458
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000459config VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000460 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000461 depends on VGA_BIOS
462 default "1106,3230"
463 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000464 The comma-separated PCI vendor and device ID that would associate
465 your VGA BIOS to your video card.
466
467 Example: 1106,3230
468
469 In the above example 1106 is the PCI vendor ID (in hex, but without
470 the "0x" prefix) and 3230 specifies the PCI device ID of the
471 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000472
Stefan Reinauer800379f2010-03-01 08:34:19 +0000473config INTEL_MBI
474 bool "Add an MBI image"
475 depends on NORTHBRIDGE_INTEL_I82830
476 help
477 Select this option if you have an Intel MBI image that you would
478 like to add to your ROM.
479
480 You will be able to specify the location and file name of the
481 image later.
482
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000483config MBI_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000484 string "Intel MBI path and filename"
485 depends on INTEL_MBI
486 default "mbi.bin"
487 help
488 The path and filename of the file to use as VGA BIOS.
489
490endmenu
491
492menu "Bootsplash"
493 depends on PCI_OPTION_ROM_RUN_YABEL
494
495config BOOTSPLASH
496 prompt "Show graphical bootsplash"
497 bool
498 depends on PCI_OPTION_ROM_RUN_YABEL
499 help
500 This option shows a graphical bootsplash screen. The grapics are
501 loaded from the CBFS file bootsplash.jpg.
502
Stefan Reinauerbccbbe62010-12-19 21:20:14 +0000503config BOOTSPLASH_FILE
Stefan Reinauer800379f2010-03-01 08:34:19 +0000504 string "Bootsplash path and filename"
505 depends on BOOTSPLASH
506 default "bootsplash.jpg"
507 help
Stefan Reinauer14e22772010-04-27 06:56:47 +0000508 The path and filename of the file to use as graphical bootsplash
509 screen. The file format has to be jpg.
Stefan Reinauer800379f2010-03-01 08:34:19 +0000510
511# TODO: Turn this into a "choice".
512config FRAMEBUFFER_VESA_MODE
513 prompt "VESA framebuffer video mode"
514 hex
515 default 0x117
516 depends on BOOTSPLASH
517 help
518 This option sets the resolution used for the coreboot framebuffer and
519 bootsplash screen. Set to 0x117 for 1024x768x16. A diligent soul will
520 some day make this a "choice".
521
522config COREBOOT_KEEP_FRAMEBUFFER
523 prompt "Keep VESA framebuffer"
524 bool
525 depends on BOOTSPLASH
526 help
527 This option keeps the framebuffer mode set after coreboot finishes
528 execution. If this option is enabled, coreboot will pass a
529 framebuffer entry in its coreboot table and the payload will need a
530 framebuffer driver. If this option is disabled, coreboot will switch
531 back to text mode before handing control to a payload.
532
Patrick Georgi0588d192009-08-12 15:00:51 +0000533endmenu
534
Uwe Hermann168b11b2009-10-07 16:15:40 +0000535menu "Debugging"
536
537# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000538config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000539 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000540 default y
541 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000542 If enabled, you will be able to set breakpoints for gdb debugging.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000543 See src/arch/x86/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000544
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000545config HAVE_DEBUG_RAM_SETUP
546 def_bool n
547
Uwe Hermann01ce6012010-03-05 10:03:50 +0000548config DEBUG_RAM_SETUP
549 bool "Output verbose RAM init debug messages"
550 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000551 depends on HAVE_DEBUG_RAM_SETUP
Uwe Hermann01ce6012010-03-05 10:03:50 +0000552 help
553 This option enables additional RAM init related debug messages.
554 It is recommended to enable this when debugging issues on your
555 board which might be RAM init related.
556
557 Note: This option will increase the size of the coreboot image.
558
559 If unsure, say N.
560
Patrick Georgie82618d2010-10-01 14:50:12 +0000561config HAVE_DEBUG_CAR
562 def_bool n
563
Peter Stuge5015f792010-11-10 02:00:32 +0000564config DEBUG_CAR
565 def_bool n
566 depends on HAVE_DEBUG_CAR
567
568if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000569# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
570# printk(BIOS_DEBUG, ...) calls.
Patrick Georgie82618d2010-10-01 14:50:12 +0000571config DEBUG_CAR
572 bool "Output verbose Cache-as-RAM debug messages"
573 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000574 depends on HAVE_DEBUG_CAR
Patrick Georgie82618d2010-10-01 14:50:12 +0000575 help
576 This option enables additional CAR related debug messages.
Peter Stuge5015f792010-11-10 02:00:32 +0000577endif
Patrick Georgie82618d2010-10-01 14:50:12 +0000578
Myles Watson80e914ff2010-06-01 19:25:31 +0000579config DEBUG_PIRQ
580 bool "Check PIRQ table consistency"
581 default n
582 depends on GENERATE_PIRQ_TABLE
583 help
584 If unsure, say N.
585
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000586config HAVE_DEBUG_SMBUS
587 def_bool n
588
Uwe Hermann01ce6012010-03-05 10:03:50 +0000589config DEBUG_SMBUS
590 bool "Output verbose SMBus debug messages"
591 default n
Jens Rottmann0d11f2d2010-08-26 12:46:02 +0000592 depends on HAVE_DEBUG_SMBUS
Uwe Hermann01ce6012010-03-05 10:03:50 +0000593 help
594 This option enables additional SMBus (and SPD) debug messages.
595
596 Note: This option will increase the size of the coreboot image.
597
598 If unsure, say N.
599
600config DEBUG_SMI
601 bool "Output verbose SMI debug messages"
602 default n
603 depends on HAVE_SMI_HANDLER
604 help
605 This option enables additional SMI related debug messages.
606
607 Note: This option will increase the size of the coreboot image.
608
609 If unsure, say N.
610
Stefan Reinauerbc0f7a62010-08-01 15:41:14 +0000611config DEBUG_SMM_RELOCATION
612 bool "Debug SMM relocation code"
613 default n
614 depends on HAVE_SMI_HANDLER
615 help
616 This option enables additional SMM handler relocation related
617 debug messages.
618
619 Note: This option will increase the size of the coreboot image.
620
621 If unsure, say N.
622
Peter Stuge5015f792010-11-10 02:00:32 +0000623config DEBUG_MALLOC
624 def_bool n
625
Uwe Hermanna953f372010-11-10 00:14:32 +0000626# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
627# printk(BIOS_DEBUG, ...) calls.
Peter Stuge5015f792010-11-10 02:00:32 +0000628if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000629config DEBUG_MALLOC
630 bool "Output verbose malloc debug messages"
631 default n
Uwe Hermanna953f372010-11-10 00:14:32 +0000632 help
633 This option enables additional malloc related debug messages.
634
635 Note: This option will increase the size of the coreboot image.
636
637 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000638endif
Uwe Hermanna953f372010-11-10 00:14:32 +0000639
Peter Stuge5015f792010-11-10 02:00:32 +0000640config REALMODE_DEBUG
641 def_bool n
642 depends on PCI_OPTION_ROM_RUN_REALMODE
643
644if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
Uwe Hermanna953f372010-11-10 00:14:32 +0000645# Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
646# printk(BIOS_DEBUG, ...) calls.
Myles Watson6c9bc012010-09-07 22:30:15 +0000647config REALMODE_DEBUG
648 bool "Enable debug messages for option ROM execution"
649 default n
Peter Stuge5015f792010-11-10 02:00:32 +0000650 depends on PCI_OPTION_ROM_RUN_REALMODE
Myles Watson6c9bc012010-09-07 22:30:15 +0000651 help
652 This option enables additional x86emu related debug messages.
653
654 Note: This option will increase the time to emulate a ROM.
655
656 If unsure, say N.
Peter Stuge5015f792010-11-10 02:00:32 +0000657endif
Myles Watson6c9bc012010-09-07 22:30:15 +0000658
Uwe Hermann01ce6012010-03-05 10:03:50 +0000659config X86EMU_DEBUG
660 bool "Output verbose x86emu debug messages"
661 default n
662 depends on PCI_OPTION_ROM_RUN_YABEL
663 help
664 This option enables additional x86emu related debug messages.
665
666 Note: This option will increase the size of the coreboot image.
667
668 If unsure, say N.
669
670config X86EMU_DEBUG_JMP
671 bool "Trace JMP/RETF"
672 default n
673 depends on X86EMU_DEBUG
674 help
675 Print information about JMP and RETF opcodes from x86emu.
676
677 Note: This option will increase the size of the coreboot image.
678
679 If unsure, say N.
680
681config X86EMU_DEBUG_TRACE
682 bool "Trace all opcodes"
683 default n
684 depends on X86EMU_DEBUG
685 help
686 Print _all_ opcodes that are executed by x86emu.
Stefan Reinauer14e22772010-04-27 06:56:47 +0000687
Uwe Hermann01ce6012010-03-05 10:03:50 +0000688 WARNING: This will produce a LOT of output and take a long time.
689
690 Note: This option will increase the size of the coreboot image.
691
692 If unsure, say N.
693
694config X86EMU_DEBUG_PNP
695 bool "Log Plug&Play accesses"
696 default n
697 depends on X86EMU_DEBUG
698 help
699 Print Plug And Play accesses made by option ROMs.
700
701 Note: This option will increase the size of the coreboot image.
702
703 If unsure, say N.
704
705config X86EMU_DEBUG_DISK
706 bool "Log Disk I/O"
707 default n
708 depends on X86EMU_DEBUG
709 help
710 Print Disk I/O related messages.
711
712 Note: This option will increase the size of the coreboot image.
713
714 If unsure, say N.
715
716config X86EMU_DEBUG_PMM
717 bool "Log PMM"
718 default n
719 depends on X86EMU_DEBUG
720 help
721 Print messages related to POST Memory Manager (PMM).
722
723 Note: This option will increase the size of the coreboot image.
724
725 If unsure, say N.
726
727
728config X86EMU_DEBUG_VBE
729 bool "Debug VESA BIOS Extensions"
730 default n
731 depends on X86EMU_DEBUG
732 help
733 Print messages related to VESA BIOS Extension (VBE) functions.
734
735 Note: This option will increase the size of the coreboot image.
736
737 If unsure, say N.
738
739config X86EMU_DEBUG_INT10
740 bool "Redirect INT10 output to console"
741 default n
742 depends on X86EMU_DEBUG
743 help
744 Let INT10 (i.e. character output) calls print messages to debug output.
745
746 Note: This option will increase the size of the coreboot image.
747
748 If unsure, say N.
749
750config X86EMU_DEBUG_INTERRUPTS
751 bool "Log intXX calls"
752 default n
753 depends on X86EMU_DEBUG
754 help
755 Print messages related to interrupt handling.
756
757 Note: This option will increase the size of the coreboot image.
758
759 If unsure, say N.
760
761config X86EMU_DEBUG_CHECK_VMEM_ACCESS
762 bool "Log special memory accesses"
763 default n
764 depends on X86EMU_DEBUG
765 help
766 Print messages related to accesses to certain areas of the virtual
767 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
768
769 Note: This option will increase the size of the coreboot image.
770
771 If unsure, say N.
772
773config X86EMU_DEBUG_MEM
774 bool "Log all memory accesses"
775 default n
776 depends on X86EMU_DEBUG
777 help
778 Print memory accesses made by option ROM.
779 Note: This also includes accesses to fetch instructions.
780
781 Note: This option will increase the size of the coreboot image.
782
783 If unsure, say N.
784
785config X86EMU_DEBUG_IO
786 bool "Log IO accesses"
787 default n
788 depends on X86EMU_DEBUG
789 help
790 Print I/O accesses made by option ROM.
791
792 Note: This option will increase the size of the coreboot image.
793
794 If unsure, say N.
795
Stefan Reinauer5c503922010-03-13 22:07:15 +0000796config LLSHELL
797 bool "Built-in low-level shell"
798 default n
799 help
800 If enabled, you will have a low level shell to examine your machine.
801 Put llshell() in your (romstage) code to start the shell.
Stefan Reinauer8677a232010-12-11 20:33:41 +0000802 See src/arch/x86/llshell/llshell.inc for details.
Stefan Reinauer5c503922010-03-13 22:07:15 +0000803
Uwe Hermann168b11b2009-10-07 16:15:40 +0000804endmenu
805
Myles Watson8f74c582009-10-20 16:10:04 +0000806config LIFT_BSP_APIC_ID
807 bool
808 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000809
810# These probably belong somewhere else, but they are needed somewhere.
811config AP_CODE_IN_CAR
812 bool
813 default n
814
Jonathan Kollasche5b75072010-10-07 23:02:06 +0000815config RAMINIT_SYSINFO
816 bool
817 default n
818
Myles Watsond73c1b52009-10-26 15:14:07 +0000819config ENABLE_APIC_EXT_ID
820 bool
821 default n
Myles Watson2e672732009-11-12 16:38:03 +0000822
823config WARNINGS_ARE_ERRORS
824 bool
Stefan Reinauer6f57b512010-07-08 16:41:05 +0000825 default y
Patrick Georgi436f99b2009-11-27 16:55:13 +0000826
827config ID_SECTION_OFFSET
828 hex
829 default 0x10
Patrick Georgicc669262010-03-14 21:31:05 +0000830
Peter Stuge51eafde2010-10-13 06:23:02 +0000831# The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
832# POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
833# mutually exclusive. One of these options must be selected in the
834# mainboard Kconfig if the chipset supports enabling and disabling of
835# the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
836# in mainboard/Kconfig to know if the button should be enabled or not.
837
838config POWER_BUTTON_DEFAULT_ENABLE
839 def_bool n
840 help
841 Select when the board has a power button which can optionally be
842 disabled by the user.
843
844config POWER_BUTTON_DEFAULT_DISABLE
845 def_bool n
846 help
847 Select when the board has a power button which can optionally be
848 enabled by the user, e.g. when the board ships with a jumper over
849 the power switch contacts.
850
851config POWER_BUTTON_FORCE_ENABLE
852 def_bool n
853 help
854 Select when the board requires that the power button is always
855 enabled.
856
857config POWER_BUTTON_FORCE_DISABLE
858 def_bool n
859 help
860 Select when the board requires that the power button is always
861 disabled, e.g. when it has been hardwired to ground.
862
863config POWER_BUTTON_IS_OPTIONAL
864 bool
865 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
866 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
867 help
868 Internal option that controls ENABLE_POWER_BUTTON visibility.
869
Patrick Georgicc669262010-03-14 21:31:05 +0000870source src/Kconfig.deprecated_options