mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
It requires a flag (CONFIG_SCAN_BUILD) to be set, and then $ scan-build make Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1146 f3766cd6-281f-0410-b1cd-43a5c92072e9
247 lines
6.7 KiB
Text
247 lines
6.7 KiB
Text
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## Copyright (C) 2006 Ronald G. Minnich <rminnich@gmail.com>
|
|
## Copyright (C) 2006 Segher Boessenkool <segher@kernel.crashing.org>
|
|
## Copyright (C) 2006-2007 Uwe Hermann <uwe@hermann-uwe.de>
|
|
## Copyright (C) 2006-2007 coresystems GmbH
|
|
## (Written by Stefan Reinauer <stepan@coresystems.de> 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!
|
|
|
|
config SCAN_BUILD
|
|
bool "Use clang's scan-build utility for static analysis"
|
|
depends EXPERT && EXPERIMENTAL && !WHOLE_PROGRAM_COMPILE
|
|
default n
|
|
help
|
|
Change the compiler configuration so that a 'scan-build make'
|
|
has a chance to succeed.
|
|
|
|
endmenu
|
|
|
|
source mainboard/Kconfig
|
|
source arch/x86/Kconfig
|
|
source lib/Kconfig
|
|
source device/Kconfig
|
|
|
|
# These are used for internal purposes only:
|
|
|
|
# Buses:
|
|
config NO_PCIX_SUPPORT
|
|
boolean
|
|
config NO_PCIE_SUPPORT
|
|
boolean
|
|
config HYPERTRANSPORT_SUPPORT
|
|
boolean
|
|
config NO_AGP_SUPPORT
|
|
boolean
|
|
config NO_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
|
|
boolean
|
|
config SOUTHBRIDGE_NVIDIA_MCP55
|
|
boolean
|
|
config SOUTHBRIDGE_AMD_AMD8151
|
|
boolean
|
|
config SOUTHBRIDGE_AMD_AMD8132
|
|
boolean
|
|
config SOUTHBRIDGE_AMD_AMD8131
|
|
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
|
|
|
|
# Other devices that may be optional for a board:
|
|
config DEVICE_AMD_CS5536_NAND
|
|
select SOUTHBRIDGE_AMD_CS5536
|
|
boolean
|
|
|
|
menu "Payload"
|
|
|
|
config PAYLOAD_ELF_LOADER
|
|
bool "Include ELF payload loader"
|
|
default n
|
|
help
|
|
This option allows an unparsed ELF payload 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
|
|
|