X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fdevices%2FKconfig;h=516881951907b7c5123490af43fce5f1028a19e3;hb=90dcdd43ee83b12ddd1cdafba7613971cbfa2117;hp=e43458af8fe1b72572828d622da5eb4751a88c1b;hpb=ed03556fbf62c6150a2a9c6eb22e49e638262fbb;p=coreboot.git diff --git a/src/devices/Kconfig b/src/devices/Kconfig index e43458af8..516881951 100644 --- a/src/devices/Kconfig +++ b/src/devices/Kconfig @@ -1,12 +1,12 @@ ## ## This file is part of the coreboot project. ## -## Copyright (C) 2007 coresystems GmbH +## Copyright (C) 2007-2010 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 +## 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 @@ -18,58 +18,125 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -menu "Devices" - 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 + 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 S3_VGA_ROM_RUN + bool "Re-run VGA Option ROMs on S3 resume" + default y + depends on VGA_ROM_RUN && HAVE_ACPI_RESUME help - Execute VGA option ROMs if found. This is required to enable PCI/AGP - VGA plugin cards. + Execute VGA Option ROMs when coming out of an S3 resume. 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). + +config ON_DEVICE_ROM_RUN + bool "Run Option ROMs on PCI devices" + default y help - Execute non-VGA PCI option ROMs if found. + Execute Option ROMs that are stored on PCI/PCIe/AGP devices. + + If disabled, only Option ROMs stored in CBFS will be executed. If + you are concerned about security, you might want to disable this + option, but it might leave your system in a state of degraded + functionality. + + If unsure, say Y choice - prompt "Option ROM Execution" - default PCI_OPTION_ROM_RUN_REALMODE - depends on PCI_ROM_RUN || VGA_ROM_RUN + 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 || GEODE_VSA + +config PCI_OPTION_ROM_RUN_REALMODE + prompt "Native mode" + bool + depends on ARCH_X86 help - You can choose to execute PCI option ROMs natively (32bit x86 system - required) or in an emulator (x86emu or YABEL). + 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_REALMODE - prompt "Real mode" - bool +config PCI_OPTION_ROM_RUN_YABEL + prompt "Secure mode" + bool + depends on !GEODE_VSA + help + If you select this option, the x86emu CPU emulator will be used to + execute PCI Option ROMs. - config PCI_OPTION_ROM_RUN_YABEL - prompt "YABEL" - bool + 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. - config PCI_OPTION_ROM_RUN_X86EMU - prompt "X86EMU" - bool endchoice -config YABEL_DEBUG_FLAGS - prompt "Hex value for debug flags" - hex - default 0x0 +config YABEL_PCI_ACCESS_OTHER_DEVICES + prompt "Allow Option ROMs to access other devices" + bool depends on PCI_OPTION_ROM_RUN_YABEL help - See debug.h for values 0 is no debug output, 0x31ff is _verbose_. + 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. -endmenu +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 CONSOLE_VGA_MULTI +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 MULTIPLE_VGA_ADAPTERS bool default n @@ -79,7 +146,7 @@ config PCI_64BIT_PREF_MEM config HYPERTRANSPORT_PLUGIN_SUPPORT bool - default y + default n config PCIX_PLUGIN_SUPPORT bool @@ -96,3 +163,17 @@ config AGP_PLUGIN_SUPPORT config CARDBUS_PLUGIN_SUPPORT bool default y + +config PCIEXP_COMMON_CLOCK + prompt "Enable PCIe Common Clock" + bool + default n + help + Detect and enable Common Clock on PCIe links. + +config PCIEXP_ASPM + prompt "Enable PCIe ASPM" + bool + default n + help + Detect and enable ASPM on PCIe links.