AGESA hudson yangtze: Move IMC firmware init out of get_bus_conf()
[coreboot.git] / src / Kconfig
1 ##
2 ## This file is part of the coreboot project.
3 ##
4 ## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
5 ## Copyright (C) 2009-2010 coresystems GmbH
6 ##
7 ## This program is free software; you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation; version 2 of the License.
10 ##
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, write to the Free Software
18 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 ##
20
21 mainmenu "coreboot configuration"
22
23 menu "General setup"
24
25 config EXPERT
26         bool "Expert mode"
27         help
28           This allows you to select certain advanced configuration options.
29
30           Warning: Only enable this option if you really know what you are
31           doing! You have been warned!
32
33 config LOCALVERSION
34         string "Local version string"
35         help
36           Append an extra string to the end of the coreboot version.
37
38           This can be useful if, for instance, you want to append the
39           respective board's hostname or some other identifying string to
40           the coreboot version number, so that you can easily distinguish
41           boot logs of different boards from each other.
42
43 config CBFS_PREFIX
44         string "CBFS prefix to use"
45         default "fallback"
46         help
47           Select the prefix to all files put into the image. It's "fallback"
48           by default, "normal" is a common alternative.
49
50 config ALT_CBFS_LOAD_PAYLOAD
51         bool "Use alternative cbfs_load_payload() implementation."
52         default n
53         help
54          Either board or southbridge provide an alternative cbfs_load_payload()
55          implementation. This may be used, for example, if accessing the ROM
56          through memory-mapped I/O is slow and a faster alternative can be
57          provided.
58
59 choice
60         prompt "Compiler to use"
61         default COMPILER_GCC
62         help
63           This option allows you to select the compiler used for building
64           coreboot.
65
66 config COMPILER_GCC
67         bool "GCC"
68         help
69           Use the GNU Compiler Collection (GCC) to build coreboot.
70
71           For details see http://gcc.gnu.org.
72
73 config COMPILER_LLVM_CLANG
74         bool "LLVM/clang"
75         help
76           Use LLVM/clang to build coreboot.
77
78           For details see http://clang.llvm.org.
79
80 endchoice
81
82 config SCANBUILD_ENABLE
83         bool "Build with scan-build for static code analysis"
84         default n
85         help
86           Changes the build process to use scan-build (a utility for
87           running the clang static code analyzer from the command line).
88
89           Requires the scan-build utility in your system $PATH.
90
91           For details see http://clang-analyzer.llvm.org/scan-build.html.
92
93 config SCANBUILD_REPORT_LOCATION
94         string "Directory for the scan-build report(s)"
95         default ""
96         depends on SCANBUILD_ENABLE
97         help
98           Directory where the scan-build reports should be stored in. The
99           reports are stored in subdirectories of the form 'yyyy-mm-dd-*'
100           in the specified directory.
101
102           If this setting is left empty, the coreboot top-level directory
103           will be used to store the report subdirectories.
104
105 config CCACHE
106         bool "Use ccache to speed up (re)compilation"
107         default n
108         help
109           Enables the use of ccache for faster builds.
110
111           Requires the ccache utility in your system $PATH.
112
113           For details see https://ccache.samba.org.
114
115 config SCONFIG_GENPARSER
116         bool "Generate SCONFIG parser using flex and bison"
117         default n
118         depends on EXPERT
119         help
120           Enable this option if you are working on the sconfig device tree
121           parser and made changes to sconfig.l and sconfig.y.
122
123           Otherwise, say N.
124
125 config USE_OPTION_TABLE
126         bool "Use CMOS for configuration values"
127         default n
128         depends on HAVE_OPTION_TABLE
129         help
130           Enable this option if coreboot shall read options from the "CMOS"
131           NVRAM instead of using hard-coded values.
132
133 config COMPRESS_RAMSTAGE
134         bool "Compress ramstage with LZMA"
135         default y
136         help
137           Compress ramstage to save memory in the flash image. Note
138           that decompression might slow down booting if the boot flash
139           is connected through a slow link (i.e. SPI).
140
141 config INCLUDE_CONFIG_FILE
142         bool "Include the coreboot .config file into the ROM image"
143         default y
144         help
145           Include the .config file that was used to compile coreboot
146           in the (CBFS) ROM image. This is useful if you want to know which
147           options were used to build a specific coreboot.rom image.
148
149           Saying Y here will increase the image size by 2-3kB.
150
151           You can use the following command to easily list the options:
152
153             grep -a CONFIG_ coreboot.rom
154
155           Alternatively, you can also use cbfstool to print the image
156           contents (including the raw 'config' item we're looking for).
157
158           Example:
159
160             $ cbfstool coreboot.rom print
161             coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
162                                                        offset 0x0
163             Alignment: 64 bytes
164
165             Name                           Offset     Type         Size
166             cmos_layout.bin                0x0        cmos layout  1159
167             fallback/romstage              0x4c0      stage        339756
168             fallback/coreboot_ram          0x53440    stage        186664
169             fallback/payload               0x80dc0    payload      51526
170             config                         0x8d740    raw          3324
171             (empty)                        0x8e480    null         3610440
172
173 config EARLY_CBMEM_INIT
174         bool
175         default n
176         help
177           Make coreboot initialize the cbmem structures while running in ROM
178           stage. This is useful when the ROM stage wants to communicate
179           some, for instance, execution timestamps. It needs support in
180           romstage.c and should be enabled by the board's Kconfig.
181
182 config DYNAMIC_CBMEM
183         bool "The CBMEM space is dynamically grown."
184         default n
185         help
186           Instead of reserving a static amount of CBMEM space the CBMEM
187           area grows dynamically.  CBMEM can be used both in romstage (after
188           memory initialization) and ramstage.
189
190 config COLLECT_TIMESTAMPS
191         bool "Create a table of timestamps collected during boot"
192         depends on (EARLY_CBMEM_INIT || DYNAMIC_CBMEM)
193         help
194           Make coreboot create a table of timer-ID/timer-value pairs to
195           allow measuring time spent at different phases of the boot process.
196
197 config USE_BLOBS
198         bool "Allow use of binary-only repository"
199         default n
200         help
201           This draws in the blobs repository, which contains binary files that
202           might be required for some chipsets or boards.
203           This flag ensures that a "Free" option remains available for users.
204
205 config COVERAGE
206         bool "Code coverage support"
207         depends on COMPILER_GCC
208         default n
209         help
210           Add code coverage support for coreboot. This will store code
211           coverage information in CBMEM for extraction from user space.
212           If unsure, say N.
213
214 endmenu
215
216 source src/mainboard/Kconfig
217
218 # This option is used to set the architecture of a mainboard to X86.
219 # It is usually set in mainboard/*/Kconfig.
220 config ARCH_X86
221         bool
222         default n
223         select PCI
224
225 config ARCH_ARMV7
226         bool
227         default n
228
229 # Warning: The file is included whether or not the if is here.
230 # but the if controls how the evaluation occurs.
231 if ARCH_X86
232 source src/arch/x86/Kconfig
233 endif
234
235 if ARCH_ARMV7
236 source src/arch/armv7/Kconfig
237 endif
238
239 menu "Chipset"
240
241 comment "CPU"
242 source src/cpu/Kconfig
243 comment "Northbridge"
244 source src/northbridge/Kconfig
245 comment "Southbridge"
246 source src/southbridge/Kconfig
247 comment "Super I/O"
248 source src/superio/Kconfig
249 comment "Embedded Controllers"
250 source src/ec/Kconfig
251
252 endmenu
253
254 source src/device/Kconfig
255
256 menu "Generic Drivers"
257 source src/drivers/Kconfig
258 endmenu
259
260 config HEAP_SIZE
261         hex
262         default 0x4000
263
264 config MAX_CPUS
265         int
266         default 1
267
268 config MMCONF_SUPPORT_DEFAULT
269         bool
270         default n
271
272 config MMCONF_SUPPORT
273         bool
274         default n
275
276 source src/console/Kconfig
277
278 # This should default to N and be set by SuperI/O drivers that have an UART
279 config HAVE_UART_IO_MAPPED
280         bool
281         default y if ARCH_X86
282         default n if ARCH_ARMV7
283
284 config HAVE_UART_MEMORY_MAPPED
285         bool
286         default n
287
288 config HAVE_UART_SPECIAL
289         bool
290         default n
291
292 config HAVE_ACPI_RESUME
293         bool
294         default n
295
296 config HAVE_ACPI_SLIC
297         bool
298         default n
299
300 config ACPI_SSDTX_NUM
301         int
302         default 0
303
304 config HAVE_HARD_RESET
305         bool
306         default n
307         help
308           This variable specifies whether a given board has a hard_reset
309           function, no matter if it's provided by board code or chipset code.
310
311 config HAVE_INIT_TIMER
312         bool
313         default n if UDELAY_IO
314         default y
315
316 config HIGH_SCRATCH_MEMORY_SIZE
317         hex
318         default 0x0
319
320 config USE_OPTION_TABLE
321         bool
322         default n
323
324 config HAVE_OPTION_TABLE
325         bool
326         default n
327         help
328           This variable specifies whether a given board has a cmos.layout
329           file containing NVRAM/CMOS bit definitions.
330           It defaults to 'n' but can be selected in mainboard/*/Kconfig.
331
332 config PIRQ_ROUTE
333         bool
334         default n
335
336 config HAVE_SMI_HANDLER
337         bool
338         default n
339
340 config PCI_IO_CFG_EXT
341         bool
342         default n
343
344 config IOAPIC
345         bool
346         default n
347
348 config CBFS_SIZE
349         hex
350         default ROM_SIZE
351
352 config CACHE_ROM_SIZE
353         hex
354         default CBFS_SIZE
355
356 # TODO: Can probably be removed once all chipsets have kconfig options for it.
357 config VIDEO_MB
358         int
359         default 0
360
361 config USE_WATCHDOG_ON_BOOT
362         bool
363         default n
364
365 config VGA
366         bool
367         default n
368         help
369           Build board-specific VGA code.
370
371 config GFXUMA
372         bool
373         default n
374         help
375           Enable Unified Memory Architecture for graphics.
376
377 config RELOCATABLE_MODULES
378         bool "Relocatable Modules"
379         default n
380         help
381          If RELOCATABLE_MODULES is selected then support is enabled for
382          building relocatable modules in the ram stage. Those modules can be
383          loaded anywhere and all the relocations are handled automatically.
384
385 config RELOCATABLE_RAMSTAGE
386         depends on (RELOCATABLE_MODULES && DYNAMIC_CBMEM)
387         bool "Build the ramstage to be relocatable in 32-bit address space."
388         default n
389         help
390          The reloctable ramstage support allows for the ramstage to be built
391          as a relocatable module. The stage loader can identify a place
392          out of the OS way so that copying memory is unnecessary during an S3
393          wake. When selecting this option the romstage is responsible for
394          determing a stack location to use for loading the ramstage.
395
396 config HAVE_ACPI_TABLES
397         bool
398         help
399           This variable specifies whether a given board has ACPI table support.
400           It is usually set in mainboard/*/Kconfig.
401           Whether or not the ACPI tables are actually generated by coreboot
402           is configurable by the user via GENERATE_ACPI_TABLES.
403
404 config HAVE_MP_TABLE
405         bool
406         help
407           This variable specifies whether a given board has MP table support.
408           It is usually set in mainboard/*/Kconfig.
409           Whether or not the MP table is actually generated by coreboot
410           is configurable by the user via GENERATE_MP_TABLE.
411
412 config HAVE_PIRQ_TABLE
413         bool
414         help
415           This variable specifies whether a given board has PIRQ table support.
416           It is usually set in mainboard/*/Kconfig.
417           Whether or not the PIRQ table is actually generated by coreboot
418           is configurable by the user via GENERATE_PIRQ_TABLE.
419
420 config MAX_PIRQ_LINKS
421         int
422         default 4
423         help
424           This variable specifies the number of PIRQ interrupt links which are
425           routable. On most chipsets, this is 4, INTA through INTD. Some
426           chipsets offer more than four links, commonly up to INTH. They may
427           also have a separate link for ATA or IOAPIC interrupts. When the PIRQ
428           table specifies links greater than 4, pirq_route_irqs will not
429           function properly, unless this variable is correctly set.
430
431 #These Options are here to avoid "undefined" warnings.
432 #The actual selection and help texts are in the following menu.
433
434 menu "System tables"
435
436 config MULTIBOOT
437         bool "Generate Multiboot tables (for GRUB2)"
438         default y
439         depends on ARCH_X86
440
441 config GENERATE_ACPI_TABLES
442         prompt "Generate ACPI tables" if HAVE_ACPI_TABLES
443         bool
444         default HAVE_ACPI_TABLES
445         help
446           Generate ACPI tables for this board.
447
448           If unsure, say Y.
449
450 config GENERATE_MP_TABLE
451         prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
452         bool
453         default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
454         help
455           Generate an MP table (conforming to the Intel MultiProcessor
456           specification 1.4) for this board.
457
458           If unsure, say Y.
459
460 config GENERATE_PIRQ_TABLE
461         prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
462         bool
463         default HAVE_PIRQ_TABLE
464         help
465           Generate a PIRQ table for this board.
466
467           If unsure, say Y.
468
469 config GENERATE_SMBIOS_TABLES
470         depends on ARCH_X86
471         bool "Generate SMBIOS tables"
472         default y
473         help
474           Generate SMBIOS tables for this board.
475
476           If unsure, say Y.
477
478 endmenu
479
480 menu "Payload"
481
482 choice
483         prompt "Add a payload"
484         default PAYLOAD_NONE if !ARCH_X86
485         default PAYLOAD_SEABIOS if ARCH_X86
486
487 config PAYLOAD_NONE
488         bool "None"
489         help
490           Select this option if you want to create an "empty" coreboot
491           ROM image for a certain mainboard, i.e. a coreboot ROM image
492           which does not yet contain a payload.
493
494           For such an image to be useful, you have to use 'cbfstool'
495           to add a payload to the ROM image later.
496
497 config PAYLOAD_ELF
498         bool "An ELF executable payload"
499         help
500           Select this option if you have a payload image (an ELF file)
501           which coreboot should run as soon as the basic hardware
502           initialization is completed.
503
504           You will be able to specify the location and file name of the
505           payload image later.
506
507 config PAYLOAD_SEABIOS
508         bool "SeaBIOS"
509         depends on ARCH_X86
510         help
511           Select this option if you want to build a coreboot image
512           with a SeaBIOS payload. If you don't know what this is
513           about, just leave it enabled.
514
515           See http://coreboot.org/Payloads for more information.
516
517 config PAYLOAD_FILO
518         bool "FILO"
519         help
520           Select this option if you want to build a coreboot image
521           with a FILO payload. If you don't know what this is
522           about, just leave it enabled.
523
524           See http://coreboot.org/Payloads for more information.
525
526 config PAYLOAD_TIANOCORE
527         bool "Tiano Core"
528         help
529           Select this option if you want to build a coreboot image
530           with a Tiano Core payload. If you don't know what this is
531           about, just leave it enabled.
532
533           See http://coreboot.org/Payloads for more information.
534
535 endchoice
536
537 choice
538         prompt "SeaBIOS version"
539         default SEABIOS_STABLE
540         depends on PAYLOAD_SEABIOS
541
542 config SEABIOS_STABLE
543         bool "1.7.2.1"
544         help
545           Stable SeaBIOS version
546 config SEABIOS_MASTER
547         bool "master"
548         help
549           Newest SeaBIOS version
550 endchoice
551
552 choice
553         prompt "FILO version"
554         default FILO_STABLE
555         depends on PAYLOAD_FILO
556
557 config FILO_STABLE
558         bool "0.6.0"
559         help
560           Stable FILO version
561 config FILO_MASTER
562         bool "HEAD"
563         help
564           Newest FILO version
565 endchoice
566
567 config PAYLOAD_FILE
568         string "Payload path and filename"
569         depends on PAYLOAD_ELF
570         default "payload.elf"
571         help
572           The path and filename of the ELF executable file to use as payload.
573
574 config PAYLOAD_FILE
575         depends on PAYLOAD_SEABIOS
576         default "$(obj)/seabios/out/bios.bin.elf"
577
578 config PAYLOAD_FILE
579         depends on PAYLOAD_FILO
580         default "payloads/external/FILO/filo/build/filo.elf"
581
582 config PAYLOAD_FILE
583         string "Tianocore firmware volume"
584         depends on PAYLOAD_TIANOCORE
585         default "COREBOOT.fd"
586         help
587           The result of a corebootPkg build
588
589 # TODO: Defined if no payload? Breaks build?
590 config COMPRESSED_PAYLOAD_LZMA
591         bool "Use LZMA compression for payloads"
592         default y
593         depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO || PAYLOAD_TIANOCORE
594         help
595           In order to reduce the size payloads take up in the ROM chip
596           coreboot can compress them using the LZMA algorithm.
597
598 config COMPRESSED_PAYLOAD_NRV2B
599         bool
600         default n
601
602 endmenu
603
604 menu "Debugging"
605
606 # TODO: Better help text and detailed instructions.
607 config GDB_STUB
608         bool "GDB debugging support"
609         default n
610         help
611           If enabled, you will be able to set breakpoints for gdb debugging.
612           See src/arch/x86/lib/c_start.S for details.
613
614 config GDB_WAIT
615         bool "Wait for a GDB connection"
616         default n
617         depends on GDB_STUB
618         help
619           If enabled, coreboot will wait for a GDB connection.
620
621 config DEBUG_CBFS
622         bool "Output verbose CBFS debug messages"
623         default n
624         help
625           This option enables additional CBFS related debug messages.
626
627 config HAVE_DEBUG_RAM_SETUP
628         def_bool n
629
630 config DEBUG_RAM_SETUP
631         bool "Output verbose RAM init debug messages"
632         default n
633         depends on HAVE_DEBUG_RAM_SETUP
634         help
635           This option enables additional RAM init related debug messages.
636           It is recommended to enable this when debugging issues on your
637           board which might be RAM init related.
638
639           Note: This option will increase the size of the coreboot image.
640
641           If unsure, say N.
642
643 config HAVE_DEBUG_CAR
644         def_bool n
645
646 config DEBUG_CAR
647         def_bool n
648         depends on HAVE_DEBUG_CAR
649
650 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
651 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
652 # printk(BIOS_DEBUG, ...) calls.
653 config DEBUG_CAR
654         bool "Output verbose Cache-as-RAM debug messages"
655         default n
656         depends on HAVE_DEBUG_CAR
657         help
658           This option enables additional CAR related debug messages.
659 endif
660
661 config DEBUG_PIRQ
662         bool "Check PIRQ table consistency"
663         default n
664         depends on GENERATE_PIRQ_TABLE
665         help
666           If unsure, say N.
667
668 config HAVE_DEBUG_SMBUS
669         def_bool n
670
671 config DEBUG_SMBUS
672         bool "Output verbose SMBus debug messages"
673         default n
674         depends on HAVE_DEBUG_SMBUS
675         help
676           This option enables additional SMBus (and SPD) debug messages.
677
678           Note: This option will increase the size of the coreboot image.
679
680           If unsure, say N.
681
682 config DEBUG_SMI
683         bool "Output verbose SMI debug messages"
684         default n
685         depends on HAVE_SMI_HANDLER
686         help
687           This option enables additional SMI related debug messages.
688
689           Note: This option will increase the size of the coreboot image.
690
691           If unsure, say N.
692
693 config DEBUG_SMM_RELOCATION
694         bool "Debug SMM relocation code"
695         default n
696         depends on HAVE_SMI_HANDLER
697         help
698           This option enables additional SMM handler relocation related
699           debug messages.
700
701           Note: This option will increase the size of the coreboot image.
702
703           If unsure, say N.
704
705 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
706 # printk(BIOS_DEBUG, ...) calls.
707 config DEBUG_MALLOC
708         prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
709         bool
710         default n
711         help
712           This option enables additional malloc related debug messages.
713
714           Note: This option will increase the size of the coreboot image.
715
716           If unsure, say N.
717
718 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
719 # printk(BIOS_DEBUG, ...) calls.
720 config DEBUG_ACPI
721         prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
722         bool
723         default n
724         help
725           This option enables additional ACPI related debug messages.
726
727           Note: This option will slightly increase the size of the coreboot image.
728
729           If unsure, say N.
730
731 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
732 # printk(BIOS_DEBUG, ...) calls.
733 config REALMODE_DEBUG
734         prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
735         bool
736         default n
737         depends on PCI_OPTION_ROM_RUN_REALMODE
738         help
739           This option enables additional x86emu related debug messages.
740
741           Note: This option will increase the time to emulate a ROM.
742
743           If unsure, say N.
744
745 config X86EMU_DEBUG
746         bool "Output verbose x86emu debug messages"
747         default n
748         depends on PCI_OPTION_ROM_RUN_YABEL
749         help
750           This option enables additional x86emu related debug messages.
751
752           Note: This option will increase the size of the coreboot image.
753
754           If unsure, say N.
755
756 config X86EMU_DEBUG_JMP
757         bool "Trace JMP/RETF"
758         default n
759         depends on X86EMU_DEBUG
760         help
761           Print information about JMP and RETF opcodes from x86emu.
762
763           Note: This option will increase the size of the coreboot image.
764
765           If unsure, say N.
766
767 config X86EMU_DEBUG_TRACE
768         bool "Trace all opcodes"
769         default n
770         depends on X86EMU_DEBUG
771         help
772           Print _all_ opcodes that are executed by x86emu.
773
774           WARNING: This will produce a LOT of output and take a long time.
775
776           Note: This option will increase the size of the coreboot image.
777
778           If unsure, say N.
779
780 config X86EMU_DEBUG_PNP
781         bool "Log Plug&Play accesses"
782         default n
783         depends on X86EMU_DEBUG
784         help
785           Print Plug And Play accesses made by option ROMs.
786
787           Note: This option will increase the size of the coreboot image.
788
789           If unsure, say N.
790
791 config X86EMU_DEBUG_DISK
792         bool "Log Disk I/O"
793         default n
794         depends on X86EMU_DEBUG
795         help
796           Print Disk I/O related messages.
797
798           Note: This option will increase the size of the coreboot image.
799
800           If unsure, say N.
801
802 config X86EMU_DEBUG_PMM
803         bool "Log PMM"
804         default n
805         depends on X86EMU_DEBUG
806         help
807           Print messages related to POST Memory Manager (PMM).
808
809           Note: This option will increase the size of the coreboot image.
810
811           If unsure, say N.
812
813
814 config X86EMU_DEBUG_VBE
815         bool "Debug VESA BIOS Extensions"
816         default n
817         depends on X86EMU_DEBUG
818         help
819           Print messages related to VESA BIOS Extension (VBE) functions.
820
821           Note: This option will increase the size of the coreboot image.
822
823           If unsure, say N.
824
825 config X86EMU_DEBUG_INT10
826         bool "Redirect INT10 output to console"
827         default n
828         depends on X86EMU_DEBUG
829         help
830           Let INT10 (i.e. character output) calls print messages to debug output.
831
832           Note: This option will increase the size of the coreboot image.
833
834           If unsure, say N.
835
836 config X86EMU_DEBUG_INTERRUPTS
837         bool "Log intXX calls"
838         default n
839         depends on X86EMU_DEBUG
840         help
841           Print messages related to interrupt handling.
842
843           Note: This option will increase the size of the coreboot image.
844
845           If unsure, say N.
846
847 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
848         bool "Log special memory accesses"
849         default n
850         depends on X86EMU_DEBUG
851         help
852           Print messages related to accesses to certain areas of the virtual
853           memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
854
855           Note: This option will increase the size of the coreboot image.
856
857           If unsure, say N.
858
859 config X86EMU_DEBUG_MEM
860         bool "Log all memory accesses"
861         default n
862         depends on X86EMU_DEBUG
863         help
864           Print memory accesses made by option ROM.
865           Note: This also includes accesses to fetch instructions.
866
867           Note: This option will increase the size of the coreboot image.
868
869           If unsure, say N.
870
871 config X86EMU_DEBUG_IO
872         bool "Log IO accesses"
873         default n
874         depends on X86EMU_DEBUG
875         help
876           Print I/O accesses made by option ROM.
877
878           Note: This option will increase the size of the coreboot image.
879
880           If unsure, say N.
881
882 config DEBUG_TPM
883         bool "Output verbose TPM debug messages"
884         default n
885         depends on TPM
886         help
887           This option enables additional TPM related debug messages.
888
889 config DEBUG_SPI_FLASH
890         bool "Output verbose SPI flash debug messages"
891         default n
892         depends on SPI_FLASH
893         help
894           This option enables additional SPI flash related debug messages.
895
896 if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
897 # Only visible with the right southbridge and loglevel.
898 config DEBUG_INTEL_ME
899         bool "Verbose logging for Intel Management Engine"
900         default n
901         help
902           Enable verbose logging for Intel Management Engine driver that
903           is present on Intel 6-series chipsets.
904 endif
905
906 config LLSHELL
907         bool "Built-in low-level shell"
908         default n
909         help
910           If enabled, you will have a low level shell to examine your machine.
911           Put llshell() in your (romstage) code to start the shell.
912           See src/arch/x86/llshell/llshell.inc for details.
913
914 config TRACE
915         bool "Trace function calls"
916         default n
917         help
918           If enabled, every function will print information to console once
919           the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
920           the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
921           of calling function. Please note some printk releated functions
922           are omitted from trace to have good looking console dumps.
923
924 config DEBUG_COVERAGE
925         bool "Debug code coverage"
926         default n
927         depends on COVERAGE
928         help
929           If enabled, the code coverage hooks in coreboot will output some
930           information about the coverage data that is dumped.
931
932 endmenu
933
934 # These probably belong somewhere else, but they are needed somewhere.
935 config AP_CODE_IN_CAR
936         bool
937         default n
938
939 config RAMINIT_SYSINFO
940         bool
941         default n
942
943 config ENABLE_APIC_EXT_ID
944         bool
945         default n
946
947 config WARNINGS_ARE_ERRORS
948         bool
949         default y
950
951 # The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
952 # POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
953 # mutually exclusive. One of these options must be selected in the
954 # mainboard Kconfig if the chipset supports enabling and disabling of
955 # the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
956 # in mainboard/Kconfig to know if the button should be enabled or not.
957
958 config POWER_BUTTON_DEFAULT_ENABLE
959         def_bool n
960         help
961           Select when the board has a power button which can optionally be
962           disabled by the user.
963
964 config POWER_BUTTON_DEFAULT_DISABLE
965         def_bool n
966         help
967           Select when the board has a power button which can optionally be
968           enabled by the user, e.g. when the board ships with a jumper over
969           the power switch contacts.
970
971 config POWER_BUTTON_FORCE_ENABLE
972         def_bool n
973         help
974           Select when the board requires that the power button is always
975           enabled.
976
977 config POWER_BUTTON_FORCE_DISABLE
978         def_bool n
979         help
980           Select when the board requires that the power button is always
981           disabled, e.g. when it has been hardwired to ground.
982
983 config POWER_BUTTON_IS_OPTIONAL
984         bool
985         default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
986         default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
987         help
988           Internal option that controls ENABLE_POWER_BUTTON visibility.
989
990 source src/vendorcode/Kconfig