blob: d1382c512953ae0eafb544c6c8fcbc95096344ef [file] [log] [blame]
Sam Ravnborge279b6c2007-11-06 20:41:05 +01001menu "Power management options"
2 depends on !X86_VOYAGER
3
4config ARCH_HIBERNATION_HEADER
5 bool
6 depends on X86_64 && HIBERNATION
7 default y
8
9source "kernel/power/Kconfig"
10
11source "drivers/acpi/Kconfig"
12
13menuconfig 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
72if APM
73
74config 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
81config 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
98config 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
109config 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
122config 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
132config 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
139endif # APM
140
141source "arch/x86/kernel/cpu/cpufreq/Kconfig"
142
143source "drivers/cpuidle/Kconfig"
144
145endmenu
146
147
148menu "Bus options (PCI etc.)"
149
150config 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
166choice
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
185config PCI_GOBIOS
186 bool "BIOS"
187
188config PCI_GOMMCONFIG
189 bool "MMConfig"
190
191config PCI_GODIRECT
192 bool "Direct"
193
194config PCI_GOANY
195 bool "Any"
196
197endchoice
198
199config 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.
205config PCI_DIRECT
206 bool
207 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
208 default y
209
210config PCI_MMCONFIG
211 bool
212 depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
213 default y
214
215config PCI_DOMAINS
216 bool
217 depends on PCI
218 default y
219
220config PCI_MMCONFIG
221 bool "Support mmconfig PCI config space access"
222 depends on X86_64 && PCI && ACPI
223
224config 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
234config 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
245config 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
255source "drivers/pci/pcie/Kconfig"
256
257source "drivers/pci/Kconfig"
258
259# x86_64 have no ISA slots, but do have ISA-style DMA.
260config ISA_DMA_API
261 bool
262 default y
263
264if X86_32
265
266config 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
276config 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
292source "drivers/eisa/Kconfig"
293
294config 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
303source "drivers/mca/Kconfig"
304
305config 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
316config 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
327config 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
337config K8_NB
338 def_bool y
339 depends on AGP_AMD64
340
341endif # X86_32
342
343source "drivers/pcmcia/Kconfig"
344
345source "drivers/pci/hotplug/Kconfig"
346
347endmenu
348
349
350menu "Executable file formats / Emulations"
351
352source "fs/Kconfig.binfmt"
353
354config 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
362config 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
368config COMPAT
369 bool
370 depends on IA32_EMULATION
371 default y
372
373config COMPAT_FOR_U64_ALIGNMENT
374 def_bool COMPAT
375 depends on X86_64
376
377config SYSVIPC_COMPAT
378 bool
379 depends on X86_64 && COMPAT && SYSVIPC
380 default y
381
382endmenu
383
384
385source "net/Kconfig"
386
387source "drivers/Kconfig"
388
389source "drivers/firmware/Kconfig"
390
391source "fs/Kconfig"
392
393source "kernel/Kconfig.instrumentation"
394
395source "arch/x86/Kconfig.debug"
396
397source "security/Kconfig"
398
399source "crypto/Kconfig"
400
401source "lib/Kconfig"