summaryrefslogtreecommitdiffstats
path: root/device/Kconfig
blob: 9f944a415413a163839415aca80b6a797b9313dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
##
## 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
##

menu "Devices"

config PCI_OPTION_ROM_RUN
	bool
	help
	  Execute PCI/AGP option ROMs if available. This is required to
	  enable PCI/AGP VGA plugin cards. This option is not exposed
	  to the user but set by the options PCI_OPTION_ROM_RUN_VM86
	  , PCI_OPTION_ROM_RUN_X86EMU and PCI_OPTION_ROM_RUN_YABEL.

choice
	prompt "Execute PCI Option ROMs"
	default PCI_OPTION_ROM_RUN_VM86
	help
	  Execute PCI/AGP option ROMs if available. You can choose to
	  execute PCI option ROMs natively (32bit x86 system required),
	  in an emulator (x86emu), or ignore option ROM execution.

config PCI_OPTION_ROM_RUN_X86EMU
	bool "x86emu"
	select PCI_OPTION_ROM_RUN
	help
	  If you choose this option, the x86 instruction set emulator
	  x86emu is used to execute 16bit legacy BIOS option ROMs.
	
	  x86emu is slow, big and safe. All 16bit x86 code is executed
	  in an encapsulated environment where it can not break out.

config PCI_OPTION_ROM_RUN_YABEL
	bool "YABEL"
	select PCI_OPTION_ROM_RUN
	help
	  YABEL: Yet another BIOS Emulation Layer
	  If you choose this option, the x86 instruction set emulator
	  x86emu is used to execute 16bit legacy BIOS option ROMs just
	  like the "x86emu" choice.
	  The BIOS Emulation code is very different from the "x86emu" 
	  choice however, it is a more complete legacy BIOS implementation
	  and should be able to execute more Option ROMs than the 
	  "x86emu" choice
	
	  YABEL is even slower and bigger than x86emu and just as safe. 
	  All 16bit x86 code is executed in an encapsulated environment 
	  where it can not break out.

config PCI_OPTION_ROM_RUN_VM86
	bool "vm86"
	select PCI_OPTION_ROM_RUN
	depends ARCH_X86
	help
	  If you choose this option, the virtual x86 mode "vm86" is used
	  to execute 16bit legacy BIOS option ROMs.

	  vm86 is very small, fast, and probably a little less safe than
	  x86emu, since it runs option ROMs on the real hardware instead
	  of an emulator.

config PCI_OPTION_ROM_RUN_NONE
	bool "Disabled"
	help
	  Do not execute PCI option ROMs at all.
	  If you choose this option, VGA plugin cards will not be initialized.

endchoice

config YABEL_ADVANCED_SETTINGS
	depends EXPERT && PCI_OPTION_ROM_RUN_YABEL
	bool "Enable advanced YABEL Settings"
	default n
	help
	  Set this to enable advanced YABEL settings

menu "Advanced YABEL Settings"
	depends YABEL_ADVANCED_SETTINGS

	config YABEL_VIRTMEM_LOCATION
		hex "YABEL Virtual Memory Location"
		help
		  Set the location that YABEL uses for "virtual" memory. 
		  YABEL uses its own memory where INT handlers, BIOS Config
		  Area and Option ROM code is copied to. This is needed to 
		  keep YABEL in its own environment. This memory area will be
		  overwritten by YABEL, so no necessary data for coreboot 
		  must reside here. 
		  If YABEL_ADVANCED_SETTINGS is not enabled, the code defaults 
		  to 0x1000000 (16 MB).

endmenu

# TODO: This should probably become a CMOS option.
config MULTIPLE_VGA_INIT
	bool "Initialize all VGA cards"
	depends PCI_OPTION_ROM_RUN
	help
	  If you enable this option, all VGA cards will be initialized.
	  If you disable this option, only the first VGA card will be
	  initialized.

config INITIALIZE_ONBOARD_VGA_FIRST
	bool "Initialize onboard VGA first"
	depends PCI_OPTION_ROM_RUN
	help
	  Initialize onboard VGA chips before any plugin VGA cards
	  are initialized.

menu "Remove Bus Support (for size reasons)"
depends EXPERT

config NO_PCIX_SUPPORT
	bool "Remove support for PCI-X."
	default false
	help
	  Don't compile in the drivers for cards that provide PCI-X.

config NO_PCIE_SUPPORT
	bool "Remove support for PCI-Express."
	default false
	help
	  Don't compile in the drivers for cards that provide PCI-e.

config NO_AGP_SUPPORT
	bool "Remove support for AGP."
	default false
	help
	  Don't compile in the drivers for cards that provide AGP.

config NO_CARDBUS_SUPPORT
	bool "Remove support for CardBus."
	default false
	help
	  Don't compile in the drivers for cards that provide CardBus.

endmenu

endmenu #Devices

menu "Power management"

config SUSPEND_TO_RAM
	bool "Suspend-to-RAM (S3)"
	depends EXPERIMENTAL && BROKEN
	help
	  Enable support for Suspend-to-RAM (S3) functionality.

config PCI_64BIT_PREF_MEM
	bool "64 bit prefetchable memory addresses"
	depends CPU_AMD_K8
	help
	  Enable support for 64-bit prefetchable memory addresses in PCI.

config HW_MEM_HOLE_SIZEK
	hex "HW memory hole size in KB"
	depends CPU_AMD_K8
	default 0x1000
	help
	  Some chipsets support setting up a "hole" at the top of memory.
	  It is essentially a hole torn in the physical address space so that
	  you can fit non-memory resources (e.g. flash) at the top of the 4G
	  address space. Given that this only happens on machines with lots
	  of memory, the default 4 MB is a very reasonable value.

endmenu