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