2 ## This file is part of the coreboot project.
4 ## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
5 ## Copyright (C) 2009-2010 coresystems GmbH
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.
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.
17 mainmenu "coreboot configuration"
26 string "Local version string"
28 Append an extra string to the end of the coreboot version.
30 This can be useful if, for instance, you want to append the
31 respective board's hostname or some other identifying string to
32 the coreboot version number, so that you can easily distinguish
33 boot logs of different boards from each other.
35 config CONFIGURABLE_CBFS_PREFIX
38 Select this to prompt to use to configure the prefix for cbfs files.
41 string "CBFS prefix to use" if CONFIGURABLE_CBFS_PREFIX
44 Select the prefix to all files put into the image. It's "fallback"
45 by default, "normal" is a common alternative.
48 prompt "Compiler to use"
51 This option allows you to select the compiler used for building
53 You must build the coreboot crosscompiler for the board that you
56 To build all the GCC crosscompilers (takes a LONG time), run:
59 For help on individual architectures, run the command:
65 Use the GNU Compiler Collection (GCC) to build coreboot.
67 For details see http://gcc.gnu.org.
69 config COMPILER_LLVM_CLANG
70 bool "LLVM/clang (TESTING ONLY - Not currently working)"
72 Use LLVM/clang to build coreboot. To use this, you must build the
73 coreboot version of the clang compiler. Run the command
75 Note that this option is not currently working correctly and should
76 really only be selected if you're trying to work on getting clang
79 For details see http://clang.llvm.org.
84 bool "Allow building with any toolchain"
87 Many toolchains break when building coreboot since it uses quite
88 unusual linker features. Unless developers explicitely request it,
89 we'll have to assume that they use their distro compiler by mistake.
90 Make sure that using patched compilers is a conscious decision.
93 bool "Use ccache to speed up (re)compilation"
96 Enables the use of ccache for faster builds.
98 Requires the ccache utility in your system $PATH.
100 For details see https://ccache.samba.org.
103 bool "Generate flashmap descriptor parser using flex and bison"
106 Enable this option if you are working on the flashmap descriptor
107 parser and made changes to fmd_scanner.l or fmd_parser.y.
109 Otherwise, say N to use the provided pregenerated scanner/parser.
111 config UTIL_GENPARSER
112 bool "Generate SCONFIG & BINCFG parser using flex and bison"
115 Enable this option if you are working on the sconfig device tree
116 parser or bincfg and made changes to the .l or .y files.
118 Otherwise, say N to use the provided pregenerated scanner/parser.
120 config USE_OPTION_TABLE
121 bool "Use CMOS for configuration values"
122 depends on HAVE_OPTION_TABLE
124 Enable this option if coreboot shall read options from the "CMOS"
125 NVRAM instead of using hard-coded values.
127 config STATIC_OPTION_TABLE
128 bool "Load default configuration values into CMOS on each boot"
129 depends on USE_OPTION_TABLE
131 Enable this option to reset "CMOS" NVRAM values to default on
132 every boot. Use this if you want the NVRAM configuration to
133 never be modified from its default values.
135 config COMPRESS_RAMSTAGE
136 bool "Compress ramstage with LZMA"
137 depends on HAVE_RAMSTAGE
138 # Default value set at the end of the file
140 Compress ramstage to save memory in the flash image. Note
141 that decompression might slow down booting if the boot flash
142 is connected through a slow link (i.e. SPI).
144 config COMPRESS_PRERAM_STAGES
145 bool "Compress romstage and verstage with LZ4"
146 depends on !ARCH_X86 && (HAVE_ROMSTAGE || HAVE_VERSTAGE)
147 # Default value set at the end of the file
149 Compress romstage and (if it exists) verstage with LZ4 to save flash
150 space and speed up boot, since the time for reading the image from SPI
151 (and in the vboot case verifying it) is usually much greater than the
152 time spent decompressing. Doesn't work for XIP stages (assume all
153 ARCH_X86 for now) for obvious reasons.
155 config COMPRESS_BOOTBLOCK
157 depends on HAVE_BOOTBLOCK
159 This option can be used to compress the bootblock with LZ4 and attach
160 a small self-decompression stub to its front. This can drastically
161 reduce boot time on platforms where the bootblock is loaded over a
162 very slow connection and bootblock size trumps all other factors for
163 speed. Since using this option usually requires changes to the
164 SoC memlayout and possibly extra support code, it should not be
165 user-selectable. (There's no real point in offering this to the user
166 anyway... if it works and saves boot time, you would always want it.)
168 config INCLUDE_CONFIG_FILE
169 bool "Include the coreboot .config file into the ROM image"
170 # Default value set at the end of the file
172 Include the .config file that was used to compile coreboot
173 in the (CBFS) ROM image. This is useful if you want to know which
174 options were used to build a specific coreboot.rom image.
176 Saying Y here will increase the image size by 2-3KB.
178 You can use the following command to easily list the options:
180 grep -a CONFIG_ coreboot.rom
182 Alternatively, you can also use cbfstool to print the image
183 contents (including the raw 'config' item we're looking for).
187 $ cbfstool coreboot.rom print
188 coreboot.rom: 4096 kB, bootblocksize 1008, romsize 4194304,
192 Name Offset Type Size
193 cmos_layout.bin 0x0 cmos layout 1159
194 fallback/romstage 0x4c0 stage 339756
195 fallback/ramstage 0x53440 stage 186664
196 fallback/payload 0x80dc0 payload 51526
197 config 0x8d740 raw 3324
198 (empty) 0x8e480 null 3610440
200 config COLLECT_TIMESTAMPS
201 bool "Create a table of timestamps collected during boot"
202 default y if ARCH_X86
204 Make coreboot create a table of timer-ID/timer-value pairs to
205 allow measuring time spent at different phases of the boot process.
207 config TIMESTAMPS_ON_CONSOLE
208 bool "Print the timestamp values on the console"
210 depends on COLLECT_TIMESTAMPS
212 Print the timestamps to the debug console if enabled at level spew.
215 bool "Allow use of binary-only repository"
217 This draws in the blobs repository, which contains binary files that
218 might be required for some chipsets or boards.
219 This flag ensures that a "Free" option remains available for users.
222 bool "Code coverage support"
223 depends on COMPILER_GCC
225 Add code coverage support for coreboot. This will store code
226 coverage information in CBMEM for extraction from user space.
230 bool "Undefined behavior sanitizer support"
233 Instrument the code with checks for undefined behavior. If unsure,
234 say N because it adds a small performance penalty and may abort
235 on code that happens to work in spite of the UB.
237 config NO_RELOCATABLE_RAMSTAGE
239 default n if ARCH_X86
242 config RELOCATABLE_RAMSTAGE
244 default !NO_RELOCATABLE_RAMSTAGE
245 select RELOCATABLE_MODULES
247 The reloctable ramstage support allows for the ramstage to be built
248 as a relocatable module. The stage loader can identify a place
249 out of the OS way so that copying memory is unnecessary during an S3
250 wake. When selecting this option the romstage is responsible for
251 determing a stack location to use for loading the ramstage.
253 config TSEG_STAGE_CACHE
256 depends on !NO_STAGE_CACHE && SMM_TSEG
258 The option enables stage cache support for platform. Platform
259 can stash copies of postcar, ramstage and raw runtime data
260 inside SMM TSEG, to be restored on S3 resume path.
262 config CBMEM_STAGE_CACHE
263 bool "Cache stages in CBMEM"
264 depends on !NO_STAGE_CACHE && !TSEG_STAGE_CACHE
266 The option enables stage cache support for platform. Platform
267 can stash copies of postcar, ramstage and raw runtime data
270 While the approach is faster than reloading stages from boot media
271 it is also a possible attack scenario via which OS can possibly
272 circumvent SMM locks and SPI write protections.
274 If unsure, select 'N'
277 bool "Update existing coreboot.rom image"
279 If this option is enabled, no new coreboot.rom file
280 is created. Instead it is expected that there already
281 is a suitable file for further processing.
282 The bootblock will not be modified.
284 If unsure, select 'N'
286 config BOOTSPLASH_IMAGE
287 bool "Add a bootsplash image"
289 Select this option if you have a bootsplash image that you would
290 like to add to your ROM.
292 This will only add the image to the ROM. To actually run it check
293 options under 'Display' section.
295 config BOOTSPLASH_FILE
296 string "Bootsplash path and filename"
297 depends on BOOTSPLASH_IMAGE
298 # Default value set at the end of the file
300 The path and filename of the file to use as graphical bootsplash
301 screen. The file format has to be jpg.
303 config HAVE_RAMPAYLOAD
307 bool "Enable coreboot flow without executing ramstage"
308 default y if ARCH_X86
309 depends on HAVE_RAMPAYLOAD
311 If this option is enabled, coreboot flow will skip ramstage
312 loading and execution of ramstage to load payload.
314 Instead it is expected to load payload from postcar stage itself.
316 In this flow coreboot will perform basic x86 initialization
317 (DRAM resource allocation), MTRR programming,
318 Skip PCI enumeration logic and only allocate BAR for fixed devices
319 (bootable devices, TPM over GSPI).
325 source "src/mainboard/Kconfig"
329 default "devicetree.cb"
331 This symbol allows mainboards to select a different file under their
332 mainboard directory for the devicetree.cb file. This allows the board
333 variants that need different devicetrees to be in the same directory.
335 Examples: "devicetree.variant.cb"
336 "variant/devicetree.cb"
338 config OVERRIDE_DEVICETREE
342 This symbol allows variants to provide an override devicetree file to
343 override the registers and/or add new devices on top of the ones
344 provided by baseboard devicetree using CONFIG_DEVICETREE.
346 Examples: "devicetree.variant-override.cb"
347 "variant/devicetree-override.cb"
350 string "fmap description file in fmd format"
351 default "src/mainboard/$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
354 The build system creates a default FMAP from ROM_SIZE and CBFS_SIZE,
355 but in some cases more complex setups are required.
356 When an fmd is specified, it overrides the default format.
359 hex "Size of CBFS filesystem in ROM"
360 depends on FMDFILE = ""
361 # Default value set at the end of the file
363 This is the part of the ROM actually managed by CBFS, located at the
364 end of the ROM (passed through cbfstool -o) on x86 and at at the start
365 of the ROM (passed through cbfstool -s) everywhere else. It defaults
366 to span the whole ROM on all but Intel systems that use an Intel Firmware
367 Descriptor. It can be overridden to make coreboot live alongside other
368 components like ChromeOS's vboot/FMAP or Intel's IFD / ME / TXE
369 binaries. This symbol should only be used to generate a default FMAP and
370 is unused when a non-default fmd file is provided via CONFIG_FMDFILE.
374 # load site-local kconfig to allow user specific defaults and overrides
375 source "site-local/Kconfig"
377 config SYSTEM_TYPE_LAPTOP
381 config SYSTEM_TYPE_TABLET
385 config SYSTEM_TYPE_DETACHABLE
389 config SYSTEM_TYPE_CONVERTIBLE
393 config CBFS_AUTOGEN_ATTRIBUTES
397 If this option is selected, every file in cbfs which has a constraint
398 regarding position or alignment will get an additional file attribute
399 which describes this constraint.
404 source "src/soc/*/Kconfig"
406 source "src/cpu/Kconfig"
407 comment "Northbridge"
408 source "src/northbridge/*/*/Kconfig"
409 comment "Southbridge"
410 source "src/southbridge/*/*/Kconfig"
412 source "src/superio/*/*/Kconfig"
413 comment "Embedded Controllers"
414 source "src/ec/acpi/Kconfig"
415 source "src/ec/*/*/Kconfig"
417 source "src/southbridge/intel/common/firmware/Kconfig"
418 source "src/vendorcode/*/Kconfig"
420 source "src/arch/*/Kconfig"
424 source "src/device/Kconfig"
426 menu "Generic Drivers"
427 source "src/drivers/*/Kconfig"
428 source "src/drivers/*/*/Kconfig"
429 source "src/commonlib/storage/Kconfig"
434 source "src/security/Kconfig"
438 source "src/acpi/Kconfig"
440 # This option is for the current boards/chipsets where SPI flash
441 # is not the boot device. Currently nearly all boards/chipsets assume
442 # SPI flash is the boot device.
443 config BOOT_DEVICE_NOT_SPI_FLASH
447 config BOOT_DEVICE_SPI_FLASH
449 default y if !BOOT_DEVICE_NOT_SPI_FLASH
452 config BOOT_DEVICE_MEMORY_MAPPED
454 default y if ARCH_X86 && BOOT_DEVICE_SPI_FLASH
457 Inform system if SPI is memory-mapped or not.
459 config BOOT_DEVICE_SUPPORTS_WRITES
463 Indicate that the platform has writable boot device
472 default 0x100000 if FLATTENED_DEVICE_TREE
477 default 0x1000 if ARCH_X86
484 source "src/console/Kconfig"
486 config HAVE_ACPI_RESUME
489 depends on RELOCATABLE_RAMSTAGE
491 config RESUME_PATH_SAME_AS_BOOT
493 default y if ARCH_X86
494 depends on HAVE_ACPI_RESUME
496 This option indicates that when a system resumes it takes the
497 same path as a regular boot. e.g. an x86 system runs from the
498 reset vector at 0xfffffff0 on both resume and warm/cold boot.
500 config HAVE_ROMSTAGE_CONSOLE_SPINLOCK
504 config HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK
508 This should be enabled on certain plaforms, such as the AMD
509 SR565x, that cannot handle concurrent CBFS accesses from
510 multiple APs during early startup.
512 config HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK
516 config NO_MONOTONIC_TIMER
519 config HAVE_MONOTONIC_TIMER
521 depends on !NO_MONOTONIC_TIMER
524 The board/chipset provides a monotonic timer.
526 config GENERIC_UDELAY
528 depends on HAVE_MONOTONIC_TIMER
529 default y if !ARCH_X86
531 The board/chipset uses a generic udelay function utilizing the
536 depends on HAVE_MONOTONIC_TIMER
538 Provide a timer queue for performing time-based callbacks.
540 config COOP_MULTITASKING
542 depends on TIMER_QUEUE && ARCH_X86
544 Cooperative multitasking allows callbacks to be multiplexed on the
545 main thread of ramstage. With this enabled it allows for multiple
546 execution paths to take place when they have udelay() calls within
552 depends on COOP_MULTITASKING
554 How many execution threads to cooperatively multitask with.
556 config HAVE_OPTION_TABLE
560 This variable specifies whether a given board has a cmos.layout
561 file containing NVRAM/CMOS bit definitions.
562 It defaults to 'n' but can be selected in mainboard/*/Kconfig.
564 config PCI_IO_CFG_EXT
572 config USE_WATCHDOG_ON_BOOT
580 Enable Unified Memory Architecture for graphics.
582 config HAVE_ACPI_TABLES
585 This variable specifies whether a given board has ACPI table support.
586 It is usually set in mainboard/*/Kconfig.
591 This variable specifies whether a given board has MP table support.
592 It is usually set in mainboard/*/Kconfig.
593 Whether or not the MP table is actually generated by coreboot
594 is configurable by the user via GENERATE_MP_TABLE.
596 config HAVE_PIRQ_TABLE
599 This variable specifies whether a given board has PIRQ table support.
600 It is usually set in mainboard/*/Kconfig.
601 Whether or not the PIRQ table is actually generated by coreboot
602 is configurable by the user via GENERATE_PIRQ_TABLE.
612 Build support for NHLT (non HD Audio) ACPI table generation.
616 depends on HAVE_ACPI_TABLES
618 Build an ACPI Boot Error Record Table.
620 #These Options are here to avoid "undefined" warnings.
621 #The actual selection and help texts are in the following menu.
625 config GENERATE_MP_TABLE
626 prompt "Generate an MP table" if HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
628 default HAVE_MP_TABLE || DRIVERS_GENERIC_IOAPIC
630 Generate an MP table (conforming to the Intel MultiProcessor
631 specification 1.4) for this board.
635 config GENERATE_PIRQ_TABLE
636 prompt "Generate a PIRQ table" if HAVE_PIRQ_TABLE
638 default HAVE_PIRQ_TABLE
640 Generate a PIRQ table for this board.
644 config GENERATE_SMBIOS_TABLES
646 bool "Generate SMBIOS tables"
649 Generate SMBIOS tables for this board.
653 config SMBIOS_PROVIDED_BY_MOBO
657 config MAINBOARD_SERIAL_NUMBER
658 prompt "SMBIOS Serial Number" if !SMBIOS_PROVIDED_BY_MOBO
660 depends on GENERATE_SMBIOS_TABLES
663 The Serial Number to store in SMBIOS structures.
665 config MAINBOARD_VERSION
666 prompt "SMBIOS Version Number" if !SMBIOS_PROVIDED_BY_MOBO
668 depends on GENERATE_SMBIOS_TABLES
671 The Version Number to store in SMBIOS structures.
673 config MAINBOARD_SMBIOS_MANUFACTURER
674 prompt "SMBIOS Manufacturer" if !SMBIOS_PROVIDED_BY_MOBO
676 depends on GENERATE_SMBIOS_TABLES
677 default MAINBOARD_VENDOR
679 Override the default Manufacturer stored in SMBIOS structures.
681 config MAINBOARD_SMBIOS_PRODUCT_NAME
682 prompt "SMBIOS Product name" if !SMBIOS_PROVIDED_BY_MOBO
684 depends on GENERATE_SMBIOS_TABLES
685 default MAINBOARD_PART_NUMBER
687 Override the default Product name stored in SMBIOS structures.
689 config SMBIOS_ENCLOSURE_TYPE
691 depends on GENERATE_SMBIOS_TABLES
692 default 0x09 if SYSTEM_TYPE_LAPTOP
693 default 0x1e if SYSTEM_TYPE_TABLET
694 default 0x1f if SYSTEM_TYPE_CONVERTIBLE
695 default 0x20 if SYSTEM_TYPE_DETACHABLE
698 System Enclosure or Chassis Types as defined in SMBIOS specification.
699 The default value is SMBIOS_ENCLOSURE_DESKTOP (0x03) but laptop,
700 convertible, or tablet enclosure will be used if the appropriate
701 system type is selected.
705 source "payloads/Kconfig"
709 comment "CPU Debug Settings"
710 source "src/cpu/*/Kconfig.debug"
712 comment "General Debug Settings"
714 # TODO: Better help text and detailed instructions.
716 bool "GDB debugging support"
718 depends on CONSOLE_SERIAL
720 If enabled, you will be able to set breakpoints for gdb debugging.
721 See src/arch/x86/lib/c_start.S for details.
724 bool "Wait for a GDB connection in the ramstage"
728 If enabled, coreboot will wait for a GDB connection in the ramstage.
732 bool "Halt when hitting a BUG() or assertion error"
735 If enabled, coreboot will call hlt() on a BUG() or failed ASSERT().
737 config HAVE_DEBUG_GPIO
741 bool "Output verbose GPIO debug messages"
742 depends on HAVE_DEBUG_GPIO
745 bool "Output verbose CBFS debug messages"
748 This option enables additional CBFS related debug messages.
750 config HAVE_DEBUG_RAM_SETUP
753 config DEBUG_RAM_SETUP
754 bool "Output verbose RAM init debug messages"
756 depends on HAVE_DEBUG_RAM_SETUP
758 This option enables additional RAM init related debug messages.
759 It is recommended to enable this when debugging issues on your
760 board which might be RAM init related.
762 Note: This option will increase the size of the coreboot image.
767 bool "Check PIRQ table consistency"
769 depends on GENERATE_PIRQ_TABLE
773 config HAVE_DEBUG_SMBUS
777 bool "Output verbose SMBus debug messages"
779 depends on HAVE_DEBUG_SMBUS
781 This option enables additional SMBus (and SPD) debug messages.
783 Note: This option will increase the size of the coreboot image.
788 bool "Output verbose SMI debug messages"
790 depends on HAVE_SMI_HANDLER
791 select SPI_FLASH_SMM if SPI_CONSOLE || CONSOLE_SPI_FLASH
793 This option enables additional SMI related debug messages.
795 Note: This option will increase the size of the coreboot image.
799 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
800 # printk(BIOS_DEBUG, ...) calls.
802 prompt "Output verbose malloc debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
806 This option enables additional malloc related debug messages.
808 Note: This option will increase the size of the coreboot image.
812 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
813 # printk(BIOS_DEBUG, ...) calls.
815 prompt "Output verbose ACPI debug messages" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
819 This option enables additional ACPI related debug messages.
821 Note: This option will slightly increase the size of the coreboot image.
825 config DEBUG_CONSOLE_INIT
826 bool "Debug console initialisation code"
829 With this option printk()'s are attempted before console hardware
830 initialisation has been completed. Your mileage may vary.
832 Typically you will need to modify source in console_hw_init() such
833 that a working console appears before the one you want to debug.
837 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
838 # printk(BIOS_DEBUG, ...) calls.
839 config REALMODE_DEBUG
840 prompt "Enable debug messages for option ROM execution" if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
843 depends on PCI_OPTION_ROM_RUN_REALMODE
845 This option enables additional x86emu related debug messages.
847 Note: This option will increase the time to emulate a ROM.
852 bool "Output verbose x86emu debug messages"
854 depends on PCI_OPTION_ROM_RUN_YABEL
856 This option enables additional x86emu related debug messages.
858 Note: This option will increase the size of the coreboot image.
862 config X86EMU_DEBUG_JMP
863 bool "Trace JMP/RETF"
865 depends on X86EMU_DEBUG
867 Print information about JMP and RETF opcodes from x86emu.
869 Note: This option will increase the size of the coreboot image.
873 config X86EMU_DEBUG_TRACE
874 bool "Trace all opcodes"
876 depends on X86EMU_DEBUG
878 Print _all_ opcodes that are executed by x86emu.
880 WARNING: This will produce a LOT of output and take a long time.
882 Note: This option will increase the size of the coreboot image.
886 config X86EMU_DEBUG_PNP
887 bool "Log Plug&Play accesses"
889 depends on X86EMU_DEBUG
891 Print Plug And Play accesses made by option ROMs.
893 Note: This option will increase the size of the coreboot image.
897 config X86EMU_DEBUG_DISK
900 depends on X86EMU_DEBUG
902 Print Disk I/O related messages.
904 Note: This option will increase the size of the coreboot image.
908 config X86EMU_DEBUG_PMM
911 depends on X86EMU_DEBUG
913 Print messages related to POST Memory Manager (PMM).
915 Note: This option will increase the size of the coreboot image.
920 config X86EMU_DEBUG_VBE
921 bool "Debug VESA BIOS Extensions"
923 depends on X86EMU_DEBUG
925 Print messages related to VESA BIOS Extension (VBE) functions.
927 Note: This option will increase the size of the coreboot image.
931 config X86EMU_DEBUG_INT10
932 bool "Redirect INT10 output to console"
934 depends on X86EMU_DEBUG
936 Let INT10 (i.e. character output) calls print messages to debug output.
938 Note: This option will increase the size of the coreboot image.
942 config X86EMU_DEBUG_INTERRUPTS
943 bool "Log intXX calls"
945 depends on X86EMU_DEBUG
947 Print messages related to interrupt handling.
949 Note: This option will increase the size of the coreboot image.
953 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
954 bool "Log special memory accesses"
956 depends on X86EMU_DEBUG
958 Print messages related to accesses to certain areas of the virtual
959 memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
961 Note: This option will increase the size of the coreboot image.
965 config X86EMU_DEBUG_MEM
966 bool "Log all memory accesses"
968 depends on X86EMU_DEBUG
970 Print memory accesses made by option ROM.
971 Note: This also includes accesses to fetch instructions.
973 Note: This option will increase the size of the coreboot image.
977 config X86EMU_DEBUG_IO
978 bool "Log IO accesses"
980 depends on X86EMU_DEBUG
982 Print I/O accesses made by option ROM.
984 Note: This option will increase the size of the coreboot image.
988 config X86EMU_DEBUG_TIMINGS
989 bool "Output timing information"
991 depends on X86EMU_DEBUG && HAVE_MONOTONIC_TIMER
993 Print timing information needed by i915tool.
997 config DEBUG_SPI_FLASH
998 bool "Output verbose SPI flash debug messages"
1000 depends on SPI_FLASH
1002 This option enables additional SPI flash related debug messages.
1004 if SOUTHBRIDGE_INTEL_BD82X6X && DEFAULT_CONSOLE_LOGLEVEL_8
1005 # Only visible with the right southbridge and loglevel.
1006 config DEBUG_INTEL_ME
1007 bool "Verbose logging for Intel Management Engine"
1010 Enable verbose logging for Intel Management Engine driver that
1011 is present on Intel 6-series chipsets.
1015 bool "Trace function calls"
1018 If enabled, every function will print information to console once
1019 the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
1020 the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
1021 of calling function. Please note some printk related functions
1022 are omitted from trace to have good looking console dumps.
1024 config DEBUG_COVERAGE
1025 bool "Debug code coverage"
1029 If enabled, the code coverage hooks in coreboot will output some
1030 information about the coverage data that is dumped.
1032 config DEBUG_BOOT_STATE
1033 bool "Debug boot state machine"
1036 Control debugging of the boot state machine. When selected displays
1037 the state boundaries in ramstage.
1039 config DEBUG_ADA_CODE
1040 bool "Compile debug code in Ada sources"
1043 Add the compiler switch `-gnata` to compile code guarded by
1046 config HAVE_EM100_SUPPORT
1047 bool "Platform can support the Dediprog EM100 SPI emulator"
1049 This is enabled by platforms which can support using the EM100.
1052 bool "Configure image for EM100 usage"
1053 depends on HAVE_EM100_SUPPORT
1055 The Dediprog EM100 SPI emulator allows fast loading of new SPI images
1056 over USB. However it only supports a maximum SPI clock of 20MHz and
1057 single data output. Enable this option to use a 20MHz SPI clock and
1058 disable "Dual Output Fast Read" Support.
1060 On AMD platforms this changes the SPI speed at run-time if the
1061 mainboard code supports this. On supported Intel platforms this works
1062 by changing the settings in the descriptor.bin file.
1067 ###############################################################################
1068 # Set variables with no prompt - these can be set anywhere, and putting at
1069 # the end of this file gives the most flexibility.
1071 source "src/lib/Kconfig"
1073 config ENABLE_APIC_EXT_ID
1077 config WARNINGS_ARE_ERRORS
1081 # The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
1082 # POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
1083 # mutually exclusive. One of these options must be selected in the
1084 # mainboard Kconfig if the chipset supports enabling and disabling of
1085 # the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
1086 # in mainboard/Kconfig to know if the button should be enabled or not.
1088 config POWER_BUTTON_DEFAULT_ENABLE
1091 Select when the board has a power button which can optionally be
1092 disabled by the user.
1094 config POWER_BUTTON_DEFAULT_DISABLE
1097 Select when the board has a power button which can optionally be
1098 enabled by the user, e.g. when the board ships with a jumper over
1099 the power switch contacts.
1101 config POWER_BUTTON_FORCE_ENABLE
1104 Select when the board requires that the power button is always
1107 config POWER_BUTTON_FORCE_DISABLE
1110 Select when the board requires that the power button is always
1111 disabled, e.g. when it has been hardwired to ground.
1113 config POWER_BUTTON_IS_OPTIONAL
1115 default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
1116 default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
1118 Internal option that controls ENABLE_POWER_BUTTON visibility.
1124 Internal option that controls whether we compile in register scripts.
1126 config MAX_REBOOT_CNT
1130 Internal option that sets the maximum number of bootblock executions allowed
1131 with the normal image enabled before assuming the normal image is defective
1132 and switching to the fallback image.
1134 config UNCOMPRESSED_RAMSTAGE
1137 config NO_XIP_EARLY_STAGES
1139 default n if ARCH_X86
1142 Identify if early stages are eXecute-In-Place(XIP).
1144 config EARLY_CBMEM_LIST
1148 Enable display of CBMEM during romstage and postcar.
1150 config RELOCATABLE_MODULES
1153 If RELOCATABLE_MODULES is selected then support is enabled for
1154 building relocatable modules in the RAM stage. Those modules can be
1155 loaded anywhere and all the relocations are handled automatically.
1157 config NO_STAGE_CACHE
1159 default y if !HAVE_ACPI_RESUME || !RELOCATABLE_RAMSTAGE
1161 Do not save any component in stage cache for resume path. On resume,
1162 all components would be read back from CBFS again.
1164 config GENERIC_GPIO_LIB
1167 If enabled, compile the generic GPIO library. A "generic" GPIO
1168 implies configurability usually found on SoCs, particularly the
1169 ability to control internal pull resistors.
1171 config BOOTBLOCK_CUSTOM
1172 # To be selected by arch, SoC or mainboard if it does not want use the normal
1173 # src/lib/bootblock.c#main() C entry point.
1176 config C_ENVIRONMENT_BOOTBLOCK
1177 # To be selected by arch or platform if a C environment is available during the
1178 # bootblock. Normally this signifies availability of RW memory (e.g. SRAM).
1181 ###############################################################################
1182 # Set default values for symbols created before mainboards. This allows the
1183 # option to be displayed in the general menu, but the default to be loaded in
1184 # the mainboard if desired.
1185 config COMPRESS_RAMSTAGE
1186 default y if !UNCOMPRESSED_RAMSTAGE
1188 config COMPRESS_PRERAM_STAGES
1189 depends on !ARCH_X86
1192 config INCLUDE_CONFIG_FILE
1195 config BOOTSPLASH_FILE
1196 depends on BOOTSPLASH_IMAGE
1197 default "bootsplash.jpg"
1202 config HAVE_BOOTBLOCK
1206 config HAVE_VERSTAGE
1208 depends on VBOOT_SEPARATE_VERSTAGE
1211 config HAVE_ROMSTAGE
1217 depends on POSTCAR_STAGE
1220 config HAVE_RAMSTAGE
1222 default n if RAMPAYLOAD