blob: 151492d6c8c9a3db065f43e91c923386ba68788b [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001##
2## This file is part of the coreboot project.
3##
Stefan Reinauerd650e992010-02-22 04:33:13 +00004## Copyright (C) 2007-2010 coresystems GmbH
Patrick Georgi0588d192009-08-12 15:00:51 +00005## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
6##
7## This program is free software; you can redistribute it and/or modify
8## it under the terms of the GNU General Public License as published by
Uwe Hermannc70e9fc2010-02-15 23:10:19 +00009## the Free Software Foundation; version 2 of the License.
Patrick Georgi0588d192009-08-12 15:00:51 +000010##
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14## GNU General Public License for more details.
15##
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, write to the Free Software
18## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19##
20
Myles Watson28412f52009-09-17 16:54:46 +000021config VGA_BRIDGE_SETUP
22 bool "Setup bridges on path to VGA adapter"
23 default y
24 help
Uwe Hermann168b11b2009-10-07 16:15:40 +000025 Allow bridges to set up legacy decoding ranges for VGA. Don't disable
Myles Watson28412f52009-09-17 16:54:46 +000026 this unless you're sure you don't want the briges setup for VGA.
27
Uwe Hermann168b11b2009-10-07 16:15:40 +000028# TODO: Explain differences (if any) for onboard cards.
Patrick Georgi0588d192009-08-12 15:00:51 +000029config VGA_ROM_RUN
Uwe Hermann168b11b2009-10-07 16:15:40 +000030 bool "Run VGA option ROMs"
31 default y
Patrick Georgi0588d192009-08-12 15:00:51 +000032 help
Uwe Hermann168b11b2009-10-07 16:15:40 +000033 Execute VGA option ROMs, if found. This is required to enable
34 PCI/AGP/PCI-E video cards.
Myles Watsone6804952009-08-28 14:36:12 +000035
36config PCI_ROM_RUN
Uwe Hermann168b11b2009-10-07 16:15:40 +000037 bool "Run non-VGA option ROMs"
38 default y
Myles Watsone6804952009-08-28 14:36:12 +000039 help
Uwe Hermann168b11b2009-10-07 16:15:40 +000040 Execute non-VGA PCI option ROMs, if found.
Patrick Georgi0588d192009-08-12 15:00:51 +000041
Uwe Hermann168b11b2009-10-07 16:15:40 +000042 Examples include IDE/SATA controller option ROMs and option ROMs
43 for network cards (NICs).
44
Patrick Georgi0588d192009-08-12 15:00:51 +000045choice
Uwe Hermann168b11b2009-10-07 16:15:40 +000046 prompt "Option ROM execution type"
Stefan Reinauer14be4d02010-01-31 21:46:12 +000047 default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
48 default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
Myles Watsone6804952009-08-28 14:36:12 +000049 depends on PCI_ROM_RUN || VGA_ROM_RUN
Uwe Hermann168b11b2009-10-07 16:15:40 +000050
51config PCI_OPTION_ROM_RUN_REALMODE
Stefan Reinauerd650e992010-02-22 04:33:13 +000052 prompt "Native mode"
Uwe Hermann168b11b2009-10-07 16:15:40 +000053 bool
Stefan Reinauer14be4d02010-01-31 21:46:12 +000054 depends on ARCH_X86
Myles Watson28412f52009-09-17 16:54:46 +000055 help
Uwe Hermann168b11b2009-10-07 16:15:40 +000056 If you select this option, PCI option ROMs will be executed
Stefan Reinauer14be4d02010-01-31 21:46:12 +000057 natively on the CPU in real mode. No CPU emulation is involved,
58 so this is the fastest, but also the least secure option.
59 (only works on x86/x64 systems)
Patrick Georgi0588d192009-08-12 15:00:51 +000060
Stefan Reinauerd650e992010-02-22 04:33:13 +000061config PCI_OPTION_ROM_RUN_YABEL
Uwe Hermann548dbe72010-02-22 16:41:49 +000062 prompt "Secure mode"
Uwe Hermann168b11b2009-10-07 16:15:40 +000063 bool
64 help
Stefan Reinauer14be4d02010-01-31 21:46:12 +000065 If you select this option, the x86emu CPU emulator will be used to
Uwe Hermann168b11b2009-10-07 16:15:40 +000066 execute PCI option ROMs.
Uwe Hermann548dbe72010-02-22 16:41:49 +000067
68 This option prevents option ROMs from doing dirty tricks with the
69 system (such as installing SMM modules or hypervisors), but it is
70 also significantly slower than the native option ROM initialization
71 method.
72
Stefan Reinauerd650e992010-02-22 04:33:13 +000073 This is the default choice for non-x86 systems.
Uwe Hermann548dbe72010-02-22 16:41:49 +000074
Patrick Georgi0588d192009-08-12 15:00:51 +000075endchoice
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +000076
Stefan Reinauer9a358532010-02-12 09:32:17 +000077config YABEL_PCI_ACCESS_OTHER_DEVICES
Uwe Hermann548dbe72010-02-22 16:41:49 +000078 prompt "Allow option ROMs to access other devices"
Stefan Reinauer9a358532010-02-12 09:32:17 +000079 bool
80 depends on PCI_OPTION_ROM_RUN_YABEL
81 help
Uwe Hermann548dbe72010-02-22 16:41:49 +000082 Per default, YABEL only allows option ROMs to access the PCI device
Stefan Reinauer9a358532010-02-12 09:32:17 +000083 that they are associated with. However, this causes trouble for some
Uwe Hermann548dbe72010-02-22 16:41:49 +000084 onboard graphics chips whose option ROM needs to reconfigure the
85 north bridge.
Stefan Reinauer9a358532010-02-12 09:32:17 +000086
87config YABEL_VIRTMEM_LOCATION
88 prompt "Location of YABEL's virtual memory"
89 hex
Stefan Reinauerd650e992010-02-22 04:33:13 +000090 depends on PCI_OPTION_ROM_RUN_YABEL && EXPERT
Stefan Reinauer9a358532010-02-12 09:32:17 +000091 default 0x1000000
92 help
93 YABEL requires 1MB memory for its CPU emulation. This memory is
94 normally located at 16MB.
95
Uwe Hermann01ce6012010-03-05 10:03:50 +000096config YABEL_VIRTMEM_LOCATION
97 hex
98 depends on PCI_OPTION_ROM_RUN_YABEL && !EXPERT
99 default 0x1000000
100
Stefan Reinauerd650e992010-02-22 04:33:13 +0000101config YABEL_DIRECTHW
Uwe Hermann548dbe72010-02-22 16:41:49 +0000102 prompt "Direct hardware access"
Stefan Reinauerd650e992010-02-22 04:33:13 +0000103 bool
Myles Watsone6804952009-08-28 14:36:12 +0000104 depends on PCI_OPTION_ROM_RUN_YABEL
105 help
Stefan Reinauerd650e992010-02-22 04:33:13 +0000106 YABEL consists of two parts: It uses x86emu for the CPU emulation and
Uwe Hermann548dbe72010-02-22 16:41:49 +0000107 additionally provides a PC system emulation that filters bad device
108 and memory access (such as PCI config space access to other devices
109 than the initialized one).
110
Stefan Reinauerd650e992010-02-22 04:33:13 +0000111 When choosing this option, x86emu will pass through all hardware
Uwe Hermann548dbe72010-02-22 16:41:49 +0000112 accesses to memory and I/O devices to the underlying memory and I/O
Stefan Reinauerd650e992010-02-22 04:33:13 +0000113 addresses. While this option prevents option ROMs from doing dirty
114 tricks with the CPU (such as installing SMM modules or hypervisors),
115 they can still access all devices in the system.
116 Enable this option for a good compromise between security and speed.
117
Myles Watson28412f52009-09-17 16:54:46 +0000118config CONSOLE_VGA_MULTI
119 bool
120 default n
121
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000122config PCI_64BIT_PREF_MEM
123 bool
124 default n
125
126config HYPERTRANSPORT_PLUGIN_SUPPORT
127 bool
Myles Watson74fb8f22009-09-24 15:09:11 +0000128 default n
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000129
130config PCIX_PLUGIN_SUPPORT
131 bool
Myles Watsoned035562009-09-22 21:29:32 +0000132 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000133
134config PCIEXP_PLUGIN_SUPPORT
135 bool
Myles Watsoned035562009-09-22 21:29:32 +0000136 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000137
138config AGP_PLUGIN_SUPPORT
139 bool
Myles Watsoned035562009-09-22 21:29:32 +0000140 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000141
142config CARDBUS_PLUGIN_SUPPORT
143 bool
Myles Watsoned035562009-09-22 21:29:32 +0000144 default y