blob: b53a2daa229d8f7837200ebcf1159e48919f9aa5 [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
54source src/arch/ppc/Kconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000055source src/northbridge/Kconfig
Myles Watson74fb8f22009-09-24 15:09:11 +000056source src/devices/Kconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000057source src/southbridge/Kconfig
58source src/superio/Kconfig
59source src/cpu/Kconfig
60
Patrick Georgi0588d192009-08-12 15:00:51 +000061config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000062 int
63 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000064
Patrick Georgi0588d192009-08-12 15:00:51 +000065config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000066 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000067 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000068
69config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000070 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000071 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000072
73config CPU_ADDR_BITS
74 int
75 default 36
76
77config XIP_ROM_BASE
78 hex
79 default 0xfffe0000
80
81config XIP_ROM_SIZE
82 hex
83 default 0x20000
84
85config LB_CKS_RANGE_START
86 int
87 default 49
88
89config LB_CKS_RANGE_END
90 int
91 default 125
92
93config LB_CKS_LOC
94 int
95 default 126
96
97config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +000098 bool
99 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000100
101config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000102 bool
103 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000104
Patrick Georgi0588d192009-08-12 15:00:51 +0000105config HEAP_SIZE
106 hex
Myles Watson04000f42009-10-16 19:12:49 +0000107 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000108
109config COREBOOT_V2
110 bool
111 default y
112
113config COREBOOT_V4
114 bool
115 default y
116
117config 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
Uwe Hermann748475b2009-10-09 11:47:21 +0000176 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000177
178config HAVE_INIT_TIMER
179 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000180 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000181
182config HAVE_MAINBOARD_RESOURCES
183 bool
184 default n
185
186config HAVE_MOVNTI
187 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000188 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000189
Patrick Georgi0588d192009-08-12 15:00:51 +0000190config HAVE_OPTION_TABLE
191 bool
192 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000193 help
194 This variable specifies whether a given board has a cmos.layout
195 file containing NVRAM/CMOS bit definitions.
196 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000197
Patrick Georgi0588d192009-08-12 15:00:51 +0000198config PIRQ_ROUTE
199 bool
200 default n
201
202config HAVE_SMI_HANDLER
203 bool
204 default n
205
206config PCI_IO_CFG_EXT
207 bool
208 default n
209
210config IOAPIC
211 bool
212 default n
213
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000214config VIDEO_MB
Myles Watsond73c1b52009-10-26 15:14:07 +0000215 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000216 int
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000217
Myles Watson45bb25f2009-09-22 18:49:08 +0000218config USE_WATCHDOG_ON_BOOT
219 bool
220 default n
221
222config VGA
223 bool
224 default n
225 help
226 Build board-specific VGA code.
227
228config GFXUMA
229 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000230 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000231 help
232 Enable Unified Memory Architecture for graphics.
233
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000234# TODO
235# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000236#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000237# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000238
Myles Watsond73c1b52009-10-26 15:14:07 +0000239#TODO Remove this option or make it useful.
240config HAVE_LOW_TABLES
241 bool
242 default y
243 help
244 This Option is unused in the code. Since two boards try to set it to
245 'n', they may be broken. We either need to make the option useful or
246 get rid of it. The broken boards are:
247 asus/m2v-mx_se
248 supermicro/h8dme
249
250config HAVE_HIGH_TABLES
251 bool
252 default n
253 help
254 This variable specifies whether a given northbridge has high table
255 support.
256 It is set in northbridge/*/Kconfig.
257 Whether or not the high tables are actually written by coreboot is
258 configurable by the user via WRITE_HIGH_TABLES.
259
Myles Watsonb8e20272009-10-15 13:35:47 +0000260config HAVE_ACPI_TABLES
261 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000262 help
263 This variable specifies whether a given board has ACPI table support.
264 It is usually set in mainboard/*/Kconfig.
265 Whether or not the ACPI tables are actually generated by coreboot
266 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000267
268config HAVE_MP_TABLE
269 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000270 help
271 This variable specifies whether a given board has MP table support.
272 It is usually set in mainboard/*/Kconfig.
273 Whether or not the MP table is actually generated by coreboot
274 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000275
276config HAVE_PIRQ_TABLE
277 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000278 help
279 This variable specifies whether a given board has PIRQ table support.
280 It is usually set in mainboard/*/Kconfig.
281 Whether or not the PIRQ table is actually generated by coreboot
282 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000283
Myles Watsond73c1b52009-10-26 15:14:07 +0000284#These Options are here to avoid "undefined" warnings.
285#The actual selection and help texts are in the following menu.
286
287config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000288 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000289 default HAVE_ACPI_TABLES
290
291config GENERATE_MP_TABLE
292 bool
293 default HAVE_MP_TABLE
294
295config GENERATE_PIRQ_TABLE
296 bool
297 default HAVE_PIRQ_TABLE
298
299config WRITE_HIGH_TABLES
300 bool
301 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000302
Uwe Hermann168b11b2009-10-07 16:15:40 +0000303menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000304
Myles Watsonb8e20272009-10-15 13:35:47 +0000305config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000306 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000307 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000308 default y
309
310config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000311 bool "Generate Multiboot tables (for GRUB2)"
Myles Watson45bb25f2009-09-22 18:49:08 +0000312 default n
313
Myles Watsonb8e20272009-10-15 13:35:47 +0000314config GENERATE_ACPI_TABLES
315 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000316 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000317 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000318 help
319 Generate ACPI tables for this board.
320
321 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000322
Myles Watsonb8e20272009-10-15 13:35:47 +0000323config GENERATE_MP_TABLE
324 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000325 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000326 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000327 help
328 Generate an MP table (conforming to the Intel MultiProcessor
329 specification 1.4) 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_PIRQ_TABLE
334 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000335 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000336 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000337 help
338 Generate a PIRQ table for this board.
339
340 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000341
342endmenu
343
Patrick Georgi0588d192009-08-12 15:00:51 +0000344menu "Payload"
345
Patrick Georgi0588d192009-08-12 15:00:51 +0000346choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000347 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000348 default PAYLOAD_NONE
349
Uwe Hermann168b11b2009-10-07 16:15:40 +0000350config PAYLOAD_NONE
351 bool "None"
352 help
353 Select this option if you want to create an "empty" coreboot
354 ROM image for a certain mainboard, i.e. a coreboot ROM image
355 which does not yet contain a payload.
356
357 For such an image to be useful, you have to use 'cbfstool'
358 to add a payload to the ROM image later.
359
Patrick Georgi0588d192009-08-12 15:00:51 +0000360config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000361 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000362 help
363 Select this option if you have a payload image (an ELF file)
364 which coreboot should run as soon as the basic hardware
365 initialization is completed.
366
367 You will be able to specify the location and file name of the
368 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000369
370endchoice
371
Patrick Georgi0588d192009-08-12 15:00:51 +0000372config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000373 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000374 depends on PAYLOAD_ELF
375 default "payload.elf"
376 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000377 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000378
Uwe Hermann168b11b2009-10-07 16:15:40 +0000379# TODO: Defined if no payload? Breaks build?
380config COMPRESSED_PAYLOAD_LZMA
381 bool "Use LZMA compression for payloads"
382 default y
383 depends on PAYLOAD_ELF
384 help
385 In order to reduce the size payloads take up in the ROM chip
386 coreboot can compress them using the LZMA algorithm.
387
Myles Watson04000f42009-10-16 19:12:49 +0000388config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000389 bool
Myles Watson04000f42009-10-16 19:12:49 +0000390 default n
391
Peter Stugea758ca22009-09-17 16:21:31 +0000392endmenu
393
394menu "VGA BIOS"
395
396config VGA_BIOS
397 bool "Add a VGA BIOS image"
398 help
399 Select this option if you have a VGA BIOS image that you would
400 like to add to your ROM.
401
402 You will be able to specify the location and file name of the
403 image later.
404
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000405config FALLBACK_VGA_BIOS_FILE
406 string "VGA BIOS path and filename"
407 depends on VGA_BIOS
408 default "vgabios.bin"
409 help
410 The path and filename of the file to use as VGA BIOS.
411
412config FALLBACK_VGA_BIOS_ID
413 string "VGA BIOS ID"
414 depends on VGA_BIOS
415 default "1106,3230"
416 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000417 The comma-separated PCI vendor and device ID that would associate
418 your VGA BIOS to your video card.
419
420 Example: 1106,3230
421
422 In the above example 1106 is the PCI vendor ID (in hex, but without
423 the "0x" prefix) and 3230 specifies the PCI device ID of the
424 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000425
Patrick Georgi0588d192009-08-12 15:00:51 +0000426endmenu
427
Uwe Hermann168b11b2009-10-07 16:15:40 +0000428menu "Debugging"
429
430# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000431config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000432 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000433 default y
434 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000435 If enabled, you will be able to set breakpoints for gdb debugging.
436 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000437
Uwe Hermann168b11b2009-10-07 16:15:40 +0000438endmenu
439
Myles Watson8f74c582009-10-20 16:10:04 +0000440config LIFT_BSP_APIC_ID
441 bool
442 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000443
444# These probably belong somewhere else, but they are needed somewhere.
445config AP_CODE_IN_CAR
446 bool
447 default n
448
449config USE_INIT
450 bool
451 default n
452
453config ENABLE_APIC_EXT_ID
454 bool
455 default n