## ## This file is part of the coreboot project. ## ## Copyright (C) 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 ## menu "Devices" config PCI_OPTION_ROM_RUN bool help Execute PCI/AGP option ROMs if available. This is required to enable PCI/AGP VGA plugin cards. This option is not exposed to the user but set by the options PCI_OPTION_ROM_RUN_VM86 , PCI_OPTION_ROM_RUN_X86EMU and PCI_OPTION_ROM_RUN_YABEL. choice prompt "Execute PCI Option ROMs" default PCI_OPTION_ROM_RUN_VM86 help Execute PCI/AGP option ROMs if available. You can choose to execute PCI option ROMs natively (32bit x86 system required), in an emulator (x86emu), or ignore option ROM execution. config PCI_OPTION_ROM_RUN_X86EMU bool "x86emu" select PCI_OPTION_ROM_RUN help If you choose this option, the x86 instruction set emulator x86emu is used to execute 16bit legacy BIOS option ROMs. x86emu is slow, big and safe. All 16bit x86 code is executed in an encapsulated environment where it can not break out. config PCI_OPTION_ROM_RUN_YABEL bool "YABEL" select PCI_OPTION_ROM_RUN help YABEL: Yet another BIOS Emulation Layer If you choose this option, the x86 instruction set emulator x86emu is used to execute 16bit legacy BIOS option ROMs just like the "x86emu" choice. The BIOS Emulation code is very different from the "x86emu" choice however, it is a more complete legacy BIOS implementation and should be able to execute more Option ROMs than the "x86emu" choice YABEL is even slower and bigger than x86emu and just as safe. All 16bit x86 code is executed in an encapsulated environment where it can not break out. config PCI_OPTION_ROM_RUN_VM86 bool "vm86" select PCI_OPTION_ROM_RUN depends ARCH_X86 help If you choose this option, the virtual x86 mode "vm86" is used to execute 16bit legacy BIOS option ROMs. vm86 is very small, fast, and probably a little less safe than x86emu, since it runs option ROMs on the real hardware instead of an emulator. config PCI_OPTION_ROM_RUN_NONE bool "Disabled" help Do not execute PCI option ROMs at all. If you choose this option, VGA plugin cards will not be initialized. endchoice config YABEL_ADVANCED_SETTINGS depends EXPERT && PCI_OPTION_ROM_RUN_YABEL bool "Enable advanced YABEL Settings" default n help Set this to enable advanced YABEL settings menu "Advanced YABEL Settings" depends YABEL_ADVANCED_SETTINGS config YABEL_VIRTMEM_LOCATION hex "YABEL Virtual Memory Location" help Set the location that YABEL uses for "virtual" memory. YABEL uses its own memory where INT handlers, BIOS Config Area and Option ROM code is copied to. This is needed to keep YABEL in its own environment. This memory area will be overwritten by YABEL, so no necessary data for coreboot must reside here. If YABEL_ADVANCED_SETTINGS is not enabled, the code defaults to 0x1000000 (16 MB). config YABEL_DEBUG_FLAGS hex "YABEL Debug Flags" default 0 help Set YABEL debug flags, for possible values, see util/x86emu/yabel/debug.h config YABEL_PCI_ACCESS_OTHER_DEVICES bool "Allow PCI Config Access to other devices" default n help Allow Option ROMs executed by YABEL to access the config space of devices other than the one YABEL is running for. This may be needed by some onboard Graphics cards ROMs. endmenu # TODO: This should probably become a CMOS option. config MULTIPLE_VGA_INIT bool "Initialize all VGA cards" depends PCI_OPTION_ROM_RUN help If you enable this option, all VGA cards will be initialized. If you disable this option, only the first VGA card will be initialized. config INITIALIZE_ONBOARD_VGA_FIRST bool "Initialize onboard VGA first" depends PCI_OPTION_ROM_RUN help Initialize onboard VGA chips before any plugin VGA cards are initialized. menu "Remove Bus Support (for size reasons)" depends EXPERT config NO_PCIX_SUPPORT bool "Remove support for PCI-X." default false help Don't compile in the drivers for cards that provide PCI-X. config NO_PCIE_SUPPORT bool "Remove support for PCI-Express." default false help Don't compile in the drivers for cards that provide PCI-e. config NO_AGP_SUPPORT bool "Remove support for AGP." default false help Don't compile in the drivers for cards that provide AGP. config NO_CARDBUS_SUPPORT bool "Remove support for CardBus." default false help Don't compile in the drivers for cards that provide CardBus. endmenu endmenu #Devices menu "Power management" config SUSPEND_TO_RAM bool "Suspend-to-RAM (S3)" depends EXPERIMENTAL && BROKEN help Enable support for Suspend-to-RAM (S3) functionality. config PCI_64BIT_PREF_MEM bool "64 bit prefetchable memory addresses" depends CPU_AMD_K8 help Enable support for 64-bit prefetchable memory addresses in PCI. config HW_MEM_HOLE_SIZEK hex "HW memory hole size in KB" depends CPU_AMD_K8 default 0x1000 help Some chipsets support setting up a "hole" at the top of memory. It is essentially a hole torn in the physical address space so that you can fit non-memory resources (e.g. flash) at the top of the 4G address space. Given that this only happens on machines with lots of memory, the default 4 MB is a very reasonable value. endmenu