Move ITE-specific option to src/superio/ite/Kconfig.
[coreboot.git] / src / Kconfig
1 ##
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
28 mainmenu "Coreboot Configuration"
29
30 menu "General setup"
31
32 config 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
40 config LOCALVERSION
41         string "Local version string"
42         help
43           Append an extra string to the end of the coreboot version.
44
45           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
50 endmenu
51
52 source src/mainboard/Kconfig
53 source src/arch/i386/Kconfig
54 source src/arch/ppc/Kconfig
55 source src/northbridge/Kconfig
56 source src/devices/Kconfig
57 source src/southbridge/Kconfig
58 source src/superio/Kconfig
59 source src/cpu/Kconfig
60
61 config PCI_BUS_SEGN_BITS
62         int
63         default 0
64
65 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
66         hex
67         default 0x0
68
69 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
70         hex
71         default 0x0
72
73 config CPU_ADDR_BITS
74         int
75         default 36
76
77 config AGP_APERTURE_SIZE
78         hex
79         default 0x0
80
81 config XIP_ROM_BASE
82         hex
83         default 0xfffe0000
84
85 config XIP_ROM_SIZE
86         hex
87         default 0x20000
88
89 config LB_CKS_RANGE_START
90         int
91         default 49
92
93 config LB_CKS_RANGE_END
94         int
95         default 125
96
97 config LB_CKS_LOC
98         int
99         default 126
100
101 config LOGICAL_CPUS
102         bool
103         default y
104
105 config PCI_ROM_RUN
106         bool
107         default n
108
109 config HEAP_SIZE
110         hex
111         default 0x4000
112
113 config COREBOOT_V2
114         bool
115         default y
116
117 config COREBOOT_V4
118         bool
119         default y
120
121 config DEBUG
122         bool
123         default n
124
125 config USE_PRINTK_IN_CAR
126         bool
127         default n
128
129 config USE_OPTION_TABLE
130         bool
131         default n
132
133 config MAX_CPUS
134         int
135         default 1
136
137 config MMCONF_SUPPORT_DEFAULT
138         bool
139         default n
140
141 config MMCONF_SUPPORT
142         bool
143         default n
144
145 config RAMTOP
146         hex
147         default 0x200000
148
149 config ATI_RAGE_XL
150         bool
151
152 source src/console/Kconfig
153
154 config HAVE_ACPI_RESUME
155         bool
156         default n
157
158 config ACPI_SSDTX_NUM
159         int
160         default 0
161
162 config HAVE_FALLBACK_BOOT
163         bool
164         default y
165
166 config USE_FALLBACK_IMAGE
167         bool
168         default y
169
170 config HAVE_FAILOVER_BOOT
171         bool
172         default n
173
174 config USE_FAILOVER_IMAGE
175         bool
176         default n
177
178 config HAVE_HARD_RESET
179         bool
180         default n
181
182 config HAVE_INIT_TIMER
183         bool
184         default n
185
186 config HAVE_MAINBOARD_RESOURCES
187         bool
188         default n
189
190 config HAVE_MOVNTI
191         bool
192         default y
193
194 config HAVE_OPTION_TABLE
195         bool
196         default y
197         help
198           This variable specifies whether a given board has a cmos.layout
199           file containing NVRAM/CMOS bit definitions.
200           It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
201
202 config PIRQ_ROUTE
203         bool
204         default n
205
206 config HAVE_SMI_HANDLER
207         bool
208         default n
209
210 config PCI_IO_CFG_EXT
211         bool
212         default n
213
214 config IOAPIC
215         bool
216         default n
217
218 config VIDEO_MB
219         int
220
221 config USE_WATCHDOG_ON_BOOT
222         bool
223         default n
224
225 config VGA
226         bool
227         default n
228         help
229           Build board-specific VGA code.
230
231 config GFXUMA
232         bool
233         help
234           Enable Unified Memory Architecture for graphics.
235
236 # TODO
237 # menu "Drivers"
238 #
239 # endmenu
240
241 config HAVE_ACPI_TABLES
242         bool
243         help
244           This variable specifies whether a given board has ACPI table support.
245           It is usually set in mainboard/*/Kconfig.
246           Whether or not the ACPI tables are actually generated by coreboot
247           is configurable by the user via GENERATE_ACPI_TABLES.
248
249 config HAVE_MP_TABLE
250         bool
251         help
252           This variable specifies whether a given board has MP table support.
253           It is usually set in mainboard/*/Kconfig.
254           Whether or not the MP table is actually generated by coreboot
255           is configurable by the user via GENERATE_MP_TABLE.
256
257 config HAVE_PIRQ_TABLE
258         bool
259         help
260           This variable specifies whether a given board has PIRQ table support.
261           It is usually set in mainboard/*/Kconfig.
262           Whether or not the PIRQ table is actually generated by coreboot
263           is configurable by the user via GENERATE_PIRQ_TABLE.
264
265 config HAVE_HIGH_TABLES
266         bool
267
268 menu "System tables"
269
270 config HAVE_LOW_TABLES
271         bool
272         default y
273
274 config WRITE_HIGH_TABLES
275         bool "Write 'high' tables to avoid being overwritten in F segment"
276         depends on HAVE_HIGH_TABLES
277         default y
278
279 config MULTIBOOT
280         bool "Generate Multiboot tables (for GRUB2)"
281         default n
282
283 config GENERATE_ACPI_TABLES
284         depends on HAVE_ACPI_TABLES
285         bool "Generate ACPI tables"
286         default y
287         help
288           Generate ACPI tables for this board.
289
290           If unsure, say Y.
291
292 config GENERATE_MP_TABLE
293         depends on HAVE_MP_TABLE
294         bool "Generate an MP table"
295         default y
296         help
297           Generate an MP table (conforming to the Intel MultiProcessor
298           specification 1.4) for this board.
299
300           If unsure, say Y.
301
302 config GENERATE_PIRQ_TABLE
303         depends on HAVE_PIRQ_TABLE
304         bool "Generate a PIRQ table"
305         default y
306         help
307           Generate a PIRQ table for this board.
308
309           If unsure, say Y.
310
311 endmenu
312
313 menu "Payload"
314
315 choice
316         prompt "Add a payload"
317         default PAYLOAD_NONE
318
319 config PAYLOAD_NONE
320         bool "None"
321         help
322           Select this option if you want to create an "empty" coreboot
323           ROM image for a certain mainboard, i.e. a coreboot ROM image
324           which does not yet contain a payload.
325
326           For such an image to be useful, you have to use 'cbfstool'
327           to add a payload to the ROM image later.
328
329 config PAYLOAD_ELF
330         bool "An ELF executable payload"
331         help
332           Select this option if you have a payload image (an ELF file)
333           which coreboot should run as soon as the basic hardware
334           initialization is completed.
335
336           You will be able to specify the location and file name of the
337           payload image later.
338
339 endchoice
340
341 config FALLBACK_PAYLOAD_FILE
342         string "Payload path and filename"
343         depends on PAYLOAD_ELF
344         default "payload.elf"
345         help
346           The path and filename of the ELF executable file to use as payload.
347
348 # TODO: Defined if no payload? Breaks build?
349 config COMPRESSED_PAYLOAD_LZMA
350         bool "Use LZMA compression for payloads"
351         default y
352         depends on PAYLOAD_ELF
353         help
354           In order to reduce the size payloads take up in the ROM chip
355           coreboot can compress them using the LZMA algorithm.
356
357 config COMPRESSED_PAYLOAD_NRV2B
358         bool
359         default n
360
361 endmenu
362
363 menu "VGA BIOS"
364
365 config VGA_BIOS
366         bool "Add a VGA BIOS image"
367         help
368           Select this option if you have a VGA BIOS image that you would
369           like to add to your ROM.
370
371           You will be able to specify the location and file name of the
372           image later.
373
374 config FALLBACK_VGA_BIOS_FILE
375         string "VGA BIOS path and filename"
376         depends on VGA_BIOS
377         default "vgabios.bin"
378         help
379           The path and filename of the file to use as VGA BIOS.
380
381 config FALLBACK_VGA_BIOS_ID
382         string "VGA BIOS ID"
383         depends on VGA_BIOS
384         default "1106,3230"
385         help
386           The comma-separated PCI vendor and device ID that would associate
387           your VGA BIOS to your video card.
388
389           Example: 1106,3230
390
391           In the above example 1106 is the PCI vendor ID (in hex, but without
392           the "0x" prefix) and 3230 specifies the PCI device ID of the
393           video card (also in hex, without "0x" prefix).
394
395 endmenu
396
397 menu "Debugging"
398
399 # TODO: Better help text and detailed instructions.
400 config GDB_STUB
401         bool "GDB debugging support"
402         default y
403         help
404           If enabled, you will be able to set breakpoints for gdb debugging.
405           See src/arch/i386/lib/c_start.S for details.
406
407 endmenu
408