blob: dfb2d71a4c02076ef37fc31c992bc95439723be1 [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
Uwe Hermannc04be932009-10-05 13:55:28 +000049endmenu
50
Patrick Georgi0588d192009-08-12 15:00:51 +000051source src/mainboard/Kconfig
52source src/arch/i386/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000053
54menu "Chipset"
55
56comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +000057source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000058comment "Northbridge"
59source src/northbridge/Kconfig
60comment "Southbridge"
61source src/southbridge/Kconfig
62comment "Super I/O"
63source src/superio/Kconfig
64comment "Devices"
65source src/devices/Kconfig
66
67endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +000068
Patrick Georgi0588d192009-08-12 15:00:51 +000069config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000070 int
71 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000072
Patrick Georgi0588d192009-08-12 15:00:51 +000073config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000074 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000075 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000076
77config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000078 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000079 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000080
81config CPU_ADDR_BITS
82 int
83 default 36
84
85config XIP_ROM_BASE
86 hex
87 default 0xfffe0000
88
89config XIP_ROM_SIZE
90 hex
91 default 0x20000
92
93config LB_CKS_RANGE_START
94 int
95 default 49
96
97config LB_CKS_RANGE_END
98 int
99 default 125
100
101config LB_CKS_LOC
102 int
103 default 126
104
105config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +0000106 bool
107 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000108
109config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000110 bool
111 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000112
Patrick Georgi0588d192009-08-12 15:00:51 +0000113config HEAP_SIZE
114 hex
Myles Watson04000f42009-10-16 19:12:49 +0000115 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000116
Patrick Georgi0588d192009-08-12 15:00:51 +0000117config DEBUG
118 bool
119 default n
120
121config USE_PRINTK_IN_CAR
122 bool
123 default n
124
125config USE_OPTION_TABLE
126 bool
127 default n
128
129config MAX_CPUS
130 int
131 default 1
132
133config MMCONF_SUPPORT_DEFAULT
134 bool
135 default n
136
137config MMCONF_SUPPORT
138 bool
139 default n
140
Myles Watson0f61a4f2009-10-16 16:32:57 +0000141config RAMTOP
Myles Watson3db199c2009-10-12 22:39:08 +0000142 hex
Myles Watson0f61a4f2009-10-16 16:32:57 +0000143 default 0x200000
Patrick Georgi0588d192009-08-12 15:00:51 +0000144
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000145config ATI_RAGE_XL
146 bool
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000147
Patrick Georgi0588d192009-08-12 15:00:51 +0000148source src/console/Kconfig
149
150config HAVE_ACPI_RESUME
151 bool
152 default n
153
154config ACPI_SSDTX_NUM
155 int
156 default 0
157
Patrick Georgi0588d192009-08-12 15:00:51 +0000158config HAVE_FALLBACK_BOOT
159 bool
160 default y
161
162config USE_FALLBACK_IMAGE
163 bool
164 default y
165
Patrick Georgi37ea3412009-10-03 21:04:13 +0000166config HAVE_FAILOVER_BOOT
167 bool
168 default n
169
170config USE_FAILOVER_IMAGE
171 bool
172 default n
173
Patrick Georgi0588d192009-08-12 15:00:51 +0000174config HAVE_HARD_RESET
175 bool
Patrick Georgi37bdb872010-02-27 08:39:04 +0000176 default y if BOARD_HAS_HARD_RESET
Uwe Hermann748475b2009-10-09 11:47:21 +0000177 default n
Patrick Georgi37bdb872010-02-27 08:39:04 +0000178 help
179 This variable specifies whether a given board has a hard_reset
180 function, no matter if it's provided by board code or chipset code.
181
182config BOARD_HAS_HARD_RESET
183 bool
184 default n
185 help
186 This variable specifies whether a given board has a reset.c
187 file containing a hard_reset() function.
Patrick Georgi0588d192009-08-12 15:00:51 +0000188
Patrick Georgi9ea7bff2010-02-28 18:23:00 +0000189config BOARD_HAS_FADT
190 bool
191 default n
192 help
193 This variable specifies whether a given board has a board-local
194 FADT in fadt.c. Long-term, those should be moved to appropriate
195 chipset components (eg. southbridge)
196
197config HAVE_BUS_CONFIG
198 bool
199 default n
200 help
201 This variable specifies whether a given board has a get_bus_conf.c
202 file containing bus configuration data.
203
Patrick Georgi0588d192009-08-12 15:00:51 +0000204config HAVE_INIT_TIMER
205 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000206 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000207 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000208
209config HAVE_MAINBOARD_RESOURCES
210 bool
211 default n
212
Patrick Georgi0588d192009-08-12 15:00:51 +0000213config HAVE_OPTION_TABLE
214 bool
215 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000216 help
217 This variable specifies whether a given board has a cmos.layout
218 file containing NVRAM/CMOS bit definitions.
219 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000220
Patrick Georgi0588d192009-08-12 15:00:51 +0000221config PIRQ_ROUTE
222 bool
223 default n
224
225config HAVE_SMI_HANDLER
226 bool
227 default n
228
229config PCI_IO_CFG_EXT
230 bool
231 default n
232
233config IOAPIC
234 bool
235 default n
236
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000237# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000238config VIDEO_MB
239 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000240 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000241
Myles Watson45bb25f2009-09-22 18:49:08 +0000242config USE_WATCHDOG_ON_BOOT
243 bool
244 default n
245
246config VGA
247 bool
248 default n
249 help
250 Build board-specific VGA code.
251
252config GFXUMA
253 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000254 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000255 help
256 Enable Unified Memory Architecture for graphics.
257
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000258# TODO
259# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000260#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000261# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000262
Myles Watsond73c1b52009-10-26 15:14:07 +0000263#TODO Remove this option or make it useful.
264config HAVE_LOW_TABLES
265 bool
266 default y
267 help
268 This Option is unused in the code. Since two boards try to set it to
269 'n', they may be broken. We either need to make the option useful or
270 get rid of it. The broken boards are:
271 asus/m2v-mx_se
272 supermicro/h8dme
273
274config HAVE_HIGH_TABLES
275 bool
Stefan Reinauer13f2bb02010-02-25 13:45:08 +0000276 default y
Myles Watsond73c1b52009-10-26 15:14:07 +0000277 help
278 This variable specifies whether a given northbridge has high table
279 support.
280 It is set in northbridge/*/Kconfig.
281 Whether or not the high tables are actually written by coreboot is
282 configurable by the user via WRITE_HIGH_TABLES.
283
Myles Watsonb8e20272009-10-15 13:35:47 +0000284config HAVE_ACPI_TABLES
285 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000286 help
287 This variable specifies whether a given board has ACPI table support.
288 It is usually set in mainboard/*/Kconfig.
289 Whether or not the ACPI tables are actually generated by coreboot
290 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000291
292config HAVE_MP_TABLE
293 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000294 help
295 This variable specifies whether a given board has MP table support.
296 It is usually set in mainboard/*/Kconfig.
297 Whether or not the MP table is actually generated by coreboot
298 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000299
300config HAVE_PIRQ_TABLE
301 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000302 help
303 This variable specifies whether a given board has PIRQ table support.
304 It is usually set in mainboard/*/Kconfig.
305 Whether or not the PIRQ table is actually generated by coreboot
306 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000307
Myles Watsond73c1b52009-10-26 15:14:07 +0000308#These Options are here to avoid "undefined" warnings.
309#The actual selection and help texts are in the following menu.
310
311config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000312 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000313 default HAVE_ACPI_TABLES
314
315config GENERATE_MP_TABLE
316 bool
317 default HAVE_MP_TABLE
318
319config GENERATE_PIRQ_TABLE
320 bool
321 default HAVE_PIRQ_TABLE
322
323config WRITE_HIGH_TABLES
324 bool
325 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000326
Uwe Hermann168b11b2009-10-07 16:15:40 +0000327menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000328
Myles Watsonb8e20272009-10-15 13:35:47 +0000329config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000330 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000331 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000332 default y
333
334config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000335 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000336 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000337
Myles Watsonb8e20272009-10-15 13:35:47 +0000338config GENERATE_ACPI_TABLES
339 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000340 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000341 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000342 help
343 Generate ACPI tables for this board.
344
345 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000346
Myles Watsonb8e20272009-10-15 13:35:47 +0000347config GENERATE_MP_TABLE
348 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000349 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000350 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000351 help
352 Generate an MP table (conforming to the Intel MultiProcessor
353 specification 1.4) for this board.
354
355 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000356
Myles Watsonb8e20272009-10-15 13:35:47 +0000357config GENERATE_PIRQ_TABLE
358 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000359 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000360 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000361 help
362 Generate a PIRQ table for this board.
363
364 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000365
366endmenu
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"
Patrick Georgi0588d192009-08-12 15:00:51 +0000372 default PAYLOAD_NONE
373
Uwe Hermann168b11b2009-10-07 16:15:40 +0000374config PAYLOAD_NONE
375 bool "None"
376 help
377 Select this option if you want to create an "empty" coreboot
378 ROM image for a certain mainboard, i.e. a coreboot ROM image
379 which does not yet contain a payload.
380
381 For such an image to be useful, you have to use 'cbfstool'
382 to add a payload to the ROM image later.
383
Patrick Georgi0588d192009-08-12 15:00:51 +0000384config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000385 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000386 help
387 Select this option if you have a payload image (an ELF file)
388 which coreboot should run as soon as the basic hardware
389 initialization is completed.
390
391 You will be able to specify the location and file name of the
392 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000393
394endchoice
395
Patrick Georgi0588d192009-08-12 15:00:51 +0000396config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000397 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000398 depends on PAYLOAD_ELF
399 default "payload.elf"
400 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000401 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000402
Uwe Hermann168b11b2009-10-07 16:15:40 +0000403# TODO: Defined if no payload? Breaks build?
404config COMPRESSED_PAYLOAD_LZMA
405 bool "Use LZMA compression for payloads"
406 default y
407 depends on PAYLOAD_ELF
408 help
409 In order to reduce the size payloads take up in the ROM chip
410 coreboot can compress them using the LZMA algorithm.
411
Myles Watson04000f42009-10-16 19:12:49 +0000412config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000413 bool
Myles Watson04000f42009-10-16 19:12:49 +0000414 default n
415
Peter Stugea758ca22009-09-17 16:21:31 +0000416endmenu
417
418menu "VGA BIOS"
419
420config VGA_BIOS
421 bool "Add a VGA BIOS image"
422 help
423 Select this option if you have a VGA BIOS image that you would
424 like to add to your ROM.
425
426 You will be able to specify the location and file name of the
427 image later.
428
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000429config FALLBACK_VGA_BIOS_FILE
430 string "VGA BIOS path and filename"
431 depends on VGA_BIOS
432 default "vgabios.bin"
433 help
434 The path and filename of the file to use as VGA BIOS.
435
436config FALLBACK_VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000437 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000438 depends on VGA_BIOS
439 default "1106,3230"
440 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000441 The comma-separated PCI vendor and device ID that would associate
442 your VGA BIOS to your video card.
443
444 Example: 1106,3230
445
446 In the above example 1106 is the PCI vendor ID (in hex, but without
447 the "0x" prefix) and 3230 specifies the PCI device ID of the
448 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000449
Patrick Georgi0588d192009-08-12 15:00:51 +0000450endmenu
451
Uwe Hermann168b11b2009-10-07 16:15:40 +0000452menu "Debugging"
453
454# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000455config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000456 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000457 default y
458 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000459 If enabled, you will be able to set breakpoints for gdb debugging.
460 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000461
Uwe Hermann168b11b2009-10-07 16:15:40 +0000462endmenu
463
Myles Watson8f74c582009-10-20 16:10:04 +0000464config LIFT_BSP_APIC_ID
465 bool
466 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000467
468# These probably belong somewhere else, but they are needed somewhere.
469config AP_CODE_IN_CAR
470 bool
471 default n
472
473config USE_INIT
474 bool
475 default n
476
477config ENABLE_APIC_EXT_ID
478 bool
479 default n
Myles Watson2e672732009-11-12 16:38:03 +0000480
481config WARNINGS_ARE_ERRORS
482 bool
483 default n
Patrick Georgi436f99b2009-11-27 16:55:13 +0000484
485config ID_SECTION_OFFSET
486 hex
487 default 0x10