Fix AP_CODE_IN_CAR (only selected for two boards), STACK_SIZE, and HEAP_SIZE.
[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 0x4000
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 RAMTOP
138         hex
139         default 0x200000
140
141 config ATI_RAGE_XL
142         bool
143
144 source src/console/Kconfig
145
146 config HAVE_ACPI_RESUME
147         bool
148         default n
149
150 config ACPI_SSDTX_NUM
151         int
152         default 0
153
154 config HAVE_FALLBACK_BOOT
155         bool
156         default y
157
158 config USE_FALLBACK_IMAGE
159         bool
160         default y
161
162 config HAVE_FAILOVER_BOOT
163         bool
164         default n
165
166 config USE_FAILOVER_IMAGE
167         bool
168         default n
169
170 config HAVE_HARD_RESET
171         bool
172         default n
173
174 config HAVE_INIT_TIMER
175         bool
176         default n
177
178 config HAVE_MAINBOARD_RESOURCES
179         bool
180         default n
181
182 config HAVE_MOVNTI
183         bool
184         default y
185
186 config HAVE_OPTION_TABLE
187         bool
188         default y
189         help
190           This variable specifies whether a given board has a cmos.layout
191           file containing NVRAM/CMOS bit definitions.
192           It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
193
194 config PIRQ_ROUTE
195         bool
196         default n
197
198 config HAVE_SMI_HANDLER
199         bool
200         default n
201
202 config PCI_IO_CFG_EXT
203         bool
204         default n
205
206 config IOAPIC
207         bool
208         default n
209
210 config VIDEO_MB
211         int
212
213 config USE_WATCHDOG_ON_BOOT
214         bool
215         default n
216
217 config VGA
218         bool
219         default n
220         help
221           Build board-specific VGA code.
222
223 config GFXUMA
224         bool
225         help
226           Enable Unified Memory Architecture for graphics.
227
228 # TODO
229 # menu "Drivers"
230 #
231 # endmenu
232
233 config HAVE_ACPI_TABLES
234         bool
235         help
236           This variable specifies whether a given board has ACPI table support.
237           It is usually set in mainboard/*/Kconfig.
238           Whether or not the ACPI tables are actually generated by coreboot
239           is configurable by the user via GENERATE_ACPI_TABLES.
240
241 config HAVE_MP_TABLE
242         bool
243         help
244           This variable specifies whether a given board has MP table support.
245           It is usually set in mainboard/*/Kconfig.
246           Whether or not the MP table is actually generated by coreboot
247           is configurable by the user via GENERATE_MP_TABLE.
248
249 config HAVE_PIRQ_TABLE
250         bool
251         help
252           This variable specifies whether a given board has PIRQ table support.
253           It is usually set in mainboard/*/Kconfig.
254           Whether or not the PIRQ table is actually generated by coreboot
255           is configurable by the user via GENERATE_PIRQ_TABLE.
256
257 config HAVE_HIGH_TABLES
258         bool
259
260 menu "System tables"
261
262 config HAVE_LOW_TABLES
263         bool
264         default y
265
266 config WRITE_HIGH_TABLES
267         bool "Write 'high' tables to avoid being overwritten in F segment"
268         depends on HAVE_HIGH_TABLES
269         default y
270
271 config MULTIBOOT
272         bool "Generate Multiboot tables (for GRUB2)"
273         default n
274
275 config GENERATE_ACPI_TABLES
276         depends on HAVE_ACPI_TABLES
277         bool "Generate ACPI tables"
278         default y
279         help
280           Generate ACPI tables for this board.
281
282           If unsure, say Y.
283
284 config GENERATE_MP_TABLE
285         depends on HAVE_MP_TABLE
286         bool "Generate an MP table"
287         default y
288         help
289           Generate an MP table (conforming to the Intel MultiProcessor
290           specification 1.4) for this board.
291
292           If unsure, say Y.
293
294 config GENERATE_PIRQ_TABLE
295         depends on HAVE_PIRQ_TABLE
296         bool "Generate a PIRQ table"
297         default y
298         help
299           Generate a PIRQ table for this board.
300
301           If unsure, say Y.
302
303 endmenu
304
305 menu "Payload"
306
307 choice
308         prompt "Add a payload"
309         default PAYLOAD_NONE
310
311 config PAYLOAD_NONE
312         bool "None"
313         help
314           Select this option if you want to create an "empty" coreboot
315           ROM image for a certain mainboard, i.e. a coreboot ROM image
316           which does not yet contain a payload.
317
318           For such an image to be useful, you have to use 'cbfstool'
319           to add a payload to the ROM image later.
320
321 config PAYLOAD_ELF
322         bool "An ELF executable payload"
323         help
324           Select this option if you have a payload image (an ELF file)
325           which coreboot should run as soon as the basic hardware
326           initialization is completed.
327
328           You will be able to specify the location and file name of the
329           payload image later.
330
331 endchoice
332
333 config FALLBACK_PAYLOAD_FILE
334         string "Payload path and filename"
335         depends on PAYLOAD_ELF
336         default "payload.elf"
337         help
338           The path and filename of the ELF executable file to use as payload.
339
340 # TODO: Defined if no payload? Breaks build?
341 config COMPRESSED_PAYLOAD_LZMA
342         bool "Use LZMA compression for payloads"
343         default y
344         depends on PAYLOAD_ELF
345         help
346           In order to reduce the size payloads take up in the ROM chip
347           coreboot can compress them using the LZMA algorithm.
348
349 config COMPRESSED_PAYLOAD_NRV2B
350         default n
351
352 endmenu
353
354 menu "VGA BIOS"
355
356 config VGA_BIOS
357         bool "Add a VGA BIOS image"
358         help
359           Select this option if you have a VGA BIOS image that you would
360           like to add to your ROM.
361
362           You will be able to specify the location and file name of the
363           image later.
364
365 config FALLBACK_VGA_BIOS_FILE
366         string "VGA BIOS path and filename"
367         depends on VGA_BIOS
368         default "vgabios.bin"
369         help
370           The path and filename of the file to use as VGA BIOS.
371
372 config FALLBACK_VGA_BIOS_ID
373         string "VGA BIOS ID"
374         depends on VGA_BIOS
375         default "1106,3230"
376         help
377           The comma-separated PCI vendor and device ID that would associate
378           your VGA BIOS to your video card.
379
380           Example: 1106,3230
381
382           In the above example 1106 is the PCI vendor ID (in hex, but without
383           the "0x" prefix) and 3230 specifies the PCI device ID of the
384           video card (also in hex, without "0x" prefix).
385
386 endmenu
387
388 menu "Debugging"
389
390 # TODO: Better help text and detailed instructions.
391 config GDB_STUB
392         bool "GDB debugging support"
393         default y
394         help
395           If enabled, you will be able to set breakpoints for gdb debugging.
396           See src/arch/i386/lib/c_start.S for details.
397
398 endmenu
399