Drop remainder of PPC port
[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 EXPERT
33         bool "Expert mode"
34         help
35           This allows you to select certain advanced configuration options.
36
37           Warning: Only enable this option if you really know what you are
38           doing! You have been warned!
39
40 config LOCALVERSION
41         string "Local version string"
42         help
43           Append an extra string to the end of the coreboot version.
44
45           This can be useful if, for instance, you want to append the
46           respective board's hostname or some other identifying string to
47           the coreboot version number, so that you can easily distinguish
48           boot logs of different boards from each other.
49
50 endmenu
51
52 source src/mainboard/Kconfig
53 source src/arch/i386/Kconfig
54
55 menu "Chipset"
56
57 comment "CPU"
58 source src/cpu/Kconfig
59 comment "Northbridge"
60 source src/northbridge/Kconfig
61 comment "Southbridge"
62 source src/southbridge/Kconfig
63 comment "Super I/O"
64 source src/superio/Kconfig
65 comment "Devices"
66 source src/devices/Kconfig
67
68 endmenu
69
70 config PCI_BUS_SEGN_BITS
71         int
72         default 0
73
74 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
75         hex
76         default 0x0
77
78 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
79         hex
80         default 0x0
81
82 config CPU_ADDR_BITS
83         int
84         default 36
85
86 config XIP_ROM_BASE
87         hex
88         default 0xfffe0000
89
90 config XIP_ROM_SIZE
91         hex
92         default 0x20000
93
94 config LB_CKS_RANGE_START
95         int
96         default 49
97
98 config LB_CKS_RANGE_END
99         int
100         default 125
101
102 config LB_CKS_LOC
103         int
104         default 126
105
106 config LOGICAL_CPUS
107         bool
108         default y
109
110 config PCI_ROM_RUN
111         bool
112         default n
113
114 config HEAP_SIZE
115         hex
116         default 0x4000
117
118 config COREBOOT_V2
119         bool
120         default y
121
122 config COREBOOT_V4
123         bool
124         default y
125
126 config DEBUG
127         bool
128         default n
129
130 config USE_PRINTK_IN_CAR
131         bool
132         default n
133
134 config USE_OPTION_TABLE
135         bool
136         default n
137
138 config MAX_CPUS
139         int
140         default 1
141
142 config MMCONF_SUPPORT_DEFAULT
143         bool
144         default n
145
146 config MMCONF_SUPPORT
147         bool
148         default n
149
150 config RAMTOP
151         hex
152         default 0x200000
153
154 config ATI_RAGE_XL
155         bool
156
157 source src/console/Kconfig
158
159 config HAVE_ACPI_RESUME
160         bool
161         default n
162
163 config ACPI_SSDTX_NUM
164         int
165         default 0
166
167 config HAVE_FALLBACK_BOOT
168         bool
169         default y
170
171 config USE_FALLBACK_IMAGE
172         bool
173         default y
174
175 config HAVE_FAILOVER_BOOT
176         bool
177         default n
178
179 config USE_FAILOVER_IMAGE
180         bool
181         default n
182
183 config HAVE_HARD_RESET
184         bool
185         default n
186
187 config HAVE_INIT_TIMER
188         bool
189         default y
190
191 config HAVE_MAINBOARD_RESOURCES
192         bool
193         default n
194
195 config HAVE_MOVNTI
196         bool
197         default n
198
199 config HAVE_OPTION_TABLE
200         bool
201         default y
202         help
203           This variable specifies whether a given board has a cmos.layout
204           file containing NVRAM/CMOS bit definitions.
205           It defaults to 'y' but can be changed to 'n' in mainboard/*/Kconfig.
206
207 config PIRQ_ROUTE
208         bool
209         default n
210
211 config HAVE_SMI_HANDLER
212         bool
213         default n
214
215 config PCI_IO_CFG_EXT
216         bool
217         default n
218
219 config IOAPIC
220         bool
221         default n
222
223 # TODO: Can probably be removed once all chipsets have kconfig options for it.
224 config VIDEO_MB
225         int
226         default 0
227
228 config USE_WATCHDOG_ON_BOOT
229         bool
230         default n
231
232 config VGA
233         bool
234         default n
235         help
236           Build board-specific VGA code.
237
238 config GFXUMA
239         bool
240         default n
241         help
242           Enable Unified Memory Architecture for graphics.
243
244 # TODO
245 # menu "Drivers"
246 #
247 # endmenu
248
249 #TODO Remove this option or make it useful.
250 config HAVE_LOW_TABLES
251         bool
252         default y
253         help
254           This Option is unused in the code.  Since two boards try to set it to
255           'n', they may be broken.  We either need to make the option useful or
256           get rid of it.  The broken boards are:
257           asus/m2v-mx_se
258           supermicro/h8dme
259
260 config HAVE_HIGH_TABLES
261         bool
262         default n
263         help
264           This variable specifies whether a given northbridge has high table
265           support.
266           It is set in northbridge/*/Kconfig.
267           Whether or not the high tables are actually written by coreboot is
268           configurable by the user via WRITE_HIGH_TABLES.
269
270 config HAVE_ACPI_TABLES
271         bool
272         help
273           This variable specifies whether a given board has ACPI table support.
274           It is usually set in mainboard/*/Kconfig.
275           Whether or not the ACPI tables are actually generated by coreboot
276           is configurable by the user via GENERATE_ACPI_TABLES.
277
278 config HAVE_MP_TABLE
279         bool
280         help
281           This variable specifies whether a given board has MP table support.
282           It is usually set in mainboard/*/Kconfig.
283           Whether or not the MP table is actually generated by coreboot
284           is configurable by the user via GENERATE_MP_TABLE.
285
286 config HAVE_PIRQ_TABLE
287         bool
288         help
289           This variable specifies whether a given board has PIRQ table support.
290           It is usually set in mainboard/*/Kconfig.
291           Whether or not the PIRQ table is actually generated by coreboot
292           is configurable by the user via GENERATE_PIRQ_TABLE.
293
294 #These Options are here to avoid "undefined" warnings.
295 #The actual selection and help texts are in the following menu.
296
297 config GENERATE_ACPI_TABLES
298         bool
299         default HAVE_ACPI_TABLES
300
301 config GENERATE_MP_TABLE
302         bool
303         default HAVE_MP_TABLE
304
305 config GENERATE_PIRQ_TABLE
306         bool
307         default HAVE_PIRQ_TABLE
308
309 config WRITE_HIGH_TABLES
310         bool
311         default HAVE_HIGH_TABLES
312
313 menu "System tables"
314
315 config WRITE_HIGH_TABLES
316         bool "Write 'high' tables to avoid being overwritten in F segment"
317         depends on HAVE_HIGH_TABLES
318         default y
319
320 config MULTIBOOT
321         bool "Generate Multiboot tables (for GRUB2)"
322         default n
323
324 config GENERATE_ACPI_TABLES
325         depends on HAVE_ACPI_TABLES
326         bool "Generate ACPI tables"
327         default y
328         help
329           Generate ACPI tables for this board.
330
331           If unsure, say Y.
332
333 config GENERATE_MP_TABLE
334         depends on HAVE_MP_TABLE
335         bool "Generate an MP table"
336         default y
337         help
338           Generate an MP table (conforming to the Intel MultiProcessor
339           specification 1.4) for this board.
340
341           If unsure, say Y.
342
343 config GENERATE_PIRQ_TABLE
344         depends on HAVE_PIRQ_TABLE
345         bool "Generate a PIRQ table"
346         default y
347         help
348           Generate a PIRQ table for this board.
349
350           If unsure, say Y.
351
352 endmenu
353
354 menu "Payload"
355
356 choice
357         prompt "Add a payload"
358         default PAYLOAD_NONE
359
360 config PAYLOAD_NONE
361         bool "None"
362         help
363           Select this option if you want to create an "empty" coreboot
364           ROM image for a certain mainboard, i.e. a coreboot ROM image
365           which does not yet contain a payload.
366
367           For such an image to be useful, you have to use 'cbfstool'
368           to add a payload to the ROM image later.
369
370 config PAYLOAD_ELF
371         bool "An ELF executable payload"
372         help
373           Select this option if you have a payload image (an ELF file)
374           which coreboot should run as soon as the basic hardware
375           initialization is completed.
376
377           You will be able to specify the location and file name of the
378           payload image later.
379
380 endchoice
381
382 config FALLBACK_PAYLOAD_FILE
383         string "Payload path and filename"
384         depends on PAYLOAD_ELF
385         default "payload.elf"
386         help
387           The path and filename of the ELF executable file to use as payload.
388
389 # TODO: Defined if no payload? Breaks build?
390 config COMPRESSED_PAYLOAD_LZMA
391         bool "Use LZMA compression for payloads"
392         default y
393         depends on PAYLOAD_ELF
394         help
395           In order to reduce the size payloads take up in the ROM chip
396           coreboot can compress them using the LZMA algorithm.
397
398 config COMPRESSED_PAYLOAD_NRV2B
399         bool
400         default n
401
402 endmenu
403
404 menu "VGA BIOS"
405
406 config VGA_BIOS
407         bool "Add a VGA BIOS image"
408         help
409           Select this option if you have a VGA BIOS image that you would
410           like to add to your ROM.
411
412           You will be able to specify the location and file name of the
413           image later.
414
415 config FALLBACK_VGA_BIOS_FILE
416         string "VGA BIOS path and filename"
417         depends on VGA_BIOS
418         default "vgabios.bin"
419         help
420           The path and filename of the file to use as VGA BIOS.
421
422 config FALLBACK_VGA_BIOS_ID
423         string "VGA BIOS ID"
424         depends on VGA_BIOS
425         default "1106,3230"
426         help
427           The comma-separated PCI vendor and device ID that would associate
428           your VGA BIOS to your video card.
429
430           Example: 1106,3230
431
432           In the above example 1106 is the PCI vendor ID (in hex, but without
433           the "0x" prefix) and 3230 specifies the PCI device ID of the
434           video card (also in hex, without "0x" prefix).
435
436 endmenu
437
438 menu "Debugging"
439
440 # TODO: Better help text and detailed instructions.
441 config GDB_STUB
442         bool "GDB debugging support"
443         default y
444         help
445           If enabled, you will be able to set breakpoints for gdb debugging.
446           See src/arch/i386/lib/c_start.S for details.
447
448 endmenu
449
450 config LIFT_BSP_APIC_ID
451         bool
452         default n
453
454 # These probably belong somewhere else, but they are needed somewhere.
455 config AP_CODE_IN_CAR
456         bool
457         default n
458
459 config USE_INIT
460         bool
461         default n
462
463 config ENABLE_APIC_EXT_ID
464         bool
465         default n