diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2007-11-06 14:41:05 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2007-11-12 15:02:18 -0500 |
commit | e279b6c1d329e50b766bce96aacc197eae8a053b (patch) | |
tree | 76bee122c61be1e2897969ed207c09136248c255 /arch/x86/Kconfig | |
parent | e8ef95227a66284e070d255f902e2e4139fd141a (diff) |
x86: start unification of arch/x86/Kconfig.*
This step introduces the file arch/x86/Kconfig
which contains all the menu's from "Power Management"
and below.
The main part of the new Kconfig file is shared
and the remaining i386/x86_64 specific symbols
are covered by dependencies.
A x86_64 allmodconfig build did not show any differences.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 401 |
1 files changed, 401 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig new file mode 100644 index 000000000000..d1382c512953 --- /dev/null +++ b/arch/x86/Kconfig | |||
@@ -0,0 +1,401 @@ | |||
1 | menu "Power management options" | ||
2 | depends on !X86_VOYAGER | ||
3 | |||
4 | config ARCH_HIBERNATION_HEADER | ||
5 | bool | ||
6 | depends on X86_64 && HIBERNATION | ||
7 | default y | ||
8 | |||
9 | source "kernel/power/Kconfig" | ||
10 | |||
11 | source "drivers/acpi/Kconfig" | ||
12 | |||
13 | menuconfig APM | ||
14 | tristate "APM (Advanced Power Management) BIOS support" | ||
15 | depends on X86_32 && PM_SLEEP && !X86_VISWS | ||
16 | ---help--- | ||
17 | APM is a BIOS specification for saving power using several different | ||
18 | techniques. This is mostly useful for battery powered laptops with | ||
19 | APM compliant BIOSes. If you say Y here, the system time will be | ||
20 | reset after a RESUME operation, the /proc/apm device will provide | ||
21 | battery status information, and user-space programs will receive | ||
22 | notification of APM "events" (e.g. battery status change). | ||
23 | |||
24 | If you select "Y" here, you can disable actual use of the APM | ||
25 | BIOS by passing the "apm=off" option to the kernel at boot time. | ||
26 | |||
27 | Note that the APM support is almost completely disabled for | ||
28 | machines with more than one CPU. | ||
29 | |||
30 | In order to use APM, you will need supporting software. For location | ||
31 | and more information, read <file:Documentation/pm.txt> and the | ||
32 | Battery Powered Linux mini-HOWTO, available from | ||
33 | <http://www.tldp.org/docs.html#howto>. | ||
34 | |||
35 | This driver does not spin down disk drives (see the hdparm(8) | ||
36 | manpage ("man 8 hdparm") for that), and it doesn't turn off | ||
37 | VESA-compliant "green" monitors. | ||
38 | |||
39 | This driver does not support the TI 4000M TravelMate and the ACER | ||
40 | 486/DX4/75 because they don't have compliant BIOSes. Many "green" | ||
41 | desktop machines also don't have compliant BIOSes, and this driver | ||
42 | may cause those machines to panic during the boot phase. | ||
43 | |||
44 | Generally, if you don't have a battery in your machine, there isn't | ||
45 | much point in using this driver and you should say N. If you get | ||
46 | random kernel OOPSes or reboots that don't seem to be related to | ||
47 | anything, try disabling/enabling this option (or disabling/enabling | ||
48 | APM in your BIOS). | ||
49 | |||
50 | Some other things you should try when experiencing seemingly random, | ||
51 | "weird" problems: | ||
52 | |||
53 | 1) make sure that you have enough swap space and that it is | ||
54 | enabled. | ||
55 | 2) pass the "no-hlt" option to the kernel | ||
56 | 3) switch on floating point emulation in the kernel and pass | ||
57 | the "no387" option to the kernel | ||
58 | 4) pass the "floppy=nodma" option to the kernel | ||
59 | 5) pass the "mem=4M" option to the kernel (thereby disabling | ||
60 | all but the first 4 MB of RAM) | ||
61 | 6) make sure that the CPU is not over clocked. | ||
62 | 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/> | ||
63 | 8) disable the cache from your BIOS settings | ||
64 | 9) install a fan for the video card or exchange video RAM | ||
65 | 10) install a better fan for the CPU | ||
66 | 11) exchange RAM chips | ||
67 | 12) exchange the motherboard. | ||
68 | |||
69 | To compile this driver as a module, choose M here: the | ||
70 | module will be called apm. | ||
71 | |||
72 | if APM | ||
73 | |||
74 | config APM_IGNORE_USER_SUSPEND | ||
75 | bool "Ignore USER SUSPEND" | ||
76 | help | ||
77 | This option will ignore USER SUSPEND requests. On machines with a | ||
78 | compliant APM BIOS, you want to say N. However, on the NEC Versa M | ||
79 | series notebooks, it is necessary to say Y because of a BIOS bug. | ||
80 | |||
81 | config APM_DO_ENABLE | ||
82 | bool "Enable PM at boot time" | ||
83 | ---help--- | ||
84 | Enable APM features at boot time. From page 36 of the APM BIOS | ||
85 | specification: "When disabled, the APM BIOS does not automatically | ||
86 | power manage devices, enter the Standby State, enter the Suspend | ||
87 | State, or take power saving steps in response to CPU Idle calls." | ||
88 | This driver will make CPU Idle calls when Linux is idle (unless this | ||
89 | feature is turned off -- see "Do CPU IDLE calls", below). This | ||
90 | should always save battery power, but more complicated APM features | ||
91 | will be dependent on your BIOS implementation. You may need to turn | ||
92 | this option off if your computer hangs at boot time when using APM | ||
93 | support, or if it beeps continuously instead of suspending. Turn | ||
94 | this off if you have a NEC UltraLite Versa 33/C or a Toshiba | ||
95 | T400CDT. This is off by default since most machines do fine without | ||
96 | this feature. | ||
97 | |||
98 | config APM_CPU_IDLE | ||
99 | bool "Make CPU Idle calls when idle" | ||
100 | help | ||
101 | Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. | ||
102 | On some machines, this can activate improved power savings, such as | ||
103 | a slowed CPU clock rate, when the machine is idle. These idle calls | ||
104 | are made after the idle loop has run for some length of time (e.g., | ||
105 | 333 mS). On some machines, this will cause a hang at boot time or | ||
106 | whenever the CPU becomes idle. (On machines with more than one CPU, | ||
107 | this option does nothing.) | ||
108 | |||
109 | config APM_DISPLAY_BLANK | ||
110 | bool "Enable console blanking using APM" | ||
111 | help | ||
112 | Enable console blanking using the APM. Some laptops can use this to | ||
113 | turn off the LCD backlight when the screen blanker of the Linux | ||
114 | virtual console blanks the screen. Note that this is only used by | ||
115 | the virtual console screen blanker, and won't turn off the backlight | ||
116 | when using the X Window system. This also doesn't have anything to | ||
117 | do with your VESA-compliant power-saving monitor. Further, this | ||
118 | option doesn't work for all laptops -- it might not turn off your | ||
119 | backlight at all, or it might print a lot of errors to the console, | ||
120 | especially if you are using gpm. | ||
121 | |||
122 | config APM_ALLOW_INTS | ||
123 | bool "Allow interrupts during APM BIOS calls" | ||
124 | help | ||
125 | Normally we disable external interrupts while we are making calls to | ||
126 | the APM BIOS as a measure to lessen the effects of a badly behaving | ||
127 | BIOS implementation. The BIOS should reenable interrupts if it | ||
128 | needs to. Unfortunately, some BIOSes do not -- especially those in | ||
129 | many of the newer IBM Thinkpads. If you experience hangs when you | ||
130 | suspend, try setting this to Y. Otherwise, say N. | ||
131 | |||
132 | config APM_REAL_MODE_POWER_OFF | ||
133 | bool "Use real mode APM BIOS call to power off" | ||
134 | help | ||
135 | Use real mode APM BIOS calls to switch off the computer. This is | ||
136 | a work-around for a number of buggy BIOSes. Switch this option on if | ||
137 | your computer crashes instead of powering off properly. | ||
138 | |||
139 | endif # APM | ||
140 | |||
141 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" | ||
142 | |||
143 | source "drivers/cpuidle/Kconfig" | ||
144 | |||
145 | endmenu | ||
146 | |||
147 | |||
148 | menu "Bus options (PCI etc.)" | ||
149 | |||
150 | config PCI | ||
151 | bool "PCI support" if !X86_VISWS | ||
152 | depends on !X86_VOYAGER | ||
153 | default y if X86_VISWS | ||
154 | select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) | ||
155 | help | ||
156 | Find out whether you have a PCI motherboard. PCI is the name of a | ||
157 | bus system, i.e. the way the CPU talks to the other stuff inside | ||
158 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | ||
159 | VESA. If you have PCI, say Y, otherwise N. | ||
160 | |||
161 | The PCI-HOWTO, available from | ||
162 | <http://www.tldp.org/docs.html#howto>, contains valuable | ||
163 | information about which PCI hardware does work under Linux and which | ||
164 | doesn't. | ||
165 | |||
166 | choice | ||
167 | prompt "PCI access mode" | ||
168 | depends on X86_32 && PCI && !X86_VISWS | ||
169 | default PCI_GOANY | ||
170 | ---help--- | ||
171 | On PCI systems, the BIOS can be used to detect the PCI devices and | ||
172 | determine their configuration. However, some old PCI motherboards | ||
173 | have BIOS bugs and may crash if this is done. Also, some embedded | ||
174 | PCI-based systems don't have any BIOS at all. Linux can also try to | ||
175 | detect the PCI hardware directly without using the BIOS. | ||
176 | |||
177 | With this option, you can specify how Linux should detect the | ||
178 | PCI devices. If you choose "BIOS", the BIOS will be used, | ||
179 | if you choose "Direct", the BIOS won't be used, and if you | ||
180 | choose "MMConfig", then PCI Express MMCONFIG will be used. | ||
181 | If you choose "Any", the kernel will try MMCONFIG, then the | ||
182 | direct access method and falls back to the BIOS if that doesn't | ||
183 | work. If unsure, go with the default, which is "Any". | ||
184 | |||
185 | config PCI_GOBIOS | ||
186 | bool "BIOS" | ||
187 | |||
188 | config PCI_GOMMCONFIG | ||
189 | bool "MMConfig" | ||
190 | |||
191 | config PCI_GODIRECT | ||
192 | bool "Direct" | ||
193 | |||
194 | config PCI_GOANY | ||
195 | bool "Any" | ||
196 | |||
197 | endchoice | ||
198 | |||
199 | config PCI_BIOS | ||
200 | bool | ||
201 | depends on X86_32 && !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) | ||
202 | default y | ||
203 | |||
204 | # x86-64 doesn't support PCI BIOS access from long mode so always go direct. | ||
205 | config PCI_DIRECT | ||
206 | bool | ||
207 | depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS) | ||
208 | default y | ||
209 | |||
210 | config PCI_MMCONFIG | ||
211 | bool | ||
212 | depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) | ||
213 | default y | ||
214 | |||
215 | config PCI_DOMAINS | ||
216 | bool | ||
217 | depends on PCI | ||
218 | default y | ||
219 | |||
220 | config PCI_MMCONFIG | ||
221 | bool "Support mmconfig PCI config space access" | ||
222 | depends on X86_64 && PCI && ACPI | ||
223 | |||
224 | config DMAR | ||
225 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" | ||
226 | depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL | ||
227 | help | ||
228 | DMA remapping (DMAR) devices support enables independent address | ||
229 | translations for Direct Memory Access (DMA) from devices. | ||
230 | These DMA remapping devices are reported via ACPI tables | ||
231 | and include PCI device scope covered by these DMA | ||
232 | remapping devices. | ||
233 | |||
234 | config DMAR_GFX_WA | ||
235 | bool "Support for Graphics workaround" | ||
236 | depends on DMAR | ||
237 | default y | ||
238 | help | ||
239 | Current Graphics drivers tend to use physical address | ||
240 | for DMA and avoid using DMA APIs. Setting this config | ||
241 | option permits the IOMMU driver to set a unity map for | ||
242 | all the OS-visible memory. Hence the driver can continue | ||
243 | to use physical addresses for DMA. | ||
244 | |||
245 | config DMAR_FLOPPY_WA | ||
246 | bool | ||
247 | depends on DMAR | ||
248 | default y | ||
249 | help | ||
250 | Floppy disk drivers are know to bypass DMA API calls | ||
251 | thereby failing to work when IOMMU is enabled. This | ||
252 | workaround will setup a 1:1 mapping for the first | ||
253 | 16M to make floppy (an ISA device) work. | ||
254 | |||
255 | source "drivers/pci/pcie/Kconfig" | ||
256 | |||
257 | source "drivers/pci/Kconfig" | ||
258 | |||
259 | # x86_64 have no ISA slots, but do have ISA-style DMA. | ||
260 | config ISA_DMA_API | ||
261 | bool | ||
262 | default y | ||
263 | |||
264 | if X86_32 | ||
265 | |||
266 | config ISA | ||
267 | bool "ISA support" | ||
268 | depends on !(X86_VOYAGER || X86_VISWS) | ||
269 | help | ||
270 | Find out whether you have ISA slots on your motherboard. ISA is the | ||
271 | name of a bus system, i.e. the way the CPU talks to the other stuff | ||
272 | inside your box. Other bus systems are PCI, EISA, MicroChannel | ||
273 | (MCA) or VESA. ISA is an older system, now being displaced by PCI; | ||
274 | newer boards don't support it. If you have ISA, say Y, otherwise N. | ||
275 | |||
276 | config EISA | ||
277 | bool "EISA support" | ||
278 | depends on ISA | ||
279 | ---help--- | ||
280 | The Extended Industry Standard Architecture (EISA) bus was | ||
281 | developed as an open alternative to the IBM MicroChannel bus. | ||
282 | |||
283 | The EISA bus provided some of the features of the IBM MicroChannel | ||
284 | bus while maintaining backward compatibility with cards made for | ||
285 | the older ISA bus. The EISA bus saw limited use between 1988 and | ||
286 | 1995 when it was made obsolete by the PCI bus. | ||
287 | |||
288 | Say Y here if you are building a kernel for an EISA-based machine. | ||
289 | |||
290 | Otherwise, say N. | ||
291 | |||
292 | source "drivers/eisa/Kconfig" | ||
293 | |||
294 | config MCA | ||
295 | bool "MCA support" if !(X86_VISWS || X86_VOYAGER) | ||
296 | default y if X86_VOYAGER | ||
297 | help | ||
298 | MicroChannel Architecture is found in some IBM PS/2 machines and | ||
299 | laptops. It is a bus system similar to PCI or ISA. See | ||
300 | <file:Documentation/mca.txt> (and especially the web page given | ||
301 | there) before attempting to build an MCA bus kernel. | ||
302 | |||
303 | source "drivers/mca/Kconfig" | ||
304 | |||
305 | config SCx200 | ||
306 | tristate "NatSemi SCx200 support" | ||
307 | depends on !X86_VOYAGER | ||
308 | help | ||
309 | This provides basic support for National Semiconductor's | ||
310 | (now AMD's) Geode processors. The driver probes for the | ||
311 | PCI-IDs of several on-chip devices, so its a good dependency | ||
312 | for other scx200_* drivers. | ||
313 | |||
314 | If compiled as a module, the driver is named scx200. | ||
315 | |||
316 | config SCx200HR_TIMER | ||
317 | tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" | ||
318 | depends on SCx200 && GENERIC_TIME | ||
319 | default y | ||
320 | help | ||
321 | This driver provides a clocksource built upon the on-chip | ||
322 | 27MHz high-resolution timer. Its also a workaround for | ||
323 | NSC Geode SC-1100's buggy TSC, which loses time when the | ||
324 | processor goes idle (as is done by the scheduler). The | ||
325 | other workaround is idle=poll boot option. | ||
326 | |||
327 | config GEODE_MFGPT_TIMER | ||
328 | bool "Geode Multi-Function General Purpose Timer (MFGPT) events" | ||
329 | depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS | ||
330 | default y | ||
331 | help | ||
332 | This driver provides a clock event source based on the MFGPT | ||
333 | timer(s) in the CS5535 and CS5536 companion chip for the geode. | ||
334 | MFGPTs have a better resolution and max interval than the | ||
335 | generic PIT, and are suitable for use as high-res timers. | ||
336 | |||
337 | config K8_NB | ||
338 | def_bool y | ||
339 | depends on AGP_AMD64 | ||
340 | |||
341 | endif # X86_32 | ||
342 | |||
343 | source "drivers/pcmcia/Kconfig" | ||
344 | |||
345 | source "drivers/pci/hotplug/Kconfig" | ||
346 | |||
347 | endmenu | ||
348 | |||
349 | |||
350 | menu "Executable file formats / Emulations" | ||
351 | |||
352 | source "fs/Kconfig.binfmt" | ||
353 | |||
354 | config IA32_EMULATION | ||
355 | bool "IA32 Emulation" | ||
356 | depends on X86_64 | ||
357 | help | ||
358 | Include code to run 32-bit programs under a 64-bit kernel. You should | ||
359 | likely turn this on, unless you're 100% sure that you don't have any | ||
360 | 32-bit programs left. | ||
361 | |||
362 | config IA32_AOUT | ||
363 | tristate "IA32 a.out support" | ||
364 | depends on IA32_EMULATION | ||
365 | help | ||
366 | Support old a.out binaries in the 32bit emulation. | ||
367 | |||
368 | config COMPAT | ||
369 | bool | ||
370 | depends on IA32_EMULATION | ||
371 | default y | ||
372 | |||
373 | config COMPAT_FOR_U64_ALIGNMENT | ||
374 | def_bool COMPAT | ||
375 | depends on X86_64 | ||
376 | |||
377 | config SYSVIPC_COMPAT | ||
378 | bool | ||
379 | depends on X86_64 && COMPAT && SYSVIPC | ||
380 | default y | ||
381 | |||
382 | endmenu | ||
383 | |||
384 | |||
385 | source "net/Kconfig" | ||
386 | |||
387 | source "drivers/Kconfig" | ||
388 | |||
389 | source "drivers/firmware/Kconfig" | ||
390 | |||
391 | source "fs/Kconfig" | ||
392 | |||
393 | source "kernel/Kconfig.instrumentation" | ||
394 | |||
395 | source "arch/x86/Kconfig.debug" | ||
396 | |||
397 | source "security/Kconfig" | ||
398 | |||
399 | source "crypto/Kconfig" | ||
400 | |||
401 | source "lib/Kconfig" | ||