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