2 ## This file is part of the coreboot project.
4 ## Copyright (C) 2007-2010 coresystems GmbH
5 ## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
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
9 ## the Free Software Foundation; version 2 of the License.
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.
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
21 config VGA_BRIDGE_SETUP
22 bool "Setup bridges on path to VGA adapter"
25 Allow bridges to set up legacy decoding ranges for VGA. Don't disable
26 this unless you're sure you don't want the briges setup for VGA.
28 # TODO: Explain differences (if any) for onboard cards.
30 bool "Run VGA option ROMs"
33 Execute VGA option ROMs, if found. This is required to enable
34 PCI/AGP/PCI-E video cards.
37 bool "Run non-VGA option ROMs"
40 Execute non-VGA PCI option ROMs, if found.
42 Examples include IDE/SATA controller option ROMs and option ROMs
43 for network cards (NICs).
46 prompt "Option ROM execution type"
47 default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
48 default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
49 depends on PCI_ROM_RUN || VGA_ROM_RUN
51 config PCI_OPTION_ROM_RUN_REALMODE
56 If you select this option, PCI option ROMs will be executed
57 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)
61 config PCI_OPTION_ROM_RUN_YABEL
65 If you select this option, the x86emu CPU emulator will be used to
66 execute PCI option ROMs.
67 This option prevents option ROMs from doing dirty tricks with the
68 system (such as installing SMM modules or hypervisors), but it is also
69 significantly slower than the native option ROM initialization method.
70 This is the default choice for non-x86 systems.
73 # TODO: Describe better, and/or make a "choice" selection for this.
74 config YABEL_DEBUG_FLAGS
75 prompt "Hex value for YABEL debug flags"
78 depends on PCI_OPTION_ROM_RUN_YABEL
80 Set CONFIG_YABEL_DEBUG_FLAGS is a binary switch that allows you
81 to select the following items to debug. 1=on 0=off. After you
82 decide what you want to debug create the binary value, convert to hex
83 and set the Option (Ex. CONFIG_YABEL_DEBUG_FLAGS = 0x31FF //Debug All).
85 |-DEBUG_JMP - print info about JMP and RETF opcodes from x86emu
86 ||-DEBUG_TRACE_X86EMU - print _all_ opcodes that are executed by x86emu (WARNING: this will produce a LOT of output)
89 |||||-Currently unused
90 ||||||-DEBUG_PNP - Print Plug And Play access made by option rom
91 |||||||-DEBUG_DISK - Print Disk I/O related messages, currently unused
92 ||||||||-DEBUG_PMM - Print messages related to POST Memory Manager (PMM)
93 |||||||||-DEBUG_VBE - Print messages related to VESA BIOS Extension (VBE) functions
94 ||||||||||-DEBUG_PRINT_INT10 - let INT10 (i.e. character output) calls print messages to Debug output
95 |||||||||||-DEBUG_INTR - Print messages related to interrupt handling
96 ||||||||||||-DEBUG_CHECK_VMEM_ACCESS - Print messages related to accesse to certain areas of the virtual Memory (e.g. BDA (BIOS Data Area) or Interrupt Vectors)
97 |||||||||||||-DEBUG_MEM - Print memory access made by option rom (NOTE: this also includes accesses to fetch instructions)
98 ||||||||||||||-DEBUG_IO - Print I/O access made by option rom
99 11000111111111 - Max Binary Value, Debug All (WARNING: - This could run for hours)
103 DEBUG_CHECK_VMEM_ACCESS 0x0004
105 DEBUG_PRINT_INT10 0x0010
110 DEBUG_TRACE_X86EMU 0x1000
113 See debug.h for values 0 is no debug output, 0x31ff is _verbose_.
115 config YABEL_PCI_ACCESS_OTHER_DEVICES
116 prompt "Allow option roms to acces other devices"
118 depends on PCI_OPTION_ROM_RUN_YABEL
120 Per default, YABEL only allows option roms to access the PCI device
121 that they are associated with. However, this causes trouble for some
122 onboard graphics chips whose option rom needs to reconfigure the
125 config YABEL_VIRTMEM_LOCATION
126 prompt "Location of YABEL's virtual memory"
128 depends on PCI_OPTION_ROM_RUN_YABEL && EXPERT
131 YABEL requires 1MB memory for its CPU emulation. This memory is
132 normally located at 16MB.
134 config YABEL_DIRECTHW
135 prompt "Direct Hardware Access"
137 depends on PCI_OPTION_ROM_RUN_YABEL
139 YABEL consists of two parts: It uses x86emu for the CPU emulation and
140 additionally provides a PC system emulation that filters bad device and
141 memory access (such as PCI config space access to other devices than the
143 When choosing this option, x86emu will pass through all hardware
144 accesses to memory and IO devices to the underlying memory and IO
145 addresses. While this option prevents option ROMs from doing dirty
146 tricks with the CPU (such as installing SMM modules or hypervisors),
147 they can still access all devices in the system.
148 Enable this option for a good compromise between security and speed.
151 prompt "Show graphical bootsplash"
153 depends on PCI_OPTION_ROM_RUN_YABEL
155 This option shows a graphical bootsplash screen. The grapics are
156 loaded from the CBFS file bootsplash.jpg
158 config FRAMEBUFFER_VESA_MODE
159 prompt "VESA framebuffer video mode"
162 depends on BOOTSPLASH
164 This option sets the resolution used for the coreboot framebuffer and
165 bootsplash screen. Set to 0x117 for 1024x768x16. A diligent soul will
166 some day make this a "choice".
168 config COREBOOT_KEEP_FRAMEBUFFER
169 prompt "Keep VESA framebuffer"
171 depends on BOOTSPLASH
173 This option keeps the framebuffer mode set after coreboot finishes
174 execution. If this option is enabled, coreboot will pass a framebuffer
175 entry in its coreboot table and the payload will need a framebuffer
176 driver. If this option is disabled, coreboot will switch back to
177 text mode before handing control to a payload.
179 config CONSOLE_VGA_MULTI
183 config PCI_64BIT_PREF_MEM
187 config HYPERTRANSPORT_PLUGIN_SUPPORT
191 config PCIX_PLUGIN_SUPPORT
195 config PCIEXP_PLUGIN_SUPPORT
199 config AGP_PLUGIN_SUPPORT
203 config CARDBUS_PLUGIN_SUPPORT