blob: 6fe473c5993f51291aed3ea1eefa38a7c10c273a [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001##
2## This file is part of the coreboot repair project.
3##
4## Redistribution and use in source and binary forms, with or without
5## modification, are permitted provided that the following conditions
6## are met:
7## 1. Redistributions of source code must retain the above copyright
8## notice, this list of conditions and the following disclaimer.
9## 2. Redistributions in binary form must reproduce the above copyright
10## notice, this list of conditions and the following disclaimer in the
11## documentation and/or other materials provided with the distribution.
12## 3. The name of the author may not be used to endorse or promote products
13## derived from this software without specific prior written permission.
14##
15## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25## SUCH DAMAGE.
26##
27
28mainmenu "Coreboot Configuration"
29
Uwe Hermannc04be932009-10-05 13:55:28 +000030menu "General setup"
31
Uwe Hermanna29ad5c2009-10-18 18:35:50 +000032config EXPERT
33 bool "Expert mode"
34 help
35 This allows you to select certain advanced configuration options.
36
37 Warning: Only enable this option if you really know what you are
38 doing! You have been warned!
39
Uwe Hermannc04be932009-10-05 13:55:28 +000040config LOCALVERSION
Uwe Hermann168b11b2009-10-07 16:15:40 +000041 string "Local version string"
Uwe Hermannc04be932009-10-05 13:55:28 +000042 help
43 Append an extra string to the end of the coreboot version.
44
Uwe Hermann168b11b2009-10-07 16:15:40 +000045 This can be useful if, for instance, you want to append the
46 respective board's hostname or some other identifying string to
47 the coreboot version number, so that you can easily distinguish
48 boot logs of different boards from each other.
49
Uwe Hermannc04be932009-10-05 13:55:28 +000050endmenu
51
Patrick Georgi0588d192009-08-12 15:00:51 +000052source src/mainboard/Kconfig
53source src/arch/i386/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000054
55menu "Chipset"
56
57comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +000058source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000059comment "Northbridge"
60source src/northbridge/Kconfig
61comment "Southbridge"
62source src/southbridge/Kconfig
63comment "Super I/O"
64source src/superio/Kconfig
65comment "Devices"
66source src/devices/Kconfig
67
68endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +000069
Patrick Georgi0588d192009-08-12 15:00:51 +000070config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000071 int
72 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000073
Patrick Georgi0588d192009-08-12 15:00:51 +000074config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000075 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000076 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000077
78config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000079 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000080 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000081
82config CPU_ADDR_BITS
83 int
84 default 36
85
86config XIP_ROM_BASE
87 hex
88 default 0xfffe0000
89
90config XIP_ROM_SIZE
91 hex
92 default 0x20000
93
94config LB_CKS_RANGE_START
95 int
96 default 49
97
98config LB_CKS_RANGE_END
99 int
100 default 125
101
102config LB_CKS_LOC
103 int
104 default 126
105
106config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +0000107 bool
108 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000109
110config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000111 bool
112 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000113
Patrick Georgi0588d192009-08-12 15:00:51 +0000114config HEAP_SIZE
115 hex
Myles Watson04000f42009-10-16 19:12:49 +0000116 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000117
118config COREBOOT_V2
119 bool
120 default y
121
122config COREBOOT_V4
123 bool
124 default y
125
126config DEBUG
127 bool
128 default n
129
130config USE_PRINTK_IN_CAR
131 bool
132 default n
133
134config USE_OPTION_TABLE
135 bool
136 default n
137
138config MAX_CPUS
139 int
140 default 1
141
142config MMCONF_SUPPORT_DEFAULT
143 bool
144 default n
145
146config MMCONF_SUPPORT
147 bool
148 default n
149
Myles Watson0f61a4f2009-10-16 16:32:57 +0000150config RAMTOP
Myles Watson3db199c2009-10-12 22:39:08 +0000151 hex
Myles Watson0f61a4f2009-10-16 16:32:57 +0000152 default 0x200000
Patrick Georgi0588d192009-08-12 15:00:51 +0000153
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000154config ATI_RAGE_XL
155 bool
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000156
Patrick Georgi0588d192009-08-12 15:00:51 +0000157source src/console/Kconfig
158
159config HAVE_ACPI_RESUME
160 bool
161 default n
162
163config ACPI_SSDTX_NUM
164 int
165 default 0
166
Patrick Georgi0588d192009-08-12 15:00:51 +0000167config HAVE_FALLBACK_BOOT
168 bool
169 default y
170
171config USE_FALLBACK_IMAGE
172 bool
173 default y
174
Patrick Georgi37ea3412009-10-03 21:04:13 +0000175config HAVE_FAILOVER_BOOT
176 bool
177 default n
178
179config USE_FAILOVER_IMAGE
180 bool
181 default n
182
Patrick Georgi0588d192009-08-12 15:00:51 +0000183config HAVE_HARD_RESET
184 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000185 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000186
187config HAVE_INIT_TIMER
188 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000189 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000190
191config HAVE_MAINBOARD_RESOURCES
192 bool
193 default n
194
195config HAVE_MOVNTI
196 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000197 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000198
Patrick Georgi0588d192009-08-12 15:00:51 +0000199config HAVE_OPTION_TABLE
200 bool
201 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000202 help
203 This variable specifies whether a given board has a cmos.layout
204 file containing NVRAM/CMOS bit definitions.
205 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000206
Patrick Georgi0588d192009-08-12 15:00:51 +0000207config PIRQ_ROUTE
208 bool
209 default n
210
211config HAVE_SMI_HANDLER
212 bool
213 default n
214
215config PCI_IO_CFG_EXT
216 bool
217 default n
218
219config IOAPIC
220 bool
221 default n
222
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000223# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000224config VIDEO_MB
225 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000226 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000227
Myles Watson45bb25f2009-09-22 18:49:08 +0000228config USE_WATCHDOG_ON_BOOT
229 bool
230 default n
231
232config VGA
233 bool
234 default n
235 help
236 Build board-specific VGA code.
237
238config GFXUMA
239 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000240 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000241 help
242 Enable Unified Memory Architecture for graphics.
243
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000244# TODO
245# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000246#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000247# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000248
Myles Watsond73c1b52009-10-26 15:14:07 +0000249#TODO Remove this option or make it useful.
250config HAVE_LOW_TABLES
251 bool
252 default y
253 help
254 This Option is unused in the code. Since two boards try to set it to
255 'n', they may be broken. We either need to make the option useful or
256 get rid of it. The broken boards are:
257 asus/m2v-mx_se
258 supermicro/h8dme
259
260config HAVE_HIGH_TABLES
261 bool
262 default n
263 help
264 This variable specifies whether a given northbridge has high table
265 support.
266 It is set in northbridge/*/Kconfig.
267 Whether or not the high tables are actually written by coreboot is
268 configurable by the user via WRITE_HIGH_TABLES.
269
Myles Watsonb8e20272009-10-15 13:35:47 +0000270config HAVE_ACPI_TABLES
271 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000272 help
273 This variable specifies whether a given board has ACPI table support.
274 It is usually set in mainboard/*/Kconfig.
275 Whether or not the ACPI tables are actually generated by coreboot
276 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000277
278config HAVE_MP_TABLE
279 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000280 help
281 This variable specifies whether a given board has MP table support.
282 It is usually set in mainboard/*/Kconfig.
283 Whether or not the MP table is actually generated by coreboot
284 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000285
286config HAVE_PIRQ_TABLE
287 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000288 help
289 This variable specifies whether a given board has PIRQ table support.
290 It is usually set in mainboard/*/Kconfig.
291 Whether or not the PIRQ table is actually generated by coreboot
292 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000293
Myles Watsond73c1b52009-10-26 15:14:07 +0000294#These Options are here to avoid "undefined" warnings.
295#The actual selection and help texts are in the following menu.
296
297config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000298 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000299 default HAVE_ACPI_TABLES
300
301config GENERATE_MP_TABLE
302 bool
303 default HAVE_MP_TABLE
304
305config GENERATE_PIRQ_TABLE
306 bool
307 default HAVE_PIRQ_TABLE
308
309config WRITE_HIGH_TABLES
310 bool
311 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000312
Uwe Hermann168b11b2009-10-07 16:15:40 +0000313menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000314
Myles Watsonb8e20272009-10-15 13:35:47 +0000315config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000316 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000317 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000318 default y
319
320config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000321 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000322 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000323
Myles Watsonb8e20272009-10-15 13:35:47 +0000324config GENERATE_ACPI_TABLES
325 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000326 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000327 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000328 help
329 Generate ACPI tables for this board.
330
331 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000332
Myles Watsonb8e20272009-10-15 13:35:47 +0000333config GENERATE_MP_TABLE
334 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000335 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000336 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000337 help
338 Generate an MP table (conforming to the Intel MultiProcessor
339 specification 1.4) for this board.
340
341 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000342
Myles Watsonb8e20272009-10-15 13:35:47 +0000343config GENERATE_PIRQ_TABLE
344 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000345 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000346 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000347 help
348 Generate a PIRQ table for this board.
349
350 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000351
352endmenu
353
Patrick Georgi0588d192009-08-12 15:00:51 +0000354menu "Payload"
355
Patrick Georgi0588d192009-08-12 15:00:51 +0000356choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000357 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000358 default PAYLOAD_NONE
359
Uwe Hermann168b11b2009-10-07 16:15:40 +0000360config PAYLOAD_NONE
361 bool "None"
362 help
363 Select this option if you want to create an "empty" coreboot
364 ROM image for a certain mainboard, i.e. a coreboot ROM image
365 which does not yet contain a payload.
366
367 For such an image to be useful, you have to use 'cbfstool'
368 to add a payload to the ROM image later.
369
Patrick Georgi0588d192009-08-12 15:00:51 +0000370config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000371 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000372 help
373 Select this option if you have a payload image (an ELF file)
374 which coreboot should run as soon as the basic hardware
375 initialization is completed.
376
377 You will be able to specify the location and file name of the
378 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000379
380endchoice
381
Patrick Georgi0588d192009-08-12 15:00:51 +0000382config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000383 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000384 depends on PAYLOAD_ELF
385 default "payload.elf"
386 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000387 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000388
Uwe Hermann168b11b2009-10-07 16:15:40 +0000389# TODO: Defined if no payload? Breaks build?
390config COMPRESSED_PAYLOAD_LZMA
391 bool "Use LZMA compression for payloads"
392 default y
393 depends on PAYLOAD_ELF
394 help
395 In order to reduce the size payloads take up in the ROM chip
396 coreboot can compress them using the LZMA algorithm.
397
Myles Watson04000f42009-10-16 19:12:49 +0000398config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000399 bool
Myles Watson04000f42009-10-16 19:12:49 +0000400 default n
401
Peter Stugea758ca22009-09-17 16:21:31 +0000402endmenu
403
404menu "VGA BIOS"
405
406config VGA_BIOS
407 bool "Add a VGA BIOS image"
408 help
409 Select this option if you have a VGA BIOS image that you would
410 like to add to your ROM.
411
412 You will be able to specify the location and file name of the
413 image later.
414
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000415config FALLBACK_VGA_BIOS_FILE
416 string "VGA BIOS path and filename"
417 depends on VGA_BIOS
418 default "vgabios.bin"
419 help
420 The path and filename of the file to use as VGA BIOS.
421
422config FALLBACK_VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000423 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000424 depends on VGA_BIOS
425 default "1106,3230"
426 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000427 The comma-separated PCI vendor and device ID that would associate
428 your VGA BIOS to your video card.
429
430 Example: 1106,3230
431
432 In the above example 1106 is the PCI vendor ID (in hex, but without
433 the "0x" prefix) and 3230 specifies the PCI device ID of the
434 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000435
Patrick Georgi0588d192009-08-12 15:00:51 +0000436endmenu
437
Uwe Hermann168b11b2009-10-07 16:15:40 +0000438menu "Debugging"
439
440# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000441config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000442 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000443 default y
444 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000445 If enabled, you will be able to set breakpoints for gdb debugging.
446 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000447
Uwe Hermann168b11b2009-10-07 16:15:40 +0000448endmenu
449
Myles Watson8f74c582009-10-20 16:10:04 +0000450config LIFT_BSP_APIC_ID
451 bool
452 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000453
454# These probably belong somewhere else, but they are needed somewhere.
455config AP_CODE_IN_CAR
456 bool
457 default n
458
459config USE_INIT
460 bool
461 default n
462
463config ENABLE_APIC_EXT_ID
464 bool
465 default n
Myles Watson2e672732009-11-12 16:38:03 +0000466
467config WARNINGS_ARE_ERRORS
468 bool
469 default n
Patrick Georgi436f99b2009-11-27 16:55:13 +0000470
471config ID_SECTION_OFFSET
472 hex
473 default 0x10