Add CONFIG_GENERATE_* for tables so that the user can select which tables not
[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         hex
139         default 0x800
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 config HAVE_ACPI_TABLES
241         bool
242
243 config HAVE_MP_TABLE
244         bool
245
246 config HAVE_PIRQ_TABLE
247         bool
248
249 config HAVE_HIGH_TABLES
250         bool
251
252 menu "System tables"
253
254 config HAVE_LOW_TABLES
255         bool
256         default y
257
258 config WRITE_HIGH_TABLES
259         bool "Write 'high' tables to avoid being overwritten in F segment"
260         depends on HAVE_HIGH_TABLES
261         default y
262
263 config MULTIBOOT
264         bool "Generate Multiboot tables (for GRUB2)"
265         default n
266
267 config GENERATE_ACPI_TABLES
268         depends on HAVE_ACPI_TABLES
269         bool "Generate ACPI tables"
270         default y
271
272 config GENERATE_MP_TABLE
273         depends on HAVE_MP_TABLE
274         bool "Generate an MP table"
275         default y
276
277 config GENERATE_PIRQ_TABLE
278         depends on HAVE_PIRQ_TABLE
279         bool "Generate a PIRQ table"
280         default y
281
282 endmenu
283
284 menu "Payload"
285
286 choice
287         prompt "Add a payload"
288         default PAYLOAD_NONE
289
290 config PAYLOAD_NONE
291         bool "None"
292         help
293           Select this option if you want to create an "empty" coreboot
294           ROM image for a certain mainboard, i.e. a coreboot ROM image
295           which does not yet contain a payload.
296
297           For such an image to be useful, you have to use 'cbfstool'
298           to add a payload to the ROM image later.
299
300 config PAYLOAD_ELF
301         bool "An ELF executable payload"
302         help
303           Select this option if you have a payload image (an ELF file)
304           which coreboot should run as soon as the basic hardware
305           initialization is completed.
306
307           You will be able to specify the location and file name of the
308           payload image later.
309
310 endchoice
311
312 config FALLBACK_PAYLOAD_FILE
313         string "Payload path and filename"
314         depends on PAYLOAD_ELF
315         default "payload.elf"
316         help
317           The path and filename of the ELF executable file to use as payload.
318
319 # TODO: Defined if no payload? Breaks build?
320 config COMPRESSED_PAYLOAD_LZMA
321         bool "Use LZMA compression for payloads"
322         default y
323         depends on PAYLOAD_ELF
324         help
325           In order to reduce the size payloads take up in the ROM chip
326           coreboot can compress them using the LZMA algorithm.
327
328 endmenu
329
330 menu "VGA BIOS"
331
332 config VGA_BIOS
333         bool "Add a VGA BIOS image"
334         help
335           Select this option if you have a VGA BIOS image that you would
336           like to add to your ROM.
337
338           You will be able to specify the location and file name of the
339           image later.
340
341 config FALLBACK_VGA_BIOS_FILE
342         string "VGA BIOS path and filename"
343         depends on VGA_BIOS
344         default "vgabios.bin"
345         help
346           The path and filename of the file to use as VGA BIOS.
347
348 config FALLBACK_VGA_BIOS_ID
349         string "VGA BIOS ID"
350         depends on VGA_BIOS
351         default "1106,3230"
352         help
353           The comma-separated PCI vendor and device ID that would associate
354           your VGA BIOS to your video card.
355
356           Example: 1106,3230
357
358           In the above example 1106 is the PCI vendor ID (in hex, but without
359           the "0x" prefix) and 3230 specifies the PCI device ID of the
360           video card (also in hex, without "0x" prefix).
361
362 endmenu
363
364 menu "Debugging"
365
366 # TODO: Better help text and detailed instructions.
367 config GDB_STUB
368         bool "GDB debugging support"
369         default y
370         help
371           If enabled, you will be able to set breakpoints for gdb debugging.
372           See src/arch/i386/lib/c_start.S for details.
373
374 endmenu
375