drop three unneeded config variables:
[coreboot.git] / src / Kconfig
1 ##
2 ## This file is part of the coreboot project.
3 ##
4 ## Copyright (C) 2009-2010 coresystems GmbH
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; version 2 of the License.
9 ##
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18 ##
19
20 mainmenu "Coreboot Configuration"
21
22 menu "General setup"
23
24 config EXPERT
25         bool "Expert mode"
26         help
27           This allows you to select certain advanced configuration options.
28
29           Warning: Only enable this option if you really know what you are
30           doing! You have been warned!
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 config CBFS_PREFIX
43         string "CBFS prefix to use"
44         default "fallback"
45         help
46           Select the prefix to all files put into the image. It's "fallback"
47           by default, "normal" is a common alternative.
48
49 choice
50         prompt "Compiler"
51         default COMPILER_GCC
52         help
53           This option allows you to select the compiler used for building
54           coreboot.
55
56 config COMPILER_GCC
57         bool "GCC"
58 config COMPILER_LLVM_CLANG
59         bool "LLVM/clang"
60 endchoice
61
62 config SCANBUILD_ENABLE
63         bool "Build with scan-build for static analysis"
64         default n
65         help
66           Changes the build process to scan-build is used.
67           Requires scan-build in path.
68
69 config SCANBUILD_REPORT_LOCATION
70         string "Directory to put scan-build report in"
71         default ""
72         depends on SCANBUILD_ENABLE
73         help
74           Where the scan-build report should be stored
75
76 config CCACHE
77         bool "ccache"
78         default n
79         help
80           Enables the use of ccache for faster builds.
81           Requires ccache in path.
82
83 config SCONFIG_GENPARSER
84         bool "Generate SCONFIG parser using flex and bison"
85         default n
86         depends on EXPERT
87         help
88           Enable this option if you are working on the sconfig
89           device tree parser and made changes to sconfig.l and
90           sconfig.y. 
91           Otherwise, say N.
92
93 config USE_OPTION_TABLE
94         bool "Use CMOS for configuration values"
95         default n
96         depends on HAVE_OPTION_TABLE
97         help
98           Enable this option if coreboot shall read options from the "CMOS"
99           NVRAM instead of using hard coded values.
100
101 endmenu
102
103 source src/mainboard/Kconfig
104 source src/arch/i386/Kconfig
105
106 menu "Chipset"
107
108 comment "CPU"
109 source src/cpu/Kconfig
110 comment "Northbridge"
111 source src/northbridge/Kconfig
112 comment "Southbridge"
113 source src/southbridge/Kconfig
114 comment "Super I/O"
115 source src/superio/Kconfig
116 comment "Devices"
117 source src/devices/Kconfig
118
119 endmenu
120
121 menu "Generic Drivers"
122 source src/drivers/Kconfig
123 endmenu
124
125 config PCI_BUS_SEGN_BITS
126         int
127         default 0
128
129 config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
130         hex
131         default 0x0
132
133 config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
134         hex
135         default 0x0
136
137 config CPU_ADDR_BITS
138         int
139         default 36
140
141 config LOGICAL_CPUS
142         bool
143         default y
144
145 config PCI_ROM_RUN
146         bool
147         default n
148
149 config HEAP_SIZE
150         hex
151         default 0x4000
152
153 config MAX_CPUS
154         int
155         default 1
156
157 config MMCONF_SUPPORT_DEFAULT
158         bool
159         default n
160
161 config MMCONF_SUPPORT
162         bool
163         default n
164
165 config ATI_RAGE_XL
166         bool
167
168 source src/console/Kconfig
169
170 config HAVE_ACPI_RESUME
171         bool
172         default n
173
174 config HAVE_ACPI_SLIC
175         bool
176         default n
177
178 config ACPI_SSDTX_NUM
179         int
180         default 0
181
182 config HAVE_HARD_RESET
183         bool
184         default y if BOARD_HAS_HARD_RESET
185         default n
186         help
187           This variable specifies whether a given board has a hard_reset
188           function, no matter if it's provided by board code or chipset code.
189
190 config HAVE_INIT_TIMER
191         bool
192         default n if UDELAY_IO
193         default y
194
195 config HAVE_MAINBOARD_RESOURCES
196         bool
197         default n
198
199 config USE_OPTION_TABLE
200         bool
201         default n
202
203 config HAVE_OPTION_TABLE
204         bool
205         default n
206         help
207           This variable specifies whether a given board has a cmos.layout
208           file containing NVRAM/CMOS bit definitions.
209           It defaults to 'n' but can be selected in mainboard/*/Kconfig.
210
211 config PIRQ_ROUTE
212         bool
213         default n
214
215 config HAVE_SMI_HANDLER
216         bool
217         default n
218
219 config PCI_IO_CFG_EXT
220         bool
221         default n
222
223 config IOAPIC
224         bool
225         default n
226
227 # TODO: Can probably be removed once all chipsets have kconfig options for it.
228 config VIDEO_MB
229         int
230         default 0
231
232 config USE_WATCHDOG_ON_BOOT
233         bool
234         default n
235
236 config VGA
237         bool
238         default n
239         help
240           Build board-specific VGA code.
241
242 config GFXUMA
243         bool
244         default n
245         help
246           Enable Unified Memory Architecture for graphics.
247
248 # TODO
249 # menu "Drivers"
250 #
251 # endmenu
252
253 config HAVE_ACPI_TABLES
254         bool
255         help
256           This variable specifies whether a given board has ACPI table support.
257           It is usually set in mainboard/*/Kconfig.
258           Whether or not the ACPI tables are actually generated by coreboot
259           is configurable by the user via GENERATE_ACPI_TABLES.
260
261 config HAVE_MP_TABLE
262         bool
263         help
264           This variable specifies whether a given board has MP table support.
265           It is usually set in mainboard/*/Kconfig.
266           Whether or not the MP table is actually generated by coreboot
267           is configurable by the user via GENERATE_MP_TABLE.
268
269 config HAVE_PIRQ_TABLE
270         bool
271         help
272           This variable specifies whether a given board has PIRQ table support.
273           It is usually set in mainboard/*/Kconfig.
274           Whether or not the PIRQ table is actually generated by coreboot
275           is configurable by the user via GENERATE_PIRQ_TABLE.
276
277 #These Options are here to avoid "undefined" warnings.
278 #The actual selection and help texts are in the following menu.
279
280 config GENERATE_ACPI_TABLES
281         bool
282         default HAVE_ACPI_TABLES
283
284 config GENERATE_MP_TABLE
285         bool
286         default HAVE_MP_TABLE
287
288 config GENERATE_PIRQ_TABLE
289         bool
290         default HAVE_PIRQ_TABLE
291
292 menu "System tables"
293
294 config WRITE_HIGH_TABLES
295         bool "Write 'high' tables to avoid being overwritten in F segment"
296         default y
297
298 config MULTIBOOT
299         bool "Generate Multiboot tables (for GRUB2)"
300         default y
301
302 config GENERATE_ACPI_TABLES
303         depends on HAVE_ACPI_TABLES
304         bool "Generate ACPI tables"
305         default y
306         help
307           Generate ACPI tables for this board.
308
309           If unsure, say Y.
310
311 config GENERATE_MP_TABLE
312         depends on HAVE_MP_TABLE
313         bool "Generate an MP table"
314         default y
315         help
316           Generate an MP table (conforming to the Intel MultiProcessor
317           specification 1.4) for this board.
318
319           If unsure, say Y.
320
321 config GENERATE_PIRQ_TABLE
322         depends on HAVE_PIRQ_TABLE
323         bool "Generate a PIRQ table"
324         default y
325         help
326           Generate a PIRQ table for this board.
327
328           If unsure, say Y.
329
330 endmenu
331
332 menu "Payload"
333
334 choice
335         prompt "Add a payload"
336         default PAYLOAD_NONE
337
338 config PAYLOAD_NONE
339         bool "None"
340         help
341           Select this option if you want to create an "empty" coreboot
342           ROM image for a certain mainboard, i.e. a coreboot ROM image
343           which does not yet contain a payload.
344
345           For such an image to be useful, you have to use 'cbfstool'
346           to add a payload to the ROM image later.
347
348 config PAYLOAD_ELF
349         bool "An ELF executable payload"
350         help
351           Select this option if you have a payload image (an ELF file)
352           which coreboot should run as soon as the basic hardware
353           initialization is completed.
354
355           You will be able to specify the location and file name of the
356           payload image later.
357
358 endchoice
359
360 config FALLBACK_PAYLOAD_FILE
361         string "Payload path and filename"
362         depends on PAYLOAD_ELF
363         default "payload.elf"
364         help
365           The path and filename of the ELF executable file to use as payload.
366
367 # TODO: Defined if no payload? Breaks build?
368 config COMPRESSED_PAYLOAD_LZMA
369         bool "Use LZMA compression for payloads"
370         default y
371         depends on PAYLOAD_ELF
372         help
373           In order to reduce the size payloads take up in the ROM chip
374           coreboot can compress them using the LZMA algorithm.
375
376 config COMPRESSED_PAYLOAD_NRV2B
377         bool
378         default n
379
380 endmenu
381
382 menu "VGA BIOS"
383
384 config VGA_BIOS
385         bool "Add a VGA BIOS image"
386         help
387           Select this option if you have a VGA BIOS image that you would
388           like to add to your ROM.
389
390           You will be able to specify the location and file name of the
391           image later.
392
393 config FALLBACK_VGA_BIOS_FILE
394         string "VGA BIOS path and filename"
395         depends on VGA_BIOS
396         default "vgabios.bin"
397         help
398           The path and filename of the file to use as VGA BIOS.
399
400 config FALLBACK_VGA_BIOS_ID
401         string "VGA device PCI IDs"
402         depends on VGA_BIOS
403         default "1106,3230"
404         help
405           The comma-separated PCI vendor and device ID that would associate
406           your VGA BIOS to your video card.
407
408           Example: 1106,3230
409
410           In the above example 1106 is the PCI vendor ID (in hex, but without
411           the "0x" prefix) and 3230 specifies the PCI device ID of the
412           video card (also in hex, without "0x" prefix).
413
414 config INTEL_MBI
415         bool "Add an MBI image"
416         depends on NORTHBRIDGE_INTEL_I82830
417         help
418           Select this option if you have an Intel MBI image that you would
419           like to add to your ROM.
420
421           You will be able to specify the location and file name of the
422           image later.
423
424 config FALLBACK_MBI_FILE
425         string "Intel MBI path and filename"
426         depends on INTEL_MBI
427         default "mbi.bin"
428         help
429           The path and filename of the file to use as VGA BIOS.
430
431 endmenu
432
433 menu "Bootsplash"
434         depends on PCI_OPTION_ROM_RUN_YABEL
435
436 config BOOTSPLASH
437         prompt "Show graphical bootsplash"
438         bool
439         depends on PCI_OPTION_ROM_RUN_YABEL
440         help
441           This option shows a graphical bootsplash screen. The grapics are
442           loaded from the CBFS file bootsplash.jpg.
443
444 config FALLBACK_BOOTSPLASH_FILE
445         string "Bootsplash path and filename"
446         depends on BOOTSPLASH
447         default "bootsplash.jpg"
448         help
449           The path and filename of the file to use as graphical bootsplash
450           screen. The file format has to be jpg.
451
452 # TODO: Turn this into a "choice".
453 config FRAMEBUFFER_VESA_MODE
454         prompt "VESA framebuffer video mode"
455         hex
456         default 0x117
457         depends on BOOTSPLASH
458         help
459           This option sets the resolution used for the coreboot framebuffer and
460           bootsplash screen. Set to 0x117 for 1024x768x16. A diligent soul will
461           some day make this a "choice".
462
463 config COREBOOT_KEEP_FRAMEBUFFER
464         prompt "Keep VESA framebuffer"
465         bool
466         depends on BOOTSPLASH
467         help
468           This option keeps the framebuffer mode set after coreboot finishes
469           execution. If this option is enabled, coreboot will pass a
470           framebuffer entry in its coreboot table and the payload will need a
471           framebuffer driver. If this option is disabled, coreboot will switch
472           back to text mode before handing control to a payload.
473
474 endmenu
475
476 menu "Debugging"
477
478 # TODO: Better help text and detailed instructions.
479 config GDB_STUB
480         bool "GDB debugging support"
481         default y
482         help
483           If enabled, you will be able to set breakpoints for gdb debugging.
484           See src/arch/i386/lib/c_start.S for details.
485
486 config HAVE_DEBUG_RAM_SETUP
487         def_bool n
488
489 config DEBUG_RAM_SETUP
490         bool "Output verbose RAM init debug messages"
491         default n
492         depends on HAVE_DEBUG_RAM_SETUP
493         help
494           This option enables additional RAM init related debug messages.
495           It is recommended to enable this when debugging issues on your
496           board which might be RAM init related.
497
498           Note: This option will increase the size of the coreboot image.
499
500           If unsure, say N.
501
502 config DEBUG_PIRQ
503         bool "Check PIRQ table consistency"
504         default n
505         depends on GENERATE_PIRQ_TABLE
506         help
507           If unsure, say N.
508
509 config HAVE_DEBUG_SMBUS
510         def_bool n
511
512 config DEBUG_SMBUS
513         bool "Output verbose SMBus debug messages"
514         default n
515         depends on HAVE_DEBUG_SMBUS
516         help
517           This option enables additional SMBus (and SPD) debug messages.
518
519           Note: This option will increase the size of the coreboot image.
520
521           If unsure, say N.
522
523 config DEBUG_SMI
524         bool "Output verbose SMI debug messages"
525         default n
526         depends on HAVE_SMI_HANDLER
527         help
528           This option enables additional SMI related debug messages.
529
530           Note: This option will increase the size of the coreboot image.
531
532           If unsure, say N.
533
534 config DEBUG_SMM_RELOCATION
535         bool "Debug SMM relocation code"
536         default n
537         depends on HAVE_SMI_HANDLER
538         help
539           This option enables additional SMM handler relocation related
540           debug messages.
541
542           Note: This option will increase the size of the coreboot image.
543
544           If unsure, say N.
545
546 config X86EMU_DEBUG
547         bool "Output verbose x86emu debug messages"
548         default n
549         depends on PCI_OPTION_ROM_RUN_YABEL
550         help
551           This option enables additional x86emu related debug messages.
552
553           Note: This option will increase the size of the coreboot image.
554
555           If unsure, say N.
556
557 config X86EMU_DEBUG_JMP
558         bool "Trace JMP/RETF"
559         default n
560         depends on X86EMU_DEBUG
561         help
562           Print information about JMP and RETF opcodes from x86emu.
563
564           Note: This option will increase the size of the coreboot image.
565
566           If unsure, say N.
567
568 config X86EMU_DEBUG_TRACE
569         bool "Trace all opcodes"
570         default n
571         depends on X86EMU_DEBUG
572         help
573           Print _all_ opcodes that are executed by x86emu.
574
575           WARNING: This will produce a LOT of output and take a long time.
576
577           Note: This option will increase the size of the coreboot image.
578
579           If unsure, say N.
580
581 config X86EMU_DEBUG_PNP
582         bool "Log Plug&Play accesses"
583         default n
584         depends on X86EMU_DEBUG
585         help
586           Print Plug And Play accesses made by option ROMs.
587
588           Note: This option will increase the size of the coreboot image.
589
590           If unsure, say N.
591
592 config X86EMU_DEBUG_DISK
593         bool "Log Disk I/O"
594         default n
595         depends on X86EMU_DEBUG
596         help
597           Print Disk I/O related messages.
598
599           Note: This option will increase the size of the coreboot image.
600
601           If unsure, say N.
602
603 config X86EMU_DEBUG_PMM
604         bool "Log PMM"
605         default n
606         depends on X86EMU_DEBUG
607         help
608           Print messages related to POST Memory Manager (PMM).
609
610           Note: This option will increase the size of the coreboot image.
611
612           If unsure, say N.
613
614
615 config X86EMU_DEBUG_VBE
616         bool "Debug VESA BIOS Extensions"
617         default n
618         depends on X86EMU_DEBUG
619         help
620           Print messages related to VESA BIOS Extension (VBE) functions.
621
622           Note: This option will increase the size of the coreboot image.
623
624           If unsure, say N.
625
626 config X86EMU_DEBUG_INT10
627         bool "Redirect INT10 output to console"
628         default n
629         depends on X86EMU_DEBUG
630         help
631           Let INT10 (i.e. character output) calls print messages to debug output.
632
633           Note: This option will increase the size of the coreboot image.
634
635           If unsure, say N.
636
637 config X86EMU_DEBUG_INTERRUPTS
638         bool "Log intXX calls"
639         default n
640         depends on X86EMU_DEBUG
641         help
642           Print messages related to interrupt handling.
643
644           Note: This option will increase the size of the coreboot image.
645
646           If unsure, say N.
647
648 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
649         bool "Log special memory accesses"
650         default n
651         depends on X86EMU_DEBUG
652         help
653           Print messages related to accesses to certain areas of the virtual
654           memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
655
656           Note: This option will increase the size of the coreboot image.
657
658           If unsure, say N.
659
660 config X86EMU_DEBUG_MEM
661         bool "Log all memory accesses"
662         default n
663         depends on X86EMU_DEBUG
664         help
665           Print memory accesses made by option ROM.
666           Note: This also includes accesses to fetch instructions.
667
668           Note: This option will increase the size of the coreboot image.
669
670           If unsure, say N.
671
672 config X86EMU_DEBUG_IO
673         bool "Log IO accesses"
674         default n
675         depends on X86EMU_DEBUG
676         help
677           Print I/O accesses made by option ROM.
678
679           Note: This option will increase the size of the coreboot image.
680
681           If unsure, say N.
682
683 config LLSHELL
684         bool "Built-in low-level shell"
685         default n
686         help
687           If enabled, you will have a low level shell to examine your machine.
688           Put llshell() in your (romstage) code to start the shell.
689           See src/arch/i386/llshell/llshell.inc for details.
690
691 endmenu
692
693 config LIFT_BSP_APIC_ID
694         bool
695         default n
696
697 # These probably belong somewhere else, but they are needed somewhere.
698 config AP_CODE_IN_CAR
699         bool
700         default n
701
702 config ENABLE_APIC_EXT_ID
703         bool
704         default n
705
706 config WARNINGS_ARE_ERRORS
707         bool
708         default y
709
710 config ID_SECTION_OFFSET
711         hex
712         default 0x10
713
714 source src/Kconfig.deprecated_options