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 | |
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')
-rw-r--r-- | arch/x86/Kconfig | 401 | ||||
-rw-r--r-- | arch/x86/Kconfig.i386 | 326 | ||||
-rw-r--r-- | arch/x86/Kconfig.x86_64 | 135 |
3 files changed, 404 insertions, 458 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" | ||
diff --git a/arch/x86/Kconfig.i386 b/arch/x86/Kconfig.i386 index b6f2fd0e443b..9fe63f10e57f 100644 --- a/arch/x86/Kconfig.i386 +++ b/arch/x86/Kconfig.i386 | |||
@@ -517,8 +517,6 @@ config X86_CPUID | |||
517 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to | 517 | with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to |
518 | /dev/cpu/31/cpuid. | 518 | /dev/cpu/31/cpuid. |
519 | 519 | ||
520 | source "drivers/firmware/Kconfig" | ||
521 | |||
522 | choice | 520 | choice |
523 | prompt "High Memory Support" | 521 | prompt "High Memory Support" |
524 | default HIGHMEM4G if !X86_NUMAQ | 522 | default HIGHMEM4G if !X86_NUMAQ |
@@ -957,328 +955,6 @@ config ARCH_ENABLE_MEMORY_HOTPLUG | |||
957 | def_bool y | 955 | def_bool y |
958 | depends on HIGHMEM | 956 | depends on HIGHMEM |
959 | 957 | ||
960 | menu "Power management options (ACPI, APM)" | ||
961 | depends on !X86_VOYAGER | ||
962 | |||
963 | source kernel/power/Kconfig | ||
964 | |||
965 | source "drivers/acpi/Kconfig" | ||
966 | |||
967 | menuconfig APM | ||
968 | tristate "APM (Advanced Power Management) BIOS support" | ||
969 | depends on PM_SLEEP && !X86_VISWS | ||
970 | ---help--- | ||
971 | APM is a BIOS specification for saving power using several different | ||
972 | techniques. This is mostly useful for battery powered laptops with | ||
973 | APM compliant BIOSes. If you say Y here, the system time will be | ||
974 | reset after a RESUME operation, the /proc/apm device will provide | ||
975 | battery status information, and user-space programs will receive | ||
976 | notification of APM "events" (e.g. battery status change). | ||
977 | |||
978 | If you select "Y" here, you can disable actual use of the APM | ||
979 | BIOS by passing the "apm=off" option to the kernel at boot time. | ||
980 | |||
981 | Note that the APM support is almost completely disabled for | ||
982 | machines with more than one CPU. | ||
983 | |||
984 | In order to use APM, you will need supporting software. For location | ||
985 | and more information, read <file:Documentation/pm.txt> and the | ||
986 | Battery Powered Linux mini-HOWTO, available from | ||
987 | <http://www.tldp.org/docs.html#howto>. | ||
988 | |||
989 | This driver does not spin down disk drives (see the hdparm(8) | ||
990 | manpage ("man 8 hdparm") for that), and it doesn't turn off | ||
991 | VESA-compliant "green" monitors. | ||
992 | |||
993 | This driver does not support the TI 4000M TravelMate and the ACER | ||
994 | 486/DX4/75 because they don't have compliant BIOSes. Many "green" | ||
995 | desktop machines also don't have compliant BIOSes, and this driver | ||
996 | may cause those machines to panic during the boot phase. | ||
997 | |||
998 | Generally, if you don't have a battery in your machine, there isn't | ||
999 | much point in using this driver and you should say N. If you get | ||
1000 | random kernel OOPSes or reboots that don't seem to be related to | ||
1001 | anything, try disabling/enabling this option (or disabling/enabling | ||
1002 | APM in your BIOS). | ||
1003 | |||
1004 | Some other things you should try when experiencing seemingly random, | ||
1005 | "weird" problems: | ||
1006 | |||
1007 | 1) make sure that you have enough swap space and that it is | ||
1008 | enabled. | ||
1009 | 2) pass the "no-hlt" option to the kernel | ||
1010 | 3) switch on floating point emulation in the kernel and pass | ||
1011 | the "no387" option to the kernel | ||
1012 | 4) pass the "floppy=nodma" option to the kernel | ||
1013 | 5) pass the "mem=4M" option to the kernel (thereby disabling | ||
1014 | all but the first 4 MB of RAM) | ||
1015 | 6) make sure that the CPU is not over clocked. | ||
1016 | 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/> | ||
1017 | 8) disable the cache from your BIOS settings | ||
1018 | 9) install a fan for the video card or exchange video RAM | ||
1019 | 10) install a better fan for the CPU | ||
1020 | 11) exchange RAM chips | ||
1021 | 12) exchange the motherboard. | ||
1022 | |||
1023 | To compile this driver as a module, choose M here: the | ||
1024 | module will be called apm. | ||
1025 | |||
1026 | if APM | ||
1027 | |||
1028 | config APM_IGNORE_USER_SUSPEND | ||
1029 | bool "Ignore USER SUSPEND" | ||
1030 | help | ||
1031 | This option will ignore USER SUSPEND requests. On machines with a | ||
1032 | compliant APM BIOS, you want to say N. However, on the NEC Versa M | ||
1033 | series notebooks, it is necessary to say Y because of a BIOS bug. | ||
1034 | |||
1035 | config APM_DO_ENABLE | ||
1036 | bool "Enable PM at boot time" | ||
1037 | ---help--- | ||
1038 | Enable APM features at boot time. From page 36 of the APM BIOS | ||
1039 | specification: "When disabled, the APM BIOS does not automatically | ||
1040 | power manage devices, enter the Standby State, enter the Suspend | ||
1041 | State, or take power saving steps in response to CPU Idle calls." | ||
1042 | This driver will make CPU Idle calls when Linux is idle (unless this | ||
1043 | feature is turned off -- see "Do CPU IDLE calls", below). This | ||
1044 | should always save battery power, but more complicated APM features | ||
1045 | will be dependent on your BIOS implementation. You may need to turn | ||
1046 | this option off if your computer hangs at boot time when using APM | ||
1047 | support, or if it beeps continuously instead of suspending. Turn | ||
1048 | this off if you have a NEC UltraLite Versa 33/C or a Toshiba | ||
1049 | T400CDT. This is off by default since most machines do fine without | ||
1050 | this feature. | ||
1051 | |||
1052 | config APM_CPU_IDLE | ||
1053 | bool "Make CPU Idle calls when idle" | ||
1054 | help | ||
1055 | Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. | ||
1056 | On some machines, this can activate improved power savings, such as | ||
1057 | a slowed CPU clock rate, when the machine is idle. These idle calls | ||
1058 | are made after the idle loop has run for some length of time (e.g., | ||
1059 | 333 mS). On some machines, this will cause a hang at boot time or | ||
1060 | whenever the CPU becomes idle. (On machines with more than one CPU, | ||
1061 | this option does nothing.) | ||
1062 | |||
1063 | config APM_DISPLAY_BLANK | ||
1064 | bool "Enable console blanking using APM" | ||
1065 | help | ||
1066 | Enable console blanking using the APM. Some laptops can use this to | ||
1067 | turn off the LCD backlight when the screen blanker of the Linux | ||
1068 | virtual console blanks the screen. Note that this is only used by | ||
1069 | the virtual console screen blanker, and won't turn off the backlight | ||
1070 | when using the X Window system. This also doesn't have anything to | ||
1071 | do with your VESA-compliant power-saving monitor. Further, this | ||
1072 | option doesn't work for all laptops -- it might not turn off your | ||
1073 | backlight at all, or it might print a lot of errors to the console, | ||
1074 | especially if you are using gpm. | ||
1075 | |||
1076 | config APM_ALLOW_INTS | ||
1077 | bool "Allow interrupts during APM BIOS calls" | ||
1078 | help | ||
1079 | Normally we disable external interrupts while we are making calls to | ||
1080 | the APM BIOS as a measure to lessen the effects of a badly behaving | ||
1081 | BIOS implementation. The BIOS should reenable interrupts if it | ||
1082 | needs to. Unfortunately, some BIOSes do not -- especially those in | ||
1083 | many of the newer IBM Thinkpads. If you experience hangs when you | ||
1084 | suspend, try setting this to Y. Otherwise, say N. | ||
1085 | |||
1086 | config APM_REAL_MODE_POWER_OFF | ||
1087 | bool "Use real mode APM BIOS call to power off" | ||
1088 | help | ||
1089 | Use real mode APM BIOS calls to switch off the computer. This is | ||
1090 | a work-around for a number of buggy BIOSes. Switch this option on if | ||
1091 | your computer crashes instead of powering off properly. | ||
1092 | |||
1093 | endif # APM | ||
1094 | |||
1095 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" | ||
1096 | |||
1097 | source "drivers/cpuidle/Kconfig" | ||
1098 | |||
1099 | endmenu | ||
1100 | |||
1101 | menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" | ||
1102 | |||
1103 | config PCI | ||
1104 | bool "PCI support" if !X86_VISWS | ||
1105 | depends on !X86_VOYAGER | ||
1106 | default y if X86_VISWS | ||
1107 | select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) | ||
1108 | help | ||
1109 | Find out whether you have a PCI motherboard. PCI is the name of a | ||
1110 | bus system, i.e. the way the CPU talks to the other stuff inside | ||
1111 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | ||
1112 | VESA. If you have PCI, say Y, otherwise N. | ||
1113 | |||
1114 | The PCI-HOWTO, available from | ||
1115 | <http://www.tldp.org/docs.html#howto>, contains valuable | ||
1116 | information about which PCI hardware does work under Linux and which | ||
1117 | doesn't. | ||
1118 | |||
1119 | choice | ||
1120 | prompt "PCI access mode" | ||
1121 | depends on PCI && !X86_VISWS | ||
1122 | default PCI_GOANY | ||
1123 | ---help--- | ||
1124 | On PCI systems, the BIOS can be used to detect the PCI devices and | ||
1125 | determine their configuration. However, some old PCI motherboards | ||
1126 | have BIOS bugs and may crash if this is done. Also, some embedded | ||
1127 | PCI-based systems don't have any BIOS at all. Linux can also try to | ||
1128 | detect the PCI hardware directly without using the BIOS. | ||
1129 | |||
1130 | With this option, you can specify how Linux should detect the | ||
1131 | PCI devices. If you choose "BIOS", the BIOS will be used, | ||
1132 | if you choose "Direct", the BIOS won't be used, and if you | ||
1133 | choose "MMConfig", then PCI Express MMCONFIG will be used. | ||
1134 | If you choose "Any", the kernel will try MMCONFIG, then the | ||
1135 | direct access method and falls back to the BIOS if that doesn't | ||
1136 | work. If unsure, go with the default, which is "Any". | ||
1137 | |||
1138 | config PCI_GOBIOS | ||
1139 | bool "BIOS" | ||
1140 | |||
1141 | config PCI_GOMMCONFIG | ||
1142 | bool "MMConfig" | ||
1143 | |||
1144 | config PCI_GODIRECT | ||
1145 | bool "Direct" | ||
1146 | |||
1147 | config PCI_GOANY | ||
1148 | bool "Any" | ||
1149 | |||
1150 | endchoice | ||
1151 | |||
1152 | config PCI_BIOS | ||
1153 | bool | ||
1154 | depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) | ||
1155 | default y | ||
1156 | |||
1157 | config PCI_DIRECT | ||
1158 | bool | ||
1159 | depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS) | ||
1160 | default y | ||
1161 | |||
1162 | config PCI_MMCONFIG | ||
1163 | bool | ||
1164 | depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY) | ||
1165 | default y | ||
1166 | |||
1167 | config PCI_DOMAINS | ||
1168 | bool | ||
1169 | depends on PCI | ||
1170 | default y | ||
1171 | |||
1172 | source "drivers/pci/pcie/Kconfig" | ||
1173 | |||
1174 | source "drivers/pci/Kconfig" | ||
1175 | |||
1176 | config ISA_DMA_API | ||
1177 | bool | ||
1178 | default y | ||
1179 | |||
1180 | config ISA | ||
1181 | bool "ISA support" | ||
1182 | depends on !(X86_VOYAGER || X86_VISWS) | ||
1183 | help | ||
1184 | Find out whether you have ISA slots on your motherboard. ISA is the | ||
1185 | name of a bus system, i.e. the way the CPU talks to the other stuff | ||
1186 | inside your box. Other bus systems are PCI, EISA, MicroChannel | ||
1187 | (MCA) or VESA. ISA is an older system, now being displaced by PCI; | ||
1188 | newer boards don't support it. If you have ISA, say Y, otherwise N. | ||
1189 | |||
1190 | config EISA | ||
1191 | bool "EISA support" | ||
1192 | depends on ISA | ||
1193 | ---help--- | ||
1194 | The Extended Industry Standard Architecture (EISA) bus was | ||
1195 | developed as an open alternative to the IBM MicroChannel bus. | ||
1196 | |||
1197 | The EISA bus provided some of the features of the IBM MicroChannel | ||
1198 | bus while maintaining backward compatibility with cards made for | ||
1199 | the older ISA bus. The EISA bus saw limited use between 1988 and | ||
1200 | 1995 when it was made obsolete by the PCI bus. | ||
1201 | |||
1202 | Say Y here if you are building a kernel for an EISA-based machine. | ||
1203 | |||
1204 | Otherwise, say N. | ||
1205 | |||
1206 | source "drivers/eisa/Kconfig" | ||
1207 | |||
1208 | config MCA | ||
1209 | bool "MCA support" if !(X86_VISWS || X86_VOYAGER) | ||
1210 | default y if X86_VOYAGER | ||
1211 | help | ||
1212 | MicroChannel Architecture is found in some IBM PS/2 machines and | ||
1213 | laptops. It is a bus system similar to PCI or ISA. See | ||
1214 | <file:Documentation/mca.txt> (and especially the web page given | ||
1215 | there) before attempting to build an MCA bus kernel. | ||
1216 | |||
1217 | source "drivers/mca/Kconfig" | ||
1218 | |||
1219 | config SCx200 | ||
1220 | tristate "NatSemi SCx200 support" | ||
1221 | depends on !X86_VOYAGER | ||
1222 | help | ||
1223 | This provides basic support for National Semiconductor's | ||
1224 | (now AMD's) Geode processors. The driver probes for the | ||
1225 | PCI-IDs of several on-chip devices, so its a good dependency | ||
1226 | for other scx200_* drivers. | ||
1227 | |||
1228 | If compiled as a module, the driver is named scx200. | ||
1229 | |||
1230 | config SCx200HR_TIMER | ||
1231 | tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" | ||
1232 | depends on SCx200 && GENERIC_TIME | ||
1233 | default y | ||
1234 | help | ||
1235 | This driver provides a clocksource built upon the on-chip | ||
1236 | 27MHz high-resolution timer. Its also a workaround for | ||
1237 | NSC Geode SC-1100's buggy TSC, which loses time when the | ||
1238 | processor goes idle (as is done by the scheduler). The | ||
1239 | other workaround is idle=poll boot option. | ||
1240 | |||
1241 | config GEODE_MFGPT_TIMER | ||
1242 | bool "Geode Multi-Function General Purpose Timer (MFGPT) events" | ||
1243 | depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS | ||
1244 | default y | ||
1245 | help | ||
1246 | This driver provides a clock event source based on the MFGPT | ||
1247 | timer(s) in the CS5535 and CS5536 companion chip for the geode. | ||
1248 | MFGPTs have a better resolution and max interval than the | ||
1249 | generic PIT, and are suitable for use as high-res timers. | ||
1250 | |||
1251 | config K8_NB | ||
1252 | def_bool y | ||
1253 | depends on AGP_AMD64 | ||
1254 | |||
1255 | source "drivers/pcmcia/Kconfig" | ||
1256 | |||
1257 | source "drivers/pci/hotplug/Kconfig" | ||
1258 | |||
1259 | endmenu | ||
1260 | |||
1261 | menu "Executable file formats" | ||
1262 | |||
1263 | source "fs/Kconfig.binfmt" | ||
1264 | |||
1265 | endmenu | ||
1266 | |||
1267 | source "net/Kconfig" | ||
1268 | |||
1269 | source "drivers/Kconfig" | ||
1270 | |||
1271 | source "fs/Kconfig" | ||
1272 | |||
1273 | source "kernel/Kconfig.instrumentation" | ||
1274 | |||
1275 | source "arch/x86/Kconfig.debug" | ||
1276 | |||
1277 | source "security/Kconfig" | ||
1278 | |||
1279 | source "crypto/Kconfig" | ||
1280 | |||
1281 | source "lib/Kconfig" | ||
1282 | 958 | ||
1283 | # | 959 | # |
1284 | # Use the generic interrupt handling code in kernel/irq/: | 960 | # Use the generic interrupt handling code in kernel/irq/: |
@@ -1319,3 +995,5 @@ config X86_TRAMPOLINE | |||
1319 | config KTIME_SCALAR | 995 | config KTIME_SCALAR |
1320 | bool | 996 | bool |
1321 | default y | 997 | default y |
998 | |||
999 | source "arch/x86/Kconfig" | ||
diff --git a/arch/x86/Kconfig.x86_64 b/arch/x86/Kconfig.x86_64 index 8d6b53425449..264623c30d55 100644 --- a/arch/x86/Kconfig.x86_64 +++ b/arch/x86/Kconfig.x86_64 | |||
@@ -698,142 +698,9 @@ config GENERIC_IRQ_PROBE | |||
698 | bool | 698 | bool |
699 | default y | 699 | default y |
700 | 700 | ||
701 | # we have no ISA slots, but we do have ISA-style DMA. | ||
702 | config ISA_DMA_API | ||
703 | bool | ||
704 | default y | ||
705 | |||
706 | config GENERIC_PENDING_IRQ | 701 | config GENERIC_PENDING_IRQ |
707 | bool | 702 | bool |
708 | depends on GENERIC_HARDIRQS && SMP | 703 | depends on GENERIC_HARDIRQS && SMP |
709 | default y | 704 | default y |
710 | 705 | ||
711 | menu "Power management options" | 706 | source "arch/x86/Kconfig" |
712 | |||
713 | source kernel/power/Kconfig | ||
714 | |||
715 | config ARCH_HIBERNATION_HEADER | ||
716 | bool | ||
717 | depends on HIBERNATION | ||
718 | default y | ||
719 | |||
720 | source "drivers/acpi/Kconfig" | ||
721 | |||
722 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" | ||
723 | |||
724 | source "drivers/cpuidle/Kconfig" | ||
725 | |||
726 | endmenu | ||
727 | |||
728 | menu "Bus options (PCI etc.)" | ||
729 | |||
730 | config PCI | ||
731 | bool "PCI support" | ||
732 | select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) | ||
733 | |||
734 | # x86-64 doesn't support PCI BIOS access from long mode so always go direct. | ||
735 | config PCI_DIRECT | ||
736 | bool | ||
737 | depends on PCI | ||
738 | default y | ||
739 | |||
740 | config PCI_MMCONFIG | ||
741 | bool "Support mmconfig PCI config space access" | ||
742 | depends on PCI && ACPI | ||
743 | |||
744 | config PCI_DOMAINS | ||
745 | bool | ||
746 | depends on PCI | ||
747 | default y | ||
748 | |||
749 | config DMAR | ||
750 | bool "Support for DMA Remapping Devices (EXPERIMENTAL)" | ||
751 | depends on PCI_MSI && ACPI && EXPERIMENTAL | ||
752 | help | ||
753 | DMA remapping (DMAR) devices support enables independent address | ||
754 | translations for Direct Memory Access (DMA) from devices. | ||
755 | These DMA remapping devices are reported via ACPI tables | ||
756 | and include PCI device scope covered by these DMA | ||
757 | remapping devices. | ||
758 | |||
759 | config DMAR_GFX_WA | ||
760 | bool "Support for Graphics workaround" | ||
761 | depends on DMAR | ||
762 | default y | ||
763 | help | ||
764 | Current Graphics drivers tend to use physical address | ||
765 | for DMA and avoid using DMA APIs. Setting this config | ||
766 | option permits the IOMMU driver to set a unity map for | ||
767 | all the OS-visible memory. Hence the driver can continue | ||
768 | to use physical addresses for DMA. | ||
769 | |||
770 | config DMAR_FLOPPY_WA | ||
771 | bool | ||
772 | depends on DMAR | ||
773 | default y | ||
774 | help | ||
775 | Floppy disk drivers are know to bypass DMA API calls | ||
776 | thereby failing to work when IOMMU is enabled. This | ||
777 | workaround will setup a 1:1 mapping for the first | ||
778 | 16M to make floppy (an ISA device) work. | ||
779 | |||
780 | source "drivers/pci/pcie/Kconfig" | ||
781 | |||
782 | source "drivers/pci/Kconfig" | ||
783 | |||
784 | source "drivers/pcmcia/Kconfig" | ||
785 | |||
786 | source "drivers/pci/hotplug/Kconfig" | ||
787 | |||
788 | endmenu | ||
789 | |||
790 | |||
791 | menu "Executable file formats / Emulations" | ||
792 | |||
793 | source "fs/Kconfig.binfmt" | ||
794 | |||
795 | config IA32_EMULATION | ||
796 | bool "IA32 Emulation" | ||
797 | help | ||
798 | Include code to run 32-bit programs under a 64-bit kernel. You should | ||
799 | likely turn this on, unless you're 100% sure that you don't have any | ||
800 | 32-bit programs left. | ||
801 | |||
802 | config IA32_AOUT | ||
803 | tristate "IA32 a.out support" | ||
804 | depends on IA32_EMULATION | ||
805 | help | ||
806 | Support old a.out binaries in the 32bit emulation. | ||
807 | |||
808 | config COMPAT | ||
809 | bool | ||
810 | depends on IA32_EMULATION | ||
811 | default y | ||
812 | |||
813 | config COMPAT_FOR_U64_ALIGNMENT | ||
814 | def_bool COMPAT | ||
815 | |||
816 | config SYSVIPC_COMPAT | ||
817 | bool | ||
818 | depends on COMPAT && SYSVIPC | ||
819 | default y | ||
820 | |||
821 | endmenu | ||
822 | |||
823 | source "net/Kconfig" | ||
824 | |||
825 | source drivers/Kconfig | ||
826 | |||
827 | source "drivers/firmware/Kconfig" | ||
828 | |||
829 | source fs/Kconfig | ||
830 | |||
831 | source "kernel/Kconfig.instrumentation" | ||
832 | |||
833 | source "arch/x86/Kconfig.debug" | ||
834 | |||
835 | source "security/Kconfig" | ||
836 | |||
837 | source "crypto/Kconfig" | ||
838 | |||
839 | source "lib/Kconfig" | ||