## ## This file is part of the coreboot project. ## ## Copyright (C) 2006 Ronald G. Minnich ## Copyright (C) 2006 Segher Boessenkool ## Copyright (C) 2006-2007 Uwe Hermann ## Copyright (C) 2006-2007 coresystems GmbH ## (Written by Stefan Reinauer for coresystems GmbH) ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; version 2 of the License. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## # # For a description of the syntax of this configuration file, # see http://lxr.linux.no/source/Documentation/kbuild/kconfig-language.txt. # mainmenu "coreboot configuration" menu "General setup" config EXPERIMENTAL bool "Prompt for development and/or incomplete code/mainboards" help Enable this option if you want to test development features or incomplete/unsupported mainboards. We do not make any guarantees about anything that is marked as EXPERIMENTAL! You have been warned! config EXPERT bool "Expert mode" help This allows you to select certain advanced configuration options. It is mainly intended for coreboot developers. Warning: Only enable this option if you really know what you're doing! You have been warned! config LOCALVERSION string "Local version - append to coreboot release" help Append an extra string to the end of the coreboot version. config OPTION_TABLE bool "CMOS Option Table" default y help This option is used to determine whether the mainboard has a battery backed up real time clock with CMOS NVRAM, or if you want to use it. config BEEPS bool "Enable beeps upon certain coreboot events" depends EXPERT default n help Enable this option to make coreboot beep upon certain events. config WHOLE_PROGRAM_COMPILE bool "Enable whole-program optimizations (DANGEROUS)" depends EXPERT && EXPERIMENTAL help Enable 'gcc -fwhole-program -combine' for select code. Needs lots of annotation in stage1 and stage2. Works for initram only. This increases compile time (no parallel compilation possible anymore) and compiler memory usage (up to a factor of 20) and makes debugging really hard. Requires at least gcc 4.2.x, but miscompilations may occur. Say No. If you are a Gentoo user, say NO! endmenu source mainboard/Kconfig source arch/x86/Kconfig source lib/Kconfig source device/Kconfig # These are used for internal purposes only: # Buses: config PCIX_SUPPORT boolean config PCIE_SUPPORT boolean config HYPERTRANSPORT_SUPPORT boolean config AGP_SUPPORT boolean config CARDBUS_SUPPORT boolean # Northbridges: config NORTHBRIDGE_AMD_GEODELX boolean config NORTHBRIDGE_AMD_K8 select HYPERTRANSPORT_SUPPORT boolean config NORTHBRIDGE_INTEL_I440BXEMULATION boolean config NORTHBRIDGE_VIA_CN700 boolean config NORTHBRIDGE_INTEL_I945 boolean # Southbridges: config SOUTHBRIDGE_AMD_CS5536 boolean config SOUTHBRIDGE_INTEL_I82371EB boolean config SOUTHBRIDGE_NVIDIA_CK804 select PCIE_SUPPORT boolean config SOUTHBRIDGE_NVIDIA_MCP55 select PCIE_SUPPORT boolean config SOUTHBRIDGE_AMD_AMD8151 select AGP_SUPPORT boolean config SOUTHBRIDGE_AMD_AMD8132 select PCIX_SUPPORT boolean config SOUTHBRIDGE_AMD_AMD8131 select PCIX_SUPPORT boolean config SOUTHBRIDGE_AMD_AMD8111 boolean config SOUTHBRIDGE_AMD_SB600 boolean config SOUTHBRIDGE_AMD_RS690 boolean config SOUTHBRIDGE_VIA_VT8237 boolean config SOUTHBRIDGE_INTEL_I82801GX boolean # Super I/Os: config SUPERIO_WINBOND_W83627HF boolean config SUPERIO_WINBOND_W83627THG boolean config SUPERIO_FINTEK_F71805F boolean config SUPERIO_ITE_IT8716F boolean config SUPERIO_ITE_IT8712F boolean config SUPERIO_VIA_VT1211 boolean menu "Payload" config PAYLOAD_ELF_LOADER bool "Include ELF payload loader" default n help This option allows an unparsed ELF paylaod to be added and loaded. choice prompt "Payload type" default PAYLOAD_NONE config PAYLOAD_ELF bool "An ELF executable payload file" help Select this option if you have a payload image (an ELF file) which coreboot should run as soon as the basic hardware initialization is completed. You will be able to specify the location and file name of the payload image later. config PAYLOAD_NONE bool "No payload" help Select this option if you want to create an "empty" coreboot ROM image for a certain mainboard, i.e. a coreboot ROM image which does not yet contain a payload. For such an image to be useful, you have to use the 'lar' tool to add a payload to the ROM image later. endchoice config PAYLOAD_FILE string "Payload path and filename" depends PAYLOAD_ELF default "payload.elf" help The path and filename of the ELF executable file to use as payload. config PAYLOAD_NO_PREPARSE_ELF bool "Add ELF without parsing and converting to LAR entries" depends PAYLOAD_ELF && PAYLOAD_ELF_LOADER default n help Until now, coreboot has used ELF for the payload. There are many problems with this, not least being the inefficiency -- the ELF has to be decompressed to memory and then the segments have to be copied. Plus, lar can't see the segments in the ELF -- to see all segments, you have to extract the ELF and run readelf on it. There are problems with collisions of the decompressed ELF location in memory and the segment locations in memory. Finally, validation of the ELF is done at run time, once you have flashed the FLASH and rebooted the machine. Boot time is really not the time you want to find out your ELF payload is broken. Without this option, coreboot will direct lar to break each ELF segment into a LAR entry. ELF will not be used at all. Note that (for now) coreboot is not backward compatible -- if you put an ELF payload in, coreboot can not parse it. We hope to remove ELF entirely in the future. config ZERO_AFTER_PAYLOAD bool "Zero fill lar after adding the payload" depends PAYLOAD_ELF default n help This option speeds booting but makes it so that no further files may be added to the lar. endmenu