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