| ## |
| ## This file is part of the coreboot project. |
| ## |
| ## Copyright (C) 2007-2010 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 "Native 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_YABEL |
| prompt "Secure mode" |
| bool |
| help |
| If you select this option, the x86emu CPU emulator will be used to |
| execute PCI option ROMs. |
| |
| This option 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 native option ROM initialization |
| method. |
| |
| This is the default choice for non-x86 systems. |
| |
| endchoice |
| |
| config YABEL_PCI_ACCESS_OTHER_DEVICES |
| prompt "Allow option ROMs to access other devices" |
| bool |
| depends on PCI_OPTION_ROM_RUN_YABEL |
| help |
| Per default, YABEL only allows option ROMs to access the PCI device |
| that they are associated with. However, this causes trouble for some |
| onboard graphics chips whose option ROM needs to reconfigure the |
| north bridge. |
| |
| config YABEL_VIRTMEM_LOCATION |
| prompt "Location of YABEL's virtual memory" |
| hex |
| depends on PCI_OPTION_ROM_RUN_YABEL && EXPERT |
| default 0x1000000 |
| help |
| YABEL requires 1MB memory for its CPU emulation. This memory is |
| normally located at 16MB. |
| |
| config YABEL_VIRTMEM_LOCATION |
| hex |
| depends on PCI_OPTION_ROM_RUN_YABEL && !EXPERT |
| default 0x1000000 |
| |
| config YABEL_DIRECTHW |
| prompt "Direct hardware access" |
| bool |
| depends on PCI_OPTION_ROM_RUN_YABEL |
| help |
| 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). |
| |
| When choosing this option, x86emu will pass through all hardware |
| accesses to memory and I/O devices to the underlying memory and I/O |
| 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. |
| Enable this option for a good compromise between security and speed. |
| |
| 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 |