Kconfig 15 KB

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