blob: a9d8ce1a71569364224846d302ab8048ef2ca82f [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
Uwe Hermannc04be932009-10-05 13:55:28 +000042endmenu
43
Patrick Georgi0588d192009-08-12 15:00:51 +000044source src/mainboard/Kconfig
45source src/arch/i386/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000046
47menu "Chipset"
48
49comment "CPU"
Patrick Georgi0588d192009-08-12 15:00:51 +000050source src/cpu/Kconfig
Uwe Hermann63a8f2a2009-10-26 21:42:13 +000051comment "Northbridge"
52source src/northbridge/Kconfig
53comment "Southbridge"
54source src/southbridge/Kconfig
55comment "Super I/O"
56source src/superio/Kconfig
57comment "Devices"
58source src/devices/Kconfig
59
60endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +000061
Patrick Georgi0588d192009-08-12 15:00:51 +000062config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000063 int
64 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000065
Patrick Georgi0588d192009-08-12 15:00:51 +000066config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000067 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000068 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000069
70config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000071 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000072 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000073
74config CPU_ADDR_BITS
75 int
76 default 36
77
78config XIP_ROM_BASE
79 hex
80 default 0xfffe0000
81
82config XIP_ROM_SIZE
83 hex
84 default 0x20000
85
86config LB_CKS_RANGE_START
87 int
88 default 49
89
90config LB_CKS_RANGE_END
91 int
92 default 125
93
94config LB_CKS_LOC
95 int
96 default 126
97
98config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +000099 bool
100 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000101
102config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +0000103 bool
104 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000105
Patrick Georgi0588d192009-08-12 15:00:51 +0000106config HEAP_SIZE
107 hex
Myles Watson04000f42009-10-16 19:12:49 +0000108 default 0x4000
Patrick Georgi0588d192009-08-12 15:00:51 +0000109
Patrick Georgi0588d192009-08-12 15:00:51 +0000110config DEBUG
111 bool
112 default n
113
114config USE_PRINTK_IN_CAR
115 bool
116 default n
117
118config USE_OPTION_TABLE
119 bool
120 default n
121
122config MAX_CPUS
123 int
124 default 1
125
126config MMCONF_SUPPORT_DEFAULT
127 bool
128 default n
129
130config MMCONF_SUPPORT
131 bool
132 default n
133
Myles Watson0f61a4f2009-10-16 16:32:57 +0000134config RAMTOP
Myles Watson3db199c2009-10-12 22:39:08 +0000135 hex
Myles Watson0f61a4f2009-10-16 16:32:57 +0000136 default 0x200000
Patrick Georgi0588d192009-08-12 15:00:51 +0000137
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000138config ATI_RAGE_XL
139 bool
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000140
Patrick Georgi0588d192009-08-12 15:00:51 +0000141source src/console/Kconfig
142
143config HAVE_ACPI_RESUME
144 bool
145 default n
146
147config ACPI_SSDTX_NUM
148 int
149 default 0
150
Patrick Georgi0588d192009-08-12 15:00:51 +0000151config HAVE_FALLBACK_BOOT
152 bool
153 default y
154
155config USE_FALLBACK_IMAGE
156 bool
157 default y
158
Patrick Georgi37ea3412009-10-03 21:04:13 +0000159config HAVE_FAILOVER_BOOT
160 bool
161 default n
162
163config USE_FAILOVER_IMAGE
164 bool
165 default n
166
Patrick Georgi0588d192009-08-12 15:00:51 +0000167config HAVE_HARD_RESET
168 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000169 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000170
171config HAVE_INIT_TIMER
172 bool
Patrick Georgi1f807fd2010-01-04 20:09:27 +0000173 default n if UDELAY_IO
Myles Watsond73c1b52009-10-26 15:14:07 +0000174 default y
Patrick Georgi0588d192009-08-12 15:00:51 +0000175
176config HAVE_MAINBOARD_RESOURCES
177 bool
178 default n
179
180config HAVE_MOVNTI
181 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000182 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000183
Patrick Georgi0588d192009-08-12 15:00:51 +0000184config HAVE_OPTION_TABLE
185 bool
186 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000187 help
188 This variable specifies whether a given board has a cmos.layout
189 file containing NVRAM/CMOS bit definitions.
190 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000191
Patrick Georgi0588d192009-08-12 15:00:51 +0000192config PIRQ_ROUTE
193 bool
194 default n
195
196config HAVE_SMI_HANDLER
197 bool
198 default n
199
200config PCI_IO_CFG_EXT
201 bool
202 default n
203
204config IOAPIC
205 bool
206 default n
207
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000208# TODO: Can probably be removed once all chipsets have kconfig options for it.
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000209config VIDEO_MB
210 int
Uwe Hermann63a8f2a2009-10-26 21:42:13 +0000211 default 0
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000212
Myles Watson45bb25f2009-09-22 18:49:08 +0000213config USE_WATCHDOG_ON_BOOT
214 bool
215 default n
216
217config VGA
218 bool
219 default n
220 help
221 Build board-specific VGA code.
222
223config GFXUMA
224 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000225 default n
Myles Watson45bb25f2009-09-22 18:49:08 +0000226 help
227 Enable Unified Memory Architecture for graphics.
228
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000229# TODO
230# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000231#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000232# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000233
Myles Watsond73c1b52009-10-26 15:14:07 +0000234#TODO Remove this option or make it useful.
235config HAVE_LOW_TABLES
236 bool
237 default y
238 help
239 This Option is unused in the code. Since two boards try to set it to
240 'n', they may be broken. We either need to make the option useful or
241 get rid of it. The broken boards are:
242 asus/m2v-mx_se
243 supermicro/h8dme
244
245config HAVE_HIGH_TABLES
246 bool
247 default n
248 help
249 This variable specifies whether a given northbridge has high table
250 support.
251 It is set in northbridge/*/Kconfig.
252 Whether or not the high tables are actually written by coreboot is
253 configurable by the user via WRITE_HIGH_TABLES.
254
Myles Watsonb8e20272009-10-15 13:35:47 +0000255config HAVE_ACPI_TABLES
256 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000257 help
258 This variable specifies whether a given board has ACPI table support.
259 It is usually set in mainboard/*/Kconfig.
260 Whether or not the ACPI tables are actually generated by coreboot
261 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000262
263config HAVE_MP_TABLE
264 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000265 help
266 This variable specifies whether a given board has MP table support.
267 It is usually set in mainboard/*/Kconfig.
268 Whether or not the MP table is actually generated by coreboot
269 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000270
271config HAVE_PIRQ_TABLE
272 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000273 help
274 This variable specifies whether a given board has PIRQ table support.
275 It is usually set in mainboard/*/Kconfig.
276 Whether or not the PIRQ table is actually generated by coreboot
277 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000278
Myles Watsond73c1b52009-10-26 15:14:07 +0000279#These Options are here to avoid "undefined" warnings.
280#The actual selection and help texts are in the following menu.
281
282config GENERATE_ACPI_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000283 bool
Myles Watsond73c1b52009-10-26 15:14:07 +0000284 default HAVE_ACPI_TABLES
285
286config GENERATE_MP_TABLE
287 bool
288 default HAVE_MP_TABLE
289
290config GENERATE_PIRQ_TABLE
291 bool
292 default HAVE_PIRQ_TABLE
293
294config WRITE_HIGH_TABLES
295 bool
296 default HAVE_HIGH_TABLES
Myles Watsonb8e20272009-10-15 13:35:47 +0000297
Uwe Hermann168b11b2009-10-07 16:15:40 +0000298menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000299
Myles Watsonb8e20272009-10-15 13:35:47 +0000300config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000301 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000302 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000303 default y
304
305config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000306 bool "Generate Multiboot tables (for GRUB2)"
Ronald G. Minnich7f91d922009-11-09 17:56:47 +0000307 default y
Myles Watson45bb25f2009-09-22 18:49:08 +0000308
Myles Watsonb8e20272009-10-15 13:35:47 +0000309config GENERATE_ACPI_TABLES
310 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000311 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000312 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000313 help
314 Generate ACPI tables for this board.
315
316 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000317
Myles Watsonb8e20272009-10-15 13:35:47 +0000318config GENERATE_MP_TABLE
319 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000320 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000321 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000322 help
323 Generate an MP table (conforming to the Intel MultiProcessor
324 specification 1.4) for this board.
325
326 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000327
Myles Watsonb8e20272009-10-15 13:35:47 +0000328config GENERATE_PIRQ_TABLE
329 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000330 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000331 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000332 help
333 Generate a PIRQ table for this board.
334
335 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000336
337endmenu
338
Patrick Georgi0588d192009-08-12 15:00:51 +0000339menu "Payload"
340
Patrick Georgi0588d192009-08-12 15:00:51 +0000341choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000342 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000343 default PAYLOAD_NONE
344
Uwe Hermann168b11b2009-10-07 16:15:40 +0000345config PAYLOAD_NONE
346 bool "None"
347 help
348 Select this option if you want to create an "empty" coreboot
349 ROM image for a certain mainboard, i.e. a coreboot ROM image
350 which does not yet contain a payload.
351
352 For such an image to be useful, you have to use 'cbfstool'
353 to add a payload to the ROM image later.
354
Patrick Georgi0588d192009-08-12 15:00:51 +0000355config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000356 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000357 help
358 Select this option if you have a payload image (an ELF file)
359 which coreboot should run as soon as the basic hardware
360 initialization is completed.
361
362 You will be able to specify the location and file name of the
363 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000364
365endchoice
366
Patrick Georgi0588d192009-08-12 15:00:51 +0000367config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000368 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000369 depends on PAYLOAD_ELF
370 default "payload.elf"
371 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000372 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000373
Uwe Hermann168b11b2009-10-07 16:15:40 +0000374# TODO: Defined if no payload? Breaks build?
375config COMPRESSED_PAYLOAD_LZMA
376 bool "Use LZMA compression for payloads"
377 default y
378 depends on PAYLOAD_ELF
379 help
380 In order to reduce the size payloads take up in the ROM chip
381 coreboot can compress them using the LZMA algorithm.
382
Myles Watson04000f42009-10-16 19:12:49 +0000383config COMPRESSED_PAYLOAD_NRV2B
Peter Stuged7b37b02009-10-17 03:00:04 +0000384 bool
Myles Watson04000f42009-10-16 19:12:49 +0000385 default n
386
Peter Stugea758ca22009-09-17 16:21:31 +0000387endmenu
388
389menu "VGA BIOS"
390
391config VGA_BIOS
392 bool "Add a VGA BIOS image"
393 help
394 Select this option if you have a VGA BIOS image that you would
395 like to add to your ROM.
396
397 You will be able to specify the location and file name of the
398 image later.
399
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000400config FALLBACK_VGA_BIOS_FILE
401 string "VGA BIOS path and filename"
402 depends on VGA_BIOS
403 default "vgabios.bin"
404 help
405 The path and filename of the file to use as VGA BIOS.
406
407config FALLBACK_VGA_BIOS_ID
Uwe Hermann81b3c0a2009-10-30 12:56:59 +0000408 string "VGA device PCI IDs"
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000409 depends on VGA_BIOS
410 default "1106,3230"
411 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000412 The comma-separated PCI vendor and device ID that would associate
413 your VGA BIOS to your video card.
414
415 Example: 1106,3230
416
417 In the above example 1106 is the PCI vendor ID (in hex, but without
418 the "0x" prefix) and 3230 specifies the PCI device ID of the
419 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000420
Patrick Georgi0588d192009-08-12 15:00:51 +0000421endmenu
422
Uwe Hermann168b11b2009-10-07 16:15:40 +0000423menu "Debugging"
424
425# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000426config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000427 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000428 default y
429 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000430 If enabled, you will be able to set breakpoints for gdb debugging.
431 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000432
Uwe Hermann168b11b2009-10-07 16:15:40 +0000433endmenu
434
Myles Watson8f74c582009-10-20 16:10:04 +0000435config LIFT_BSP_APIC_ID
436 bool
437 default n
Myles Watsond73c1b52009-10-26 15:14:07 +0000438
439# These probably belong somewhere else, but they are needed somewhere.
440config AP_CODE_IN_CAR
441 bool
442 default n
443
444config USE_INIT
445 bool
446 default n
447
448config ENABLE_APIC_EXT_ID
449 bool
450 default n
Myles Watson2e672732009-11-12 16:38:03 +0000451
452config WARNINGS_ARE_ERRORS
453 bool
454 default n
Patrick Georgi436f99b2009-11-27 16:55:13 +0000455
456config ID_SECTION_OFFSET
457 hex
458 default 0x10