Kconfig 13 KB

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