blob: 2e2bb25d1a1a1f96128b9a58fa726003a7b838df [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
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000055
56menu "Chipset"
57
58comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +000059source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000060comment "Northbridge"
61source src/northbridge/Kconfig
62comment "Southbridge"
63source src/southbridge/Kconfig
64comment "Super I/O"
65source src/superio/Kconfig
66comment "Devices"
67source src/devices/Kconfig
68
69endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +000070
Patrick Georgi0588d192009-08-12 15:00:51 +000071config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000072 int
73 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000074
Patrick Georgi0588d192009-08-12 15:00:51 +000075config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000076 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000077 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000078
79config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000080 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000081 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000082
83config CPU_ADDR_BITS
84 int
85 default 36
86
87config XIP_ROM_BASE
88 hex
89 default 0xfffe0000
90
91config XIP_ROM_SIZE
92 hex
93 default 0x20000
94
95config LB_CKS_RANGE_START
96 int
97 default 49
98
99config LB_CKS_RANGE_END
100 int
101 default 125
102
103config LB_CKS_LOC
104 int
105 default 126
106
107config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +0000108 bool
109 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000110
111config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000112 bool
113 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000114
Patrick Georgi0588d192009-08-12 15:00:51 +0000115config HEAP_SIZE
116 hex
Myles Watson04000f42009-10-16 19:12:49 +0000117 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000118
119config COREBOOT_V2
120 bool
121 default y
122
123config COREBOOT_V4
124 bool
125 default y
126
127config DEBUG
128 bool
129 default n
130
131config USE_PRINTK_IN_CAR
132 bool
133 default n
134
135config USE_OPTION_TABLE
136 bool
137 default n
138
139config MAX_CPUS
140 int
141 default 1
142
143config MMCONF_SUPPORT_DEFAULT
144 bool
145 default n
146
147config MMCONF_SUPPORT
148 bool
149 default n
150
Myles Watson0f61a4f2009-10-16 16:32:57 +0000151config RAMTOP
Myles Watson3db199c2009-10-12 22:39:08 +0000152 hex
Myles Watson0f61a4f2009-10-16 16:32:57 +0000153 default 0x200000
Patrick Georgi0588d192009-08-12 15:00:51 +0000154
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000155config ATI_RAGE_XL
156 bool
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000157
Patrick Georgi0588d192009-08-12 15:00:51 +0000158source src/console/Kconfig
159
160config HAVE_ACPI_RESUME
161 bool
162 default n
163
164config ACPI_SSDTX_NUM
165 int
166 default 0
167
Patrick Georgi0588d192009-08-12 15:00:51 +0000168config HAVE_FALLBACK_BOOT
169 bool
170 default y
171
172config USE_FALLBACK_IMAGE
173 bool
174 default y
175
Patrick Georgi37ea3412009-10-03 21:04:13 +0000176config HAVE_FAILOVER_BOOT
177 bool
178 default n
179
180config USE_FAILOVER_IMAGE
181 bool
182 default n
183
Patrick Georgi0588d192009-08-12 15:00:51 +0000184config HAVE_HARD_RESET
185 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000186 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000187
188config HAVE_INIT_TIMER
189 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000190 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000191
192config HAVE_MAINBOARD_RESOURCES
193 bool
194 default n
195
196config HAVE_MOVNTI
197 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000198 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000199
Patrick Georgi0588d192009-08-12 15:00:51 +0000200config HAVE_OPTION_TABLE
201 bool
202 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000203 help
204 This variable specifies whether a given board has a cmos.layout
205 file containing NVRAM/CMOS bit definitions.
206 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000207
Patrick Georgi0588d192009-08-12 15:00:51 +0000208config PIRQ_ROUTE
209 bool
210 default n
211
212config HAVE_SMI_HANDLER
213 bool
214 default n
215
216config PCI_IO_CFG_EXT
217 bool
218 default n
219
220config IOAPIC
221 bool
222 default n
223
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000224# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000225config VIDEO_MB
226 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000227 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000228
Myles Watson45bb25f2009-09-22 18:49:08 +0000229config USE_WATCHDOG_ON_BOOT
230 bool
231 default n
232
233config VGA
234 bool
235 default n
236 help
237 Build board-specific VGA code.
238
239config GFXUMA
240 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000241 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000242 help
243 Enable Unified Memory Architecture for graphics.
244
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000245# TODO
246# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000247#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000248# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000249
Myles Watsond73c1b52009-10-26 15:14:07 +0000250#TODO Remove this option or make it useful.
251config HAVE_LOW_TABLES
252 bool
253 default y
254 help
255 This Option is unused in the code. Since two boards try to set it to
256 'n', they may be broken. We either need to make the option useful or
257 get rid of it. The broken boards are:
258 asus/m2v-mx_se
259 supermicro/h8dme
260
261config HAVE_HIGH_TABLES
262 bool
263 default n
264 help
265 This variable specifies whether a given northbridge has high table
266 support.
267 It is set in northbridge/*/Kconfig.
268 Whether or not the high tables are actually written by coreboot is
269 configurable by the user via WRITE_HIGH_TABLES.
270
Myles Watsonb8e20272009-10-15 13:35:47 +0000271config HAVE_ACPI_TABLES
272 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000273 help
274 This variable specifies whether a given board has ACPI table support.
275 It is usually set in mainboard/*/Kconfig.
276 Whether or not the ACPI tables are actually generated by coreboot
277 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000278
279config HAVE_MP_TABLE
280 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000281 help
282 This variable specifies whether a given board has MP table support.
283 It is usually set in mainboard/*/Kconfig.
284 Whether or not the MP table is actually generated by coreboot
285 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000286
287config HAVE_PIRQ_TABLE
288 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000289 help
290 This variable specifies whether a given board has PIRQ table support.
291 It is usually set in mainboard/*/Kconfig.
292 Whether or not the PIRQ table is actually generated by coreboot
293 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000294
Myles Watsond73c1b52009-10-26 15:14:07 +0000295#These Options are here to avoid "undefined" warnings.
296#The actual selection and help texts are in the following menu.
297
298config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000299 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000300 default HAVE_ACPI_TABLES
301
302config GENERATE_MP_TABLE
303 bool
304 default HAVE_MP_TABLE
305
306config GENERATE_PIRQ_TABLE
307 bool
308 default HAVE_PIRQ_TABLE
309
310config WRITE_HIGH_TABLES
311 bool
312 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000313
Uwe Hermann168b11b2009-10-07 16:15:40 +0000314menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000315
Myles Watsonb8e20272009-10-15 13:35:47 +0000316config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000317 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000318 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000319 default y
320
321config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000322 bool "Generate Multiboot tables (for GRUB2)"
Myles Watson45bb25f2009-09-22 18:49:08 +0000323 default n
324
Myles Watsonb8e20272009-10-15 13:35:47 +0000325config GENERATE_ACPI_TABLES
326 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000327 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000328 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000329 help
330 Generate ACPI tables for this board.
331
332 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000333
Myles Watsonb8e20272009-10-15 13:35:47 +0000334config GENERATE_MP_TABLE
335 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000336 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000337 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000338 help
339 Generate an MP table (conforming to the Intel MultiProcessor
340 specification 1.4) for this board.
341
342 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000343
Myles Watsonb8e20272009-10-15 13:35:47 +0000344config GENERATE_PIRQ_TABLE
345 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000346 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000347 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000348 help
349 Generate a PIRQ table for this board.
350
351 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000352
353endmenu
354
Patrick Georgi0588d192009-08-12 15:00:51 +0000355menu "Payload"
356
Patrick Georgi0588d192009-08-12 15:00:51 +0000357choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000358 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000359 default PAYLOAD_NONE
360
Uwe Hermann168b11b2009-10-07 16:15:40 +0000361config PAYLOAD_NONE
362 bool "None"
363 help
364 Select this option if you want to create an "empty" coreboot
365 ROM image for a certain mainboard, i.e. a coreboot ROM image
366 which does not yet contain a payload.
367
368 For such an image to be useful, you have to use 'cbfstool'
369 to add a payload to the ROM image later.
370
Patrick Georgi0588d192009-08-12 15:00:51 +0000371config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000372 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000373 help
374 Select this option if you have a payload image (an ELF file)
375 which coreboot should run as soon as the basic hardware
376 initialization is completed.
377
378 You will be able to specify the location and file name of the
379 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000380
381endchoice
382
Patrick Georgi0588d192009-08-12 15:00:51 +0000383config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000384 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000385 depends on PAYLOAD_ELF
386 default "payload.elf"
387 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000388 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000389
Uwe Hermann168b11b2009-10-07 16:15:40 +0000390# TODO: Defined if no payload? Breaks build?
391config COMPRESSED_PAYLOAD_LZMA
392 bool "Use LZMA compression for payloads"
393 default y
394 depends on PAYLOAD_ELF
395 help
396 In order to reduce the size payloads take up in the ROM chip
397 coreboot can compress them using the LZMA algorithm.
398
Myles Watson04000f42009-10-16 19:12:49 +0000399config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000400 bool
Myles Watson04000f42009-10-16 19:12:49 +0000401 default n
402
Peter Stugea758ca22009-09-17 16:21:31 +0000403endmenu
404
405menu "VGA BIOS"
406
407config VGA_BIOS
408 bool "Add a VGA BIOS image"
409 help
410 Select this option if you have a VGA BIOS image that you would
411 like to add to your ROM.
412
413 You will be able to specify the location and file name of the
414 image later.
415
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000416config FALLBACK_VGA_BIOS_FILE
417 string "VGA BIOS path and filename"
418 depends on VGA_BIOS
419 default "vgabios.bin"
420 help
421 The path and filename of the file to use as VGA BIOS.
422
423config FALLBACK_VGA_BIOS_ID
424 string "VGA BIOS ID"
425 depends on VGA_BIOS
426 default "1106,3230"
427 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000428 The comma-separated PCI vendor and device ID that would associate
429 your VGA BIOS to your video card.
430
431 Example: 1106,3230
432
433 In the above example 1106 is the PCI vendor ID (in hex, but without
434 the "0x" prefix) and 3230 specifies the PCI device ID of the
435 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000436
Patrick Georgi0588d192009-08-12 15:00:51 +0000437endmenu
438
Uwe Hermann168b11b2009-10-07 16:15:40 +0000439menu "Debugging"
440
441# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000442config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000443 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000444 default y
445 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000446 If enabled, you will be able to set breakpoints for gdb debugging.
447 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000448
Uwe Hermann168b11b2009-10-07 16:15:40 +0000449endmenu
450
Myles Watson8f74c582009-10-20 16:10:04 +0000451config LIFT_BSP_APIC_ID
452 bool
453 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000454
455# These probably belong somewhere else, but they are needed somewhere.
456config AP_CODE_IN_CAR
457 bool
458 default n
459
460config USE_INIT
461 bool
462 default n
463
464config ENABLE_APIC_EXT_ID
465 bool
466 default n