## ## This file is part of the LinuxBIOS 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 "LinuxBIOS 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 LinuxBIOS 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 LinuxBIOS release" help Append an extra string to the end of the LinuxBIOS version. config BEEPS bool "Enable beeps upon certain LinuxBIOS events" depends EXPERT default n help Enable this option to make LinuxBIOS beep upon certain events. endmenu source mainboard/Kconfig source arch/x86/Kconfig source lib/Kconfig source device/Kconfig # These are used for internal purposes only: # Northbridges: config NORTHBRIDGE_AMD_GEODELX boolean config NORTHBRIDGE_INTEL_I440BXEMULATION boolean # Southbridges: config SOUTHBRIDGE_AMD_CS5536 boolean config SOUTHBRIDGE_INTEL_I82371EB boolean # Super I/Os: config SUPERIO_WINBOND_W83627HF boolean config SUPERIO_FINTEK_F71805F boolean # Source all northbridge/southbridge/superio Kconfig files: source northbridge/intel/i440bxemulation/Kconfig menu "Payload" choice prompt "Payload type" default PAYLOAD_NONE config PAYLOAD_PREPARSE_ELF bool "Pre-parse ELF file and convert ELF segments to LAR entries" depends EXPERT default n help Until now, LinuxBIOS 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. With this option, LinuxBIOS will direct lar to break each ELF segment into a LAR entry. ELF will not be used at all. Note that (for now) LinuxBIOS is backward compatible -- if you put an ELF payload in, LinuxBIOS can still parse it. We hope to remove ELF entirely in the future. config PAYLOAD_ELF bool "An ELF executable payload file" help Select this option if you have a payload image (an ELF file) which LinuxBIOS 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" LinuxBIOS ROM image for a certain mainboard, i.e. a LinuxBIOS 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 || PAYLOAD_PREPARSE_ELF default "payload.elf" help The path and filename of the ELF executable file to use as payload. endmenu