| ## |
| ## This file is part of the coreboot project. |
| ## |
| ## Copyright (C) 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 |
| ## |
| |
| config VGA_BRIDGE_SETUP |
| bool "Setup bridges on path to VGA adapter" |
| default y |
| help |
| Allow bridges to set up legacy decoding ranges for VGA. Don't disable |
| this unless you're sure you don't want the briges setup for VGA. |
| |
| # TODO: Explain differences (if any) for onboard cards. |
| config VGA_ROM_RUN |
| bool "Run VGA option ROMs" |
| default y |
| help |
| Execute VGA option ROMs, if found. This is required to enable |
| PCI/AGP/PCI-E video cards. |
| |
| config PCI_ROM_RUN |
| bool "Run non-VGA option ROMs" |
| default y |
| help |
| Execute non-VGA PCI option ROMs, if found. |
| |
| Examples include IDE/SATA controller option ROMs and option ROMs |
| for network cards (NICs). |
| |
| choice |
| prompt "Option ROM execution type" |
| default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86 |
| default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86 |
| depends on PCI_ROM_RUN || VGA_ROM_RUN |
| |
| config PCI_OPTION_ROM_RUN_REALMODE |
| prompt "Real mode" |
| bool |
| depends on ARCH_X86 |
| help |
| If you select this option, PCI option ROMs will be executed |
| natively on the CPU in real mode. No CPU emulation is involved, |
| so this is the fastest, but also the least secure option. |
| (only works on x86/x64 systems) |
| |
| config PCI_OPTION_ROM_RUN_X86EMU |
| prompt "x86emu" |
| bool |
| help |
| If you select this option, the x86emu CPU emulator will be used to |
| execute PCI option ROMs. |
| When choosing this option, x86emu will pass through all hardware |
| accesses to memory and IO devices to the underlying memory and IO |
| addresses. While this option prevents option ROMs from doing dirty |
| tricks with the CPU (such as installing SMM modules or hypervisors), |
| they can still access all devices in the system. |
| Choosing x86emu, option ROM execution is slower than native execution |
| in real mode, but faster than the full system emulation YABEL |
| This is the default choice for non-x86 systems. |
| |
| config PCI_OPTION_ROM_RUN_YABEL |
| prompt "YABEL" |
| bool |
| help |
| If you select this option, the YABEL system emulator will be used to |
| execute PCI option ROMs. |
| YABEL consists of two parts: It uses x86emu for the CPU emulation and |
| additionally provides a PC system emulation that filters bad device and |
| memory access (such as PCI config space access to other devices than the |
| initialized one). |
| This option best prevents option ROMs from doing dirty tricks with the |
| system (such as installing SMM modules or hypervisors), but it is also |
| significantly slower than the other option ROM initialization methods. |
| |
| endchoice |
| |
| # TODO: Describe better, and/or make a "choice" selection for this. |
| config YABEL_DEBUG_FLAGS |
| prompt "Hex value for YABEL debug flags" |
| hex |
| default 0x0 |
| depends on PCI_OPTION_ROM_RUN_YABEL |
| help |
| See debug.h for values 0 is no debug output, 0x31ff is _verbose_. |
| |
| config CONSOLE_VGA_MULTI |
| bool |
| default n |
| |
| config PCI_64BIT_PREF_MEM |
| bool |
| default n |
| |
| config HYPERTRANSPORT_PLUGIN_SUPPORT |
| bool |
| default n |
| |
| config PCIX_PLUGIN_SUPPORT |
| bool |
| default y |
| |
| config PCIEXP_PLUGIN_SUPPORT |
| bool |
| default y |
| |
| config AGP_PLUGIN_SUPPORT |
| bool |
| default y |
| |
| config CARDBUS_PLUGIN_SUPPORT |
| bool |
| default y |