More Kconfig-supported boards, and also kconfig support
[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 0x0
60
61 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
62         hex
63         default 0x0
64
65 config CPU_ADDR_BITS
66         int
67         default 36
68
69 config AGP_APERTURE_SIZE
70         hex
71         default 0x0
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 config ATI_RAGE_XL
150         bool
151         default n
152
153 source src/console/Kconfig
154
155 config HAVE_ACPI_RESUME
156         bool
157         default n
158
159 config ACPI_SSDTX_NUM
160         int
161         default 0
162
163 config HAVE_FALLBACK_BOOT
164         bool
165         default y
166
167 config USE_FALLBACK_IMAGE
168         bool
169         default y
170
171 config HAVE_FAILOVER_BOOT
172         bool
173         default n
174
175 config USE_FAILOVER_IMAGE
176         bool
177         default n
178
179 config HAVE_HARD_RESET
180         bool
181         default n
182
183 config HAVE_INIT_TIMER
184         bool
185         default n
186
187 config HAVE_MAINBOARD_RESOURCES
188         bool
189         default n
190
191 config HAVE_MOVNTI
192         bool
193         default y
194
195 config HAVE_OPTION_TABLE
196         bool
197         default y
198
199 config PIRQ_ROUTE
200         bool
201         default n
202
203 config HAVE_SMI_HANDLER
204         bool
205         default n
206
207 config PCI_IO_CFG_EXT
208         bool
209         default n
210
211 config IOAPIC
212         bool
213         default n
214
215 config VIDEO_MB
216         int
217         default 0
218
219 config USE_WATCHDOG_ON_BOOT
220         bool
221         default n
222
223 config VGA
224         bool
225         default n
226         help
227           Build board-specific VGA code.
228
229 config GFXUMA
230         bool
231         default n
232         help
233           Enable Unified Memory Architecture for graphics.
234
235 # TODO
236 # menu "Drivers"
237 #
238 # endmenu
239
240 menu "System tables"
241
242 config HAVE_LOW_TABLES
243         bool
244         default y
245
246 config HAVE_HIGH_TABLES
247         bool "Write 'high' tables to avoid being overwritten in F segment"
248         default y
249
250 config MULTIBOOT
251         bool "Generate Multiboot tables (for GRUB2)"
252         default n
253
254 config HAVE_ACPI_TABLES
255         bool "Generate ACPI tables"
256         default n
257
258 config HAVE_MP_TABLE
259         bool "Generate an MP table"
260         default n
261
262 config HAVE_PIRQ_TABLE
263         bool "Generate a PIRQ table"
264         default n
265
266 endmenu
267
268 menu "Payload"
269
270 choice
271         prompt "Add a payload"
272         default PAYLOAD_NONE
273
274 config PAYLOAD_NONE
275         bool "None"
276         help
277           Select this option if you want to create an "empty" coreboot
278           ROM image for a certain mainboard, i.e. a coreboot ROM image
279           which does not yet contain a payload.
280
281           For such an image to be useful, you have to use 'cbfstool'
282           to add a payload to the ROM image later.
283
284 config PAYLOAD_ELF
285         bool "An ELF executable payload"
286         help
287           Select this option if you have a payload image (an ELF file)
288           which coreboot should run as soon as the basic hardware
289           initialization is completed.
290
291           You will be able to specify the location and file name of the
292           payload image later.
293
294 endchoice
295
296 config FALLBACK_PAYLOAD_FILE
297         string "Payload path and filename"
298         depends on PAYLOAD_ELF
299         default "payload.elf"
300         help
301           The path and filename of the ELF executable file to use as payload.
302
303 # TODO: Defined if no payload? Breaks build?
304 config COMPRESSED_PAYLOAD_LZMA
305         bool "Use LZMA compression for payloads"
306         default y
307         depends on PAYLOAD_ELF
308         help
309           In order to reduce the size payloads take up in the ROM chip
310           coreboot can compress them using the LZMA algorithm.
311
312 endmenu
313
314 menu "VGA BIOS"
315
316 config VGA_BIOS
317         bool "Add a VGA BIOS image"
318         help
319           Select this option if you have a VGA BIOS image that you would
320           like to add to your ROM.
321
322           You will be able to specify the location and file name of the
323           image later.
324
325 config FALLBACK_VGA_BIOS_FILE
326         string "VGA BIOS path and filename"
327         depends on VGA_BIOS
328         default "vgabios.bin"
329         help
330           The path and filename of the file to use as VGA BIOS.
331
332 config FALLBACK_VGA_BIOS_ID
333         string "VGA BIOS ID"
334         depends on VGA_BIOS
335         default "1106,3230"
336         help
337           The comma-separated PCI vendor and device ID that would associate
338           your VGA BIOS to your video card.
339
340           Example: 1106,3230
341
342           In the above example 1106 is the PCI vendor ID (in hex, but without
343           the "0x" prefix) and 3230 specifies the PCI device ID of the
344           video card (also in hex, without "0x" prefix).
345
346 endmenu
347
348 menu "Debugging"
349
350 # TODO: Better help text and detailed instructions.
351 config GDB_STUB
352         bool "GDB debugging support"
353         default y
354         help
355           If enabled, you will be able to set breakpoints for gdb debugging.
356           See src/arch/i386/lib/c_start.S for details.
357
358 endmenu
359