blob: 4cd8110377e359b3e9216f3b3504eee98b7b4a87 [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
189config HAVE_INIT_TIMER
190 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000191 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000192 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000193
194config HAVE_MAINBOARD_RESOURCES
195 bool
196 default n
197
Patrick Georgi0588d192009-08-12 15:00:51 +0000198config HAVE_OPTION_TABLE
199 bool
200 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000201 help
202 This variable specifies whether a given board has a cmos.layout
203 file containing NVRAM/CMOS bit definitions.
204 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000205
Patrick Georgi0588d192009-08-12 15:00:51 +0000206config PIRQ_ROUTE
207 bool
208 default n
209
210config HAVE_SMI_HANDLER
211 bool
212 default n
213
214config PCI_IO_CFG_EXT
215 bool
216 default n
217
218config IOAPIC
219 bool
220 default n
221
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000222# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000223config VIDEO_MB
224 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000225 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000226
Myles Watson45bb25f2009-09-22 18:49:08 +0000227config USE_WATCHDOG_ON_BOOT
228 bool
229 default n
230
231config VGA
232 bool
233 default n
234 help
235 Build board-specific VGA code.
236
237config GFXUMA
238 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000239 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000240 help
241 Enable Unified Memory Architecture for graphics.
242
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000243# TODO
244# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000245#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000246# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000247
Myles Watsond73c1b52009-10-26 15:14:07 +0000248#TODO Remove this option or make it useful.
249config HAVE_LOW_TABLES
250 bool
251 default y
252 help
253 This Option is unused in the code. Since two boards try to set it to
254 'n', they may be broken. We either need to make the option useful or
255 get rid of it. The broken boards are:
256 asus/m2v-mx_se
257 supermicro/h8dme
258
259config HAVE_HIGH_TABLES
260 bool
Stefan Reinauer13f2bb02010-02-25 13:45:08 +0000261 default y
Myles Watsond73c1b52009-10-26 15:14:07 +0000262 help
263 This variable specifies whether a given northbridge has high table
264 support.
265 It is set in northbridge/*/Kconfig.
266 Whether or not the high tables are actually written by coreboot is
267 configurable by the user via WRITE_HIGH_TABLES.
268
Myles Watsonb8e20272009-10-15 13:35:47 +0000269config HAVE_ACPI_TABLES
270 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000271 help
272 This variable specifies whether a given board has ACPI table support.
273 It is usually set in mainboard/*/Kconfig.
274 Whether or not the ACPI tables are actually generated by coreboot
275 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000276
277config HAVE_MP_TABLE
278 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000279 help
280 This variable specifies whether a given board has MP table support.
281 It is usually set in mainboard/*/Kconfig.
282 Whether or not the MP table is actually generated by coreboot
283 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000284
285config HAVE_PIRQ_TABLE
286 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000287 help
288 This variable specifies whether a given board has PIRQ table support.
289 It is usually set in mainboard/*/Kconfig.
290 Whether or not the PIRQ table is actually generated by coreboot
291 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000292
Myles Watsond73c1b52009-10-26 15:14:07 +0000293#These Options are here to avoid "undefined" warnings.
294#The actual selection and help texts are in the following menu.
295
296config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000297 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000298 default HAVE_ACPI_TABLES
299
300config GENERATE_MP_TABLE
301 bool
302 default HAVE_MP_TABLE
303
304config GENERATE_PIRQ_TABLE
305 bool
306 default HAVE_PIRQ_TABLE
307
308config WRITE_HIGH_TABLES
309 bool
310 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000311
Uwe Hermann168b11b2009-10-07 16:15:40 +0000312menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000313
Myles Watsonb8e20272009-10-15 13:35:47 +0000314config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000315 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000316 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000317 default y
318
319config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000320 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000321 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000322
Myles Watsonb8e20272009-10-15 13:35:47 +0000323config GENERATE_ACPI_TABLES
324 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000325 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000326 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000327 help
328 Generate ACPI tables for this board.
329
330 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000331
Myles Watsonb8e20272009-10-15 13:35:47 +0000332config GENERATE_MP_TABLE
333 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000334 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000335 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000336 help
337 Generate an MP table (conforming to the Intel MultiProcessor
338 specification 1.4) for this board.
339
340 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000341
Myles Watsonb8e20272009-10-15 13:35:47 +0000342config GENERATE_PIRQ_TABLE
343 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000344 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000345 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000346 help
347 Generate a PIRQ table for this board.
348
349 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000350
351endmenu
352
Patrick Georgi0588d192009-08-12 15:00:51 +0000353menu "Payload"
354
Patrick Georgi0588d192009-08-12 15:00:51 +0000355choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000356 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000357 default PAYLOAD_NONE
358
Uwe Hermann168b11b2009-10-07 16:15:40 +0000359config PAYLOAD_NONE
360 bool "None"
361 help
362 Select this option if you want to create an "empty" coreboot
363 ROM image for a certain mainboard, i.e. a coreboot ROM image
364 which does not yet contain a payload.
365
366 For such an image to be useful, you have to use 'cbfstool'
367 to add a payload to the ROM image later.
368
Patrick Georgi0588d192009-08-12 15:00:51 +0000369config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000370 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000371 help
372 Select this option if you have a payload image (an ELF file)
373 which coreboot should run as soon as the basic hardware
374 initialization is completed.
375
376 You will be able to specify the location and file name of the
377 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000378
379endchoice
380
Patrick Georgi0588d192009-08-12 15:00:51 +0000381config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000382 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000383 depends on PAYLOAD_ELF
384 default "payload.elf"
385 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000386 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000387
Uwe Hermann168b11b2009-10-07 16:15:40 +0000388# TODO: Defined if no payload? Breaks build?
389config COMPRESSED_PAYLOAD_LZMA
390 bool "Use LZMA compression for payloads"
391 default y
392 depends on PAYLOAD_ELF
393 help
394 In order to reduce the size payloads take up in the ROM chip
395 coreboot can compress them using the LZMA algorithm.
396
Myles Watson04000f42009-10-16 19:12:49 +0000397config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000398 bool
Myles Watson04000f42009-10-16 19:12:49 +0000399 default n
400
Peter Stugea758ca22009-09-17 16:21:31 +0000401endmenu
402
403menu "VGA BIOS"
404
405config VGA_BIOS
406 bool "Add a VGA BIOS image"
407 help
408 Select this option if you have a VGA BIOS image that you would
409 like to add to your ROM.
410
411 You will be able to specify the location and file name of the
412 image later.
413
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000414config FALLBACK_VGA_BIOS_FILE
415 string "VGA BIOS path and filename"
416 depends on VGA_BIOS
417 default "vgabios.bin"
418 help
419 The path and filename of the file to use as VGA BIOS.
420
421config FALLBACK_VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000422 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000423 depends on VGA_BIOS
424 default "1106,3230"
425 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000426 The comma-separated PCI vendor and device ID that would associate
427 your VGA BIOS to your video card.
428
429 Example: 1106,3230
430
431 In the above example 1106 is the PCI vendor ID (in hex, but without
432 the "0x" prefix) and 3230 specifies the PCI device ID of the
433 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000434
Patrick Georgi0588d192009-08-12 15:00:51 +0000435endmenu
436
Uwe Hermann168b11b2009-10-07 16:15:40 +0000437menu "Debugging"
438
439# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000440config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000441 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000442 default y
443 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000444 If enabled, you will be able to set breakpoints for gdb debugging.
445 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000446
Uwe Hermann168b11b2009-10-07 16:15:40 +0000447endmenu
448
Myles Watson8f74c582009-10-20 16:10:04 +0000449config LIFT_BSP_APIC_ID
450 bool
451 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000452
453# These probably belong somewhere else, but they are needed somewhere.
454config AP_CODE_IN_CAR
455 bool
456 default n
457
458config USE_INIT
459 bool
460 default n
461
462config ENABLE_APIC_EXT_ID
463 bool
464 default n
Myles Watson2e672732009-11-12 16:38:03 +0000465
466config WARNINGS_ARE_ERRORS
467 bool
468 default n
Patrick Georgi436f99b2009-11-27 16:55:13 +0000469
470config ID_SECTION_OFFSET
471 hex
472 default 0x10