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