blob: a06b43b1573e041532e871b58f4cdfad405e4e8d [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
32config 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
46source src/arch/ppc/Kconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000047source src/northbridge/Kconfig
Myles Watson74fb8f22009-09-24 15:09:11 +000048source src/devices/Kconfig
Patrick Georgi0588d192009-08-12 15:00:51 +000049source src/southbridge/Kconfig
50source src/superio/Kconfig
51source src/cpu/Kconfig
52
Patrick Georgi0588d192009-08-12 15:00:51 +000053config PCI_BUS_SEGN_BITS
Myles Watson74fb8f22009-09-24 15:09:11 +000054 int
55 default 0
Patrick Georgi892b0912009-09-24 09:03:06 +000056
Patrick Georgi0588d192009-08-12 15:00:51 +000057config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000058 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000059 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000060
61config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000062 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000063 default 0x0
Patrick Georgi0588d192009-08-12 15:00:51 +000064
65config CPU_ADDR_BITS
66 int
67 default 36
68
Patrick Georgi0e9a9252009-10-06 20:48:07 +000069config AGP_APERTURE_SIZE
70 hex
Uwe Hermann748475b2009-10-09 11:47:21 +000071 default 0x0
Patrick Georgi0e9a9252009-10-06 20:48:07 +000072
Patrick Georgi0588d192009-08-12 15:00:51 +000073config XIP_ROM_BASE
74 hex
75 default 0xfffe0000
76
77config XIP_ROM_SIZE
78 hex
79 default 0x20000
80
81config LB_CKS_RANGE_START
82 int
83 default 49
84
85config LB_CKS_RANGE_END
86 int
87 default 125
88
89config LB_CKS_LOC
90 int
91 default 126
92
93config LOGICAL_CPUS
Myles Watson45bb25f2009-09-22 18:49:08 +000094 bool
95 default y
Patrick Georgi0588d192009-08-12 15:00:51 +000096
97config PCI_ROM_RUN
Patrick Georgi698c0e0e2009-08-25 17:38:24 +000098 bool
99 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000100
Patrick Georgi0588d192009-08-12 15:00:51 +0000101config HEAP_SIZE
102 hex
103 default 0x2000
104
105config COREBOOT_V2
106 bool
107 default y
108
109config COREBOOT_V4
110 bool
111 default y
112
113config DEBUG
114 bool
115 default n
116
117config USE_PRINTK_IN_CAR
118 bool
119 default n
120
121config USE_OPTION_TABLE
122 bool
123 default n
124
125config MAX_CPUS
126 int
127 default 1
128
129config MMCONF_SUPPORT_DEFAULT
130 bool
131 default n
132
133config MMCONF_SUPPORT
134 bool
135 default n
136
137config LB_MEM_TOPK
Myles Watson3db199c2009-10-12 22:39:08 +0000138 hex
139 default 0x800
Patrick Georgi0588d192009-08-12 15:00:51 +0000140
Patrick Georgi0588d192009-08-12 15:00:51 +0000141config COMPRESSED_PAYLOAD_LZMA
142 bool
143 default y
144
145config COMPRESSED_PAYLOAD_NRV2B
146 bool
147 default n
148
Patrick Georgi91ff0df2009-10-09 12:32:52 +0000149config ATI_RAGE_XL
150 bool
151 default n
152
Patrick Georgi0588d192009-08-12 15:00:51 +0000153source src/console/Kconfig
154
155config HAVE_ACPI_RESUME
156 bool
157 default n
158
159config ACPI_SSDTX_NUM
160 int
161 default 0
162
Patrick Georgi0588d192009-08-12 15:00:51 +0000163config HAVE_FALLBACK_BOOT
164 bool
165 default y
166
167config USE_FALLBACK_IMAGE
168 bool
169 default y
170
Patrick Georgi37ea3412009-10-03 21:04:13 +0000171config HAVE_FAILOVER_BOOT
172 bool
173 default n
174
175config USE_FAILOVER_IMAGE
176 bool
177 default n
178
Patrick Georgi0588d192009-08-12 15:00:51 +0000179config HAVE_HARD_RESET
180 bool
Uwe Hermann748475b2009-10-09 11:47:21 +0000181 default n
Patrick Georgi0588d192009-08-12 15:00:51 +0000182
183config HAVE_INIT_TIMER
184 bool
185 default n
186
187config HAVE_MAINBOARD_RESOURCES
188 bool
189 default n
190
191config HAVE_MOVNTI
192 bool
193 default y
194
Patrick Georgi0588d192009-08-12 15:00:51 +0000195config HAVE_OPTION_TABLE
196 bool
197 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000198 help
199 This variable specifies whether a given board has a cmos.layout
200 file containing NVRAM/CMOS bit definitions.
201 It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
Patrick Georgi0588d192009-08-12 15:00:51 +0000202
Patrick Georgi0588d192009-08-12 15:00:51 +0000203config PIRQ_ROUTE
204 bool
205 default n
206
207config HAVE_SMI_HANDLER
208 bool
209 default n
210
211config PCI_IO_CFG_EXT
212 bool
213 default n
214
215config IOAPIC
216 bool
217 default n
218
Uwe Hermann70b0cf22009-10-04 17:15:39 +0000219config VIDEO_MB
220 int
221 default 0
222
Myles Watson45bb25f2009-09-22 18:49:08 +0000223config USE_WATCHDOG_ON_BOOT
224 bool
225 default n
226
227config VGA
228 bool
229 default n
230 help
231 Build board-specific VGA code.
232
233config GFXUMA
234 bool
235 default n
236 help
237 Enable Unified Memory Architecture for graphics.
238
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000239# TODO
240# menu "Drivers"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000241#
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000242# endmenu
Patrick Georgi0588d192009-08-12 15:00:51 +0000243
Myles Watsonb8e20272009-10-15 13:35:47 +0000244config HAVE_ACPI_TABLES
245 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000246 help
247 This variable specifies whether a given board has ACPI table support.
248 It is usually set in mainboard/*/Kconfig.
249 Whether or not the ACPI tables are actually generated by coreboot
250 is configurable by the user via GENERATE_ACPI_TABLES.
Myles Watsonb8e20272009-10-15 13:35:47 +0000251
252config HAVE_MP_TABLE
253 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000254 help
255 This variable specifies whether a given board has MP table support.
256 It is usually set in mainboard/*/Kconfig.
257 Whether or not the MP table is actually generated by coreboot
258 is configurable by the user via GENERATE_MP_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000259
260config HAVE_PIRQ_TABLE
261 bool
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000262 help
263 This variable specifies whether a given board has PIRQ table support.
264 It is usually set in mainboard/*/Kconfig.
265 Whether or not the PIRQ table is actually generated by coreboot
266 is configurable by the user via GENERATE_PIRQ_TABLE.
Myles Watsonb8e20272009-10-15 13:35:47 +0000267
268config HAVE_HIGH_TABLES
269 bool
270
Uwe Hermann168b11b2009-10-07 16:15:40 +0000271menu "System tables"
Myles Watson45bb25f2009-09-22 18:49:08 +0000272
273config HAVE_LOW_TABLES
274 bool
275 default y
276
Myles Watsonb8e20272009-10-15 13:35:47 +0000277config WRITE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000278 bool "Write 'high' tables to avoid being overwritten in F segment"
Myles Watsonb8e20272009-10-15 13:35:47 +0000279 depends on HAVE_HIGH_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000280 default y
281
282config MULTIBOOT
Uwe Hermann168b11b2009-10-07 16:15:40 +0000283 bool "Generate Multiboot tables (for GRUB2)"
Myles Watson45bb25f2009-09-22 18:49:08 +0000284 default n
285
Myles Watsonb8e20272009-10-15 13:35:47 +0000286config GENERATE_ACPI_TABLES
287 depends on HAVE_ACPI_TABLES
Myles Watson45bb25f2009-09-22 18:49:08 +0000288 bool "Generate ACPI tables"
Myles Watsonb8e20272009-10-15 13:35:47 +0000289 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000290 help
291 Generate ACPI tables for this board.
292
293 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000294
Myles Watsonb8e20272009-10-15 13:35:47 +0000295config GENERATE_MP_TABLE
296 depends on HAVE_MP_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000297 bool "Generate an MP table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000298 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000299 help
300 Generate an MP table (conforming to the Intel MultiProcessor
301 specification 1.4) for this board.
302
303 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000304
Myles Watsonb8e20272009-10-15 13:35:47 +0000305config GENERATE_PIRQ_TABLE
306 depends on HAVE_PIRQ_TABLE
Myles Watson45bb25f2009-09-22 18:49:08 +0000307 bool "Generate a PIRQ table"
Myles Watsonb8e20272009-10-15 13:35:47 +0000308 default y
Uwe Hermann6ba13bb2009-10-15 17:49:07 +0000309 help
310 Generate a PIRQ table for this board.
311
312 If unsure, say Y.
Myles Watson45bb25f2009-09-22 18:49:08 +0000313
314endmenu
315
Patrick Georgi0588d192009-08-12 15:00:51 +0000316menu "Payload"
317
Patrick Georgi0588d192009-08-12 15:00:51 +0000318choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000319 prompt "Add a payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000320 default PAYLOAD_NONE
321
Uwe Hermann168b11b2009-10-07 16:15:40 +0000322config PAYLOAD_NONE
323 bool "None"
324 help
325 Select this option if you want to create an "empty" coreboot
326 ROM image for a certain mainboard, i.e. a coreboot ROM image
327 which does not yet contain a payload.
328
329 For such an image to be useful, you have to use 'cbfstool'
330 to add a payload to the ROM image later.
331
Patrick Georgi0588d192009-08-12 15:00:51 +0000332config PAYLOAD_ELF
Uwe Hermann168b11b2009-10-07 16:15:40 +0000333 bool "An ELF executable payload"
Patrick Georgi0588d192009-08-12 15:00:51 +0000334 help
335 Select this option if you have a payload image (an ELF file)
336 which coreboot should run as soon as the basic hardware
337 initialization is completed.
338
339 You will be able to specify the location and file name of the
340 payload image later.
Patrick Georgi0588d192009-08-12 15:00:51 +0000341
342endchoice
343
Patrick Georgi0588d192009-08-12 15:00:51 +0000344config FALLBACK_PAYLOAD_FILE
Cristi Magherusanb5034d42009-08-17 14:47:32 +0000345 string "Payload path and filename"
Patrick Georgi0588d192009-08-12 15:00:51 +0000346 depends on PAYLOAD_ELF
347 default "payload.elf"
348 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000349 The path and filename of the ELF executable file to use as payload.
Patrick Georgi0588d192009-08-12 15:00:51 +0000350
Uwe Hermann168b11b2009-10-07 16:15:40 +0000351# TODO: Defined if no payload? Breaks build?
352config COMPRESSED_PAYLOAD_LZMA
353 bool "Use LZMA compression for payloads"
354 default y
355 depends on PAYLOAD_ELF
356 help
357 In order to reduce the size payloads take up in the ROM chip
358 coreboot can compress them using the LZMA algorithm.
359
Peter Stugea758ca22009-09-17 16:21:31 +0000360endmenu
361
362menu "VGA BIOS"
363
364config VGA_BIOS
365 bool "Add a VGA BIOS image"
366 help
367 Select this option if you have a VGA BIOS image that you would
368 like to add to your ROM.
369
370 You will be able to specify the location and file name of the
371 image later.
372
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000373config FALLBACK_VGA_BIOS_FILE
374 string "VGA BIOS path and filename"
375 depends on VGA_BIOS
376 default "vgabios.bin"
377 help
378 The path and filename of the file to use as VGA BIOS.
379
380config FALLBACK_VGA_BIOS_ID
381 string "VGA BIOS ID"
382 depends on VGA_BIOS
383 default "1106,3230"
384 help
Uwe Hermann168b11b2009-10-07 16:15:40 +0000385 The comma-separated PCI vendor and device ID that would associate
386 your VGA BIOS to your video card.
387
388 Example: 1106,3230
389
390 In the above example 1106 is the PCI vendor ID (in hex, but without
391 the "0x" prefix) and 3230 specifies the PCI device ID of the
392 video card (also in hex, without "0x" prefix).
Cristi Magherusan488c36c2009-08-17 14:46:13 +0000393
Patrick Georgi0588d192009-08-12 15:00:51 +0000394endmenu
395
Uwe Hermann168b11b2009-10-07 16:15:40 +0000396menu "Debugging"
397
398# TODO: Better help text and detailed instructions.
Patrick Georgi0588d192009-08-12 15:00:51 +0000399config GDB_STUB
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000400 bool "GDB debugging support"
Patrick Georgi0588d192009-08-12 15:00:51 +0000401 default y
402 help
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000403 If enabled, you will be able to set breakpoints for gdb debugging.
404 See src/arch/i386/lib/c_start.S for details.
Patrick Georgi0588d192009-08-12 15:00:51 +0000405
Uwe Hermann168b11b2009-10-07 16:15:40 +0000406endmenu
407