debuggers.hg

view linux-2.6.11-xen-sparse/arch/xen/i386/Kconfig @ 4621:c75e32dc585e

bitkeeper revision 1.1331 (42662daawcgGfsYXrl37riGl22RhdA)

[PATCH] [PATCH 1/2] i386 whitespace cleanup in Linux sparse tree

Eliminate extraneous whitespace changes in i386 portion of Linux
sparse patch.

Signed-off-by: Chris Wright <chrisw@osdl.org>
author chrisw@osdl.org[kaf24]
date Wed Apr 20 10:23:38 2005 +0000 (2005-04-20)
parents 608f95d3df77
children c9edf0896f07 f23e5c9c3f1b 65b28c74cec2
line source
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
6 menu "X86 Processor Configuration"
8 config XENARCH
9 string
10 default i386
12 config X86
13 bool
14 default y
16 config MMU
17 bool
18 default y
20 config SBUS
21 bool
23 config UID16
24 bool
25 default y
27 config GENERIC_ISA_DMA
28 bool
29 default y
31 config GENERIC_IOMAP
32 bool
33 default y
35 choice
36 prompt "Processor family"
37 default M686
39 config M386
40 bool "386"
41 ---help---
42 This is the processor type of your CPU. This information is used for
43 optimizing purposes. In order to compile a kernel that can run on
44 all x86 CPU types (albeit not optimally fast), you can specify
45 "386" here.
47 The kernel will not necessarily run on earlier architectures than
48 the one you have chosen, e.g. a Pentium optimized kernel will run on
49 a PPro, but not necessarily on a i486.
51 Here are the settings recommended for greatest speed:
52 - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
53 486DLC/DLC2, UMC 486SX-S and NexGen Nx586. Only "386" kernels
54 will run on a 386 class machine.
55 - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
56 SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
57 - "586" for generic Pentium CPUs lacking the TSC
58 (time stamp counter) register.
59 - "Pentium-Classic" for the Intel Pentium.
60 - "Pentium-MMX" for the Intel Pentium MMX.
61 - "Pentium-Pro" for the Intel Pentium Pro.
62 - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
63 - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
64 - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
65 - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
66 - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
67 - "Crusoe" for the Transmeta Crusoe series.
68 - "Efficeon" for the Transmeta Efficeon series.
69 - "Winchip-C6" for original IDT Winchip.
70 - "Winchip-2" for IDT Winchip 2.
71 - "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
72 - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
73 - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).
75 If you don't know what to do, choose "386".
77 config M486
78 bool "486"
79 help
80 Select this for a 486 series processor, either Intel or one of the
81 compatible processors from AMD, Cyrix, IBM, or Intel. Includes DX,
82 DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or
83 U5S.
85 config M586
86 bool "586/K5/5x86/6x86/6x86MX"
87 help
88 Select this for an 586 or 686 series processor such as the AMD K5,
89 the Cyrix 5x86, 6x86 and 6x86MX. This choice does not
90 assume the RDTSC (Read Time Stamp Counter) instruction.
92 config M586TSC
93 bool "Pentium-Classic"
94 help
95 Select this for a Pentium Classic processor with the RDTSC (Read
96 Time Stamp Counter) instruction for benchmarking.
98 config M586MMX
99 bool "Pentium-MMX"
100 help
101 Select this for a Pentium with the MMX graphics/multimedia
102 extended instructions.
104 config M686
105 bool "Pentium-Pro"
106 help
107 Select this for Intel Pentium Pro chips. This enables the use of
108 Pentium Pro extended instructions, and disables the init-time guard
109 against the f00f bug found in earlier Pentiums.
111 config MPENTIUMII
112 bool "Pentium-II/Celeron(pre-Coppermine)"
113 help
114 Select this for Intel chips based on the Pentium-II and
115 pre-Coppermine Celeron core. This option enables an unaligned
116 copy optimization, compiles the kernel with optimization flags
117 tailored for the chip, and applies any applicable Pentium Pro
118 optimizations.
120 config MPENTIUMIII
121 bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
122 help
123 Select this for Intel chips based on the Pentium-III and
124 Celeron-Coppermine core. This option enables use of some
125 extended prefetch instructions in addition to the Pentium II
126 extensions.
128 config MPENTIUMM
129 bool "Pentium M"
130 help
131 Select this for Intel Pentium M (not Pentium-4 M)
132 notebook chips.
134 config MPENTIUM4
135 bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon"
136 help
137 Select this for Intel Pentium 4 chips. This includes the
138 Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M
139 (not Pentium M) chips. This option enables compile flags
140 optimized for the chip, uses the correct cache shift, and
141 applies any applicable Pentium III optimizations.
143 config MK6
144 bool "K6/K6-II/K6-III"
145 help
146 Select this for an AMD K6-family processor. Enables use of
147 some extended instructions, and passes appropriate optimization
148 flags to GCC.
150 config MK7
151 bool "Athlon/Duron/K7"
152 help
153 Select this for an AMD Athlon K7-family processor. Enables use of
154 some extended instructions, and passes appropriate optimization
155 flags to GCC.
157 config MK8
158 bool "Opteron/Athlon64/Hammer/K8"
159 help
160 Select this for an AMD Opteron or Athlon64 Hammer-family processor. Enables
161 use of some extended instructions, and passes appropriate optimization
162 flags to GCC.
164 config MCRUSOE
165 bool "Crusoe"
166 help
167 Select this for a Transmeta Crusoe processor. Treats the processor
168 like a 586 with TSC, and sets some GCC optimization flags (like a
169 Pentium Pro with no alignment requirements).
171 config MEFFICEON
172 bool "Efficeon"
173 help
174 Select this for a Transmeta Efficeon processor.
176 config MWINCHIPC6
177 bool "Winchip-C6"
178 help
179 Select this for an IDT Winchip C6 chip. Linux and GCC
180 treat this chip as a 586TSC with some extended instructions
181 and alignment requirements.
183 config MWINCHIP2
184 bool "Winchip-2"
185 help
186 Select this for an IDT Winchip-2. Linux and GCC
187 treat this chip as a 586TSC with some extended instructions
188 and alignment requirements.
190 config MWINCHIP3D
191 bool "Winchip-2A/Winchip-3"
192 help
193 Select this for an IDT Winchip-2A or 3. Linux and GCC
194 treat this chip as a 586TSC with some extended instructions
195 and alignment reqirements. Also enable out of order memory
196 stores for this CPU, which can increase performance of some
197 operations.
199 config MCYRIXIII
200 bool "CyrixIII/VIA-C3"
201 help
202 Select this for a Cyrix III or C3 chip. Presently Linux and GCC
203 treat this chip as a generic 586. Whilst the CPU is 686 class,
204 it lacks the cmov extension which gcc assumes is present when
205 generating 686 code.
206 Note that Nehemiah (Model 9) and above will not boot with this
207 kernel due to them lacking the 3DNow! instructions used in earlier
208 incarnations of the CPU.
210 config MVIAC3_2
211 bool "VIA C3-2 (Nehemiah)"
212 help
213 Select this for a VIA C3 "Nehemiah". Selecting this enables usage
214 of SSE and tells gcc to treat the CPU as a 686.
215 Note, this kernel will not boot on older (pre model 9) C3s.
217 endchoice
219 config X86_GENERIC
220 bool "Generic x86 support"
221 help
222 Instead of just including optimizations for the selected
223 x86 variant (e.g. PII, Crusoe or Athlon), include some more
224 generic optimizations as well. This will make the kernel
225 perform better on x86 CPUs other than that selected.
227 This is really intended for distributors who need more
228 generic optimizations.
230 #
231 # Define implied options from the CPU selection here
232 #
233 config X86_CMPXCHG
234 bool
235 depends on !M386
236 default y
238 config X86_XADD
239 bool
240 depends on !M386
241 default y
243 config X86_L1_CACHE_SHIFT
244 int
245 default "7" if MPENTIUM4 || X86_GENERIC
246 default "4" if X86_ELAN || M486 || M386
247 default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
248 default "6" if MK7 || MK8 || MPENTIUMM
250 config RWSEM_GENERIC_SPINLOCK
251 bool
252 depends on M386
253 default y
255 config RWSEM_XCHGADD_ALGORITHM
256 bool
257 depends on !M386
258 default y
260 config GENERIC_CALIBRATE_DELAY
261 bool
262 default y
264 config X86_PPRO_FENCE
265 bool
266 depends on M686 || M586MMX || M586TSC || M586 || M486 || M386
267 default y
269 config X86_F00F_BUG
270 bool
271 depends on M586MMX || M586TSC || M586 || M486 || M386
272 default y
274 config X86_WP_WORKS_OK
275 bool
276 depends on !M386
277 default y
279 config X86_INVLPG
280 bool
281 depends on !M386
282 default y
284 config X86_BSWAP
285 bool
286 depends on !M386
287 default y
289 config X86_POPAD_OK
290 bool
291 depends on !M386
292 default y
294 config X86_ALIGNMENT_16
295 bool
296 depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
297 default y
299 config X86_GOOD_APIC
300 bool
301 depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON
302 default y
304 config X86_INTEL_USERCOPY
305 bool
306 depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON
307 default y
309 config X86_USE_PPRO_CHECKSUM
310 bool
311 depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MEFFICEON
312 default y
314 config X86_USE_3DNOW
315 bool
316 depends on MCYRIXIII || MK7
317 default y
319 config X86_OOSTORE
320 bool
321 depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
322 default y
324 config HPET_TIMER
325 bool
326 default n
327 #config HPET_TIMER
328 # bool "HPET Timer Support"
329 # help
330 # This enables the use of the HPET for the kernel's internal timer.
331 # HPET is the next generation timer replacing legacy 8254s.
332 # You can safely choose Y here. However, HPET will only be
333 # activated if the platform and the BIOS support this feature.
334 # Otherwise the 8254 will be used for timing services.
335 #
336 # Choose N to continue using the legacy 8254 timer.
338 config HPET_EMULATE_RTC
339 def_bool HPET_TIMER && RTC=y
341 config SMP
342 bool "Symmetric multi-processing support"
343 ---help---
344 This enables support for systems with more than one CPU. If you have
345 a system with only one CPU, like most personal computers, say N. If
346 you have a system with more than one CPU, say Y.
348 If you say N here, the kernel will run on single and multiprocessor
349 machines, but will use only one CPU of a multiprocessor machine. If
350 you say Y here, the kernel will run on many, but not all,
351 singleprocessor machines. On a singleprocessor machine, the kernel
352 will run faster if you say N here.
354 Note that if you say Y here and choose architecture "586" or
355 "Pentium" under "Processor family", the kernel will not work on 486
356 architectures. Similarly, multiprocessor kernels for the "PPro"
357 architecture may not work on all Pentium based boards.
359 People using multiprocessor machines who say Y here should also say
360 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
361 Management" code will be disabled if you say Y here.
363 See also the <file:Documentation/smp.txt>,
364 <file:Documentation/i386/IO-APIC.txt>,
365 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
366 <http://www.tldp.org/docs.html#howto>.
368 If you don't know what to do here, say N.
370 config NR_CPUS
371 int "Maximum number of CPUs (2-255)"
372 range 2 255
373 depends on SMP
374 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
375 default "8"
376 help
377 This allows you to specify the maximum number of CPUs which this
378 kernel will support. The maximum supported value is 255 and the
379 minimum value which makes sense is 2.
381 This is purely to save memory - each supported CPU adds
382 approximately eight kilobytes to the kernel image.
384 config SCHED_SMT
385 bool "SMT (Hyperthreading) scheduler support"
386 depends on SMP
387 default off
388 help
389 SMT scheduler support improves the CPU scheduler's decision making
390 when dealing with Intel Pentium 4 chips with HyperThreading at a
391 cost of slightly increased overhead in some places. If unsure say
392 N here.
394 config PREEMPT
395 bool "Preemptible Kernel"
396 help
397 This option reduces the latency of the kernel when reacting to
398 real-time or interactive events by allowing a low priority process to
399 be preempted even if it is in kernel mode executing a system call.
400 This allows applications to run more reliably even when the system is
401 under load.
403 Say Y here if you are building a kernel for a desktop, embedded
404 or real-time system. Say N if you are unsure.
406 config PREEMPT_BKL
407 bool "Preempt The Big Kernel Lock"
408 depends on PREEMPT
409 default y
410 help
411 This option reduces the latency of the kernel by making the
412 big kernel lock preemptible.
414 Say Y here if you are building a kernel for a desktop system.
415 Say N if you are unsure.
417 #config X86_TSC
418 # bool
419 # depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
420 # default y
422 #config X86_MCE
423 # bool "Machine Check Exception"
424 # depends on !X86_VOYAGER
425 # ---help---
426 # Machine Check Exception support allows the processor to notify the
427 # kernel if it detects a problem (e.g. overheating, component failure).
428 # The action the kernel takes depends on the severity of the problem,
429 # ranging from a warning message on the console, to halting the machine.
430 # Your processor must be a Pentium or newer to support this - check the
431 # flags in /proc/cpuinfo for mce. Note that some older Pentium systems
432 # have a design flaw which leads to false MCE events - hence MCE is
433 # disabled on all P5 processors, unless explicitly enabled with "mce"
434 # as a boot argument. Similarly, if MCE is built in and creates a
435 # problem on some new non-standard machine, you can boot with "nomce"
436 # to disable it. MCE support simply ignores non-MCE processors like
437 # the 386 and 486, so nearly everyone can say Y here.
439 #config X86_MCE_NONFATAL
440 # tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
441 # depends on X86_MCE
442 # help
443 # Enabling this feature starts a timer that triggers every 5 seconds which
444 # will look at the machine check registers to see if anything happened.
445 # Non-fatal problems automatically get corrected (but still logged).
446 # Disable this if you don't want to see these messages.
447 # Seeing the messages this option prints out may be indicative of dying hardware,
448 # or out-of-spec (ie, overclocked) hardware.
449 # This option only does something on certain CPUs.
450 # (AMD Athlon/Duron and Intel Pentium 4)
452 #config X86_MCE_P4THERMAL
453 # bool "check for P4 thermal throttling interrupt."
454 # depends on X86_MCE && (X86_UP_APIC || SMP)
455 # help
456 # Enabling this feature will cause a message to be printed when the P4
457 # enters thermal throttling.
459 config MICROCODE
460 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
461 depends on XEN_PRIVILEGED_GUEST
462 ---help---
463 If you say Y here and also to "/dev file system support" in the
464 'File systems' section, you will be able to update the microcode on
465 Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II,
466 Pentium III, Pentium 4, Xeon etc. You will obviously need the
467 actual microcode binary data itself which is not shipped with the
468 Linux kernel.
470 For latest news and information on obtaining all the required
471 ingredients for this driver, check:
472 <http://www.urbanmyth.org/microcode/>.
474 To compile this driver as a module, choose M here: the
475 module will be called microcode.
477 #config X86_MSR
478 # tristate "/dev/cpu/*/msr - Model-specific register support"
479 # help
480 # This device gives privileged processes access to the x86
481 # Model-Specific Registers (MSRs). It is a character device with
482 # major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
483 # MSR accesses are directed to a specific CPU on multi-processor
484 # systems.
486 config X86_CPUID
487 tristate "/dev/cpu/*/cpuid - CPU information support"
488 help
489 This device gives processes access to the x86 CPUID instruction to
490 be executed on a specific processor. It is a character device
491 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
492 /dev/cpu/31/cpuid.
494 source "drivers/firmware/Kconfig"
496 choice
497 prompt "High Memory Support"
498 default NOHIGHMEM
500 config NOHIGHMEM
501 bool "off"
502 ---help---
503 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
504 However, the address space of 32-bit x86 processors is only 4
505 Gigabytes large. That means that, if you have a large amount of
506 physical memory, not all of it can be "permanently mapped" by the
507 kernel. The physical memory that's not permanently mapped is called
508 "high memory".
510 If you are compiling a kernel which will never run on a machine with
511 more than 1 Gigabyte total physical RAM, answer "off" here (default
512 choice and suitable for most users). This will result in a "3GB/1GB"
513 split: 3GB are mapped so that each process sees a 3GB virtual memory
514 space and the remaining part of the 4GB virtual memory space is used
515 by the kernel to permanently map as much physical memory as
516 possible.
518 If the machine has between 1 and 4 Gigabytes physical RAM, then
519 answer "4GB" here.
521 If more than 4 Gigabytes is used then answer "64GB" here. This
522 selection turns Intel PAE (Physical Address Extension) mode on.
523 PAE implements 3-level paging on IA32 processors. PAE is fully
524 supported by Linux, PAE mode is implemented on all recent Intel
525 processors (Pentium Pro and better). NOTE: If you say "64GB" here,
526 then the kernel will not boot on CPUs that don't support PAE!
528 The actual amount of total physical memory will either be
529 auto detected or can be forced by using a kernel command line option
530 such as "mem=256M". (Try "man bootparam" or see the documentation of
531 your boot loader (lilo or loadlin) about how to pass options to the
532 kernel at boot time.)
534 If unsure, say "off".
536 config HIGHMEM4G
537 bool "4GB"
538 help
539 Select this if you have a 32-bit processor and between 1 and 4
540 gigabytes of physical RAM.
542 #config HIGHMEM64G
543 # bool "64GB"
544 # help
545 # Select this if you have a 32-bit processor and more than 4
546 # gigabytes of physical RAM.
548 endchoice
550 config HIGHMEM
551 bool
552 depends on HIGHMEM64G || HIGHMEM4G
553 default y
555 config X86_PAE
556 bool
557 depends on HIGHMEM64G
558 default y
560 # Common NUMA Features
561 config NUMA
562 bool "Numa Memory Allocation and Scheduler Support"
563 depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
564 default n if X86_PC
565 default y if (X86_NUMAQ || X86_SUMMIT)
567 # Need comments to help the hapless user trying to turn on NUMA support
568 comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
569 depends on X86_NUMAQ && (!HIGHMEM64G || !SMP)
571 comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
572 depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
574 config DISCONTIGMEM
575 bool
576 depends on NUMA
577 default y
579 config HAVE_ARCH_BOOTMEM_NODE
580 bool
581 depends on NUMA
582 default y
584 #config HIGHPTE
585 # bool "Allocate 3rd-level pagetables from highmem"
586 # depends on HIGHMEM4G || HIGHMEM64G
587 # help
588 # The VM uses one page table entry for each page of physical memory.
589 # For systems with a lot of RAM, this can be wasteful of precious
590 # low memory. Setting this option will put user-space page table
591 # entries in high memory.
593 config MTRR
594 bool
595 depends on XEN_PRIVILEGED_GUEST
596 default y
598 #config MTRR
599 # bool "MTRR (Memory Type Range Register) support"
600 # ---help---
601 # On Intel P6 family processors (Pentium Pro, Pentium II and later)
602 # the Memory Type Range Registers (MTRRs) may be used to control
603 # processor access to memory ranges. This is most useful if you have
604 # a video (VGA) card on a PCI or AGP bus. Enabling write-combining
605 # allows bus write transfers to be combined into a larger transfer
606 # before bursting over the PCI/AGP bus. This can increase performance
607 # of image write operations 2.5 times or more. Saying Y here creates a
608 # /proc/mtrr file which may be used to manipulate your processor's
609 # MTRRs. Typically the X server should use this.
610 #
611 # This code has a reasonably generic interface so that similar
612 # control registers on other processors can be easily supported
613 # as well:
614 #
615 # The Cyrix 6x86, 6x86MX and M II processors have Address Range
616 # Registers (ARRs) which provide a similar functionality to MTRRs. For
617 # these, the ARRs are used to emulate the MTRRs.
618 # The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
619 # MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing
620 # write-combining. All of these processors are supported by this code
621 # and it makes sense to say Y here if you have one of them.
622 #
623 # Saying Y here also fixes a problem with buggy SMP BIOSes which only
624 # set the MTRRs for the boot CPU and not for the secondary CPUs. This
625 # can lead to all sorts of problems, so it's good to say Y here.
626 #
627 # You can safely say Y even if your machine doesn't have MTRRs, you'll
628 # just add about 9 KB to your kernel.
629 #
630 # See <file:Documentation/mtrr.txt> for more information.
632 config IRQBALANCE
633 bool "Enable kernel irq balancing"
634 depends on SMP && X86_IO_APIC
635 default y
636 help
637 The default yes will allow the kernel to do irq load balancing.
638 Saying no will keep the kernel from doing irq load balancing.
640 config HAVE_DEC_LOCK
641 bool
642 depends on (SMP || PREEMPT) && X86_CMPXCHG
643 default y
645 # turning this on wastes a bunch of space.
646 # Summit needs it only when NUMA is on
647 config BOOT_IOREMAP
648 bool
649 depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
650 default y
652 config REGPARM
653 bool "Use register arguments (EXPERIMENTAL)"
654 depends on EXPERIMENTAL
655 default n
656 help
657 Compile the kernel with -mregparm=3. This uses a different ABI
658 and passes the first three arguments of a function call in registers.
659 This will probably break binary only modules.
661 This feature is only enabled for gcc-3.0 and later - earlier compilers
662 generate incorrect output with certain kernel constructs when
663 -mregparm=3 is used.
666 config X86_LOCAL_APIC
667 bool
668 depends on (X86_VISWS || SMP) && !X86_VOYAGER
669 default n
671 if XEN_PHYSDEV_ACCESS
673 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
675 config X86_VISWS_APIC
676 bool
677 depends on X86_VISWS
678 default y
680 #config X86_IO_APIC
681 # bool
682 # depends on SMP && !(X86_VISWS || X86_VOYAGER)
683 # default y
685 config PCI
686 bool "PCI support" if !X86_VISWS
687 depends on !X86_VOYAGER
688 default y if X86_VISWS
689 help
690 Find out whether you have a PCI motherboard. PCI is the name of a
691 bus system, i.e. the way the CPU talks to the other stuff inside
692 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
693 VESA. If you have PCI, say Y, otherwise N.
695 The PCI-HOWTO, available from
696 <http://www.tldp.org/docs.html#howto>, contains valuable
697 information about which PCI hardware does work under Linux and which
698 doesn't.
700 #choice
701 # prompt "PCI access mode"
702 # depends on PCI && !X86_VISWS
703 # default PCI_GOANY
704 # ---help---
705 # On PCI systems, the BIOS can be used to detect the PCI devices and
706 # determine their configuration. However, some old PCI motherboards
707 # have BIOS bugs and may crash if this is done. Also, some embedded
708 # PCI-based systems don't have any BIOS at all. Linux can also try to
709 # detect the PCI hardware directly without using the BIOS.
710 #
711 # With this option, you can specify how Linux should detect the
712 # PCI devices. If you choose "BIOS", the BIOS will be used,
713 # if you choose "Direct", the BIOS won't be used, and if you
714 # choose "MMConfig", then PCI Express MMCONFIG will be used.
715 # If you choose "Any", the kernel will try MMCONFIG, then the
716 # direct access method and falls back to the BIOS if that doesn't
717 # work. If unsure, go with the default, which is "Any".
718 #
719 #config PCI_GOBIOS
720 # bool "BIOS"
721 #
722 #config PCI_GOMMCONFIG
723 # bool "MMConfig"
724 #
725 #config PCI_GODIRECT
726 # bool "Direct"
727 #
728 #config PCI_GOANY
729 # bool "Any"
730 #
731 #endchoice
732 #
733 #config PCI_BIOS
734 # bool
735 # depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
736 # default y
737 #
738 #config PCI_DIRECT
739 # bool
740 # depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
741 # default y
743 config PCI_DIRECT
744 bool
745 depends on PCI
746 default y
748 source "drivers/pci/pcie/Kconfig"
750 source "drivers/pci/Kconfig"
752 config ISA
753 bool "ISA support"
754 depends on !(X86_VOYAGER || X86_VISWS)
755 help
756 Find out whether you have ISA slots on your motherboard. ISA is the
757 name of a bus system, i.e. the way the CPU talks to the other stuff
758 inside your box. Other bus systems are PCI, EISA, MicroChannel
759 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
760 newer boards don't support it. If you have ISA, say Y, otherwise N.
762 config EISA
763 bool "EISA support"
764 depends on ISA
765 ---help---
766 The Extended Industry Standard Architecture (EISA) bus was
767 developed as an open alternative to the IBM MicroChannel bus.
769 The EISA bus provided some of the features of the IBM MicroChannel
770 bus while maintaining backward compatibility with cards made for
771 the older ISA bus. The EISA bus saw limited use between 1988 and
772 1995 when it was made obsolete by the PCI bus.
774 Say Y here if you are building a kernel for an EISA-based machine.
776 Otherwise, say N.
778 source "drivers/eisa/Kconfig"
780 config MCA
781 bool "MCA support"
782 depends on !(X86_VISWS || X86_VOYAGER)
783 help
784 MicroChannel Architecture is found in some IBM PS/2 machines and
785 laptops. It is a bus system similar to PCI or ISA. See
786 <file:Documentation/mca.txt> (and especially the web page given
787 there) before attempting to build an MCA bus kernel.
789 config MCA
790 depends on X86_VOYAGER
791 default y if X86_VOYAGER
793 source "drivers/mca/Kconfig"
795 config SCx200
796 tristate "NatSemi SCx200 support"
797 depends on !X86_VOYAGER
798 help
799 This provides basic support for the National Semiconductor SCx200
800 processor. Right now this is just a driver for the GPIO pins.
802 If you don't know what to do here, say N.
804 This support is also available as a module. If compiled as a
805 module, it will be called scx200.
807 source "drivers/pcmcia/Kconfig"
809 source "drivers/pci/hotplug/Kconfig"
811 endmenu
813 endif
815 menu "Kernel hacking"
817 config DEBUG_KERNEL
818 bool "Kernel debugging"
819 help
820 Say Y here if you are developing drivers or trying to debug and
821 identify kernel problems.
823 config EARLY_PRINTK
824 bool "Early printk" if EMBEDDED
825 default y
826 help
827 Write kernel log output directly into the VGA buffer or to a serial
828 port.
830 This is useful for kernel debugging when your machine crashes very
831 early before the console code is initialized. For normal operation
832 it is not recommended because it looks ugly and doesn't cooperate
833 with klogd/syslogd or the X server. You should normally N here,
834 unless you want to debug such a crash.
836 config DEBUG_STACKOVERFLOW
837 bool "Check for stack overflows"
838 depends on DEBUG_KERNEL
840 config DEBUG_STACK_USAGE
841 bool "Stack utilization instrumentation"
842 depends on DEBUG_KERNEL
843 help
844 Enables the display of the minimum amount of free stack which each
845 task has ever had available in the sysrq-T and sysrq-P debug output.
847 This option will slow down process creation somewhat.
849 config DEBUG_SLAB
850 bool "Debug memory allocations"
851 depends on DEBUG_KERNEL
852 help
853 Say Y here to have the kernel do limited verification on memory
854 allocation as well as poisoning memory on free to catch use of freed
855 memory.
857 config MAGIC_SYSRQ
858 bool "Magic SysRq key"
859 depends on DEBUG_KERNEL
860 help
861 If you say Y here, you will have some control over the system even
862 if the system crashes for example during kernel debugging (e.g., you
863 will be able to flush the buffer cache to disk, reboot the system
864 immediately or dump some status information). This is accomplished
865 by pressing various keys while holding SysRq (Alt+PrintScreen). It
866 also works on a serial console (on PC hardware at least), if you
867 send a BREAK and then within 5 seconds a command keypress. The
868 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
869 unless you really know what this hack does.
871 config DEBUG_SPINLOCK
872 bool "Spinlock debugging"
873 depends on DEBUG_KERNEL
874 help
875 Say Y here and build SMP to catch missing spinlock initialization
876 and certain other kinds of spinlock errors commonly made. This is
877 best used in conjunction with the NMI watchdog so that spinlock
878 deadlocks are also debuggable.
880 config DEBUG_PAGEALLOC
881 bool "Page alloc debugging"
882 depends on DEBUG_KERNEL
883 help
884 Unmap pages from the kernel linear mapping after free_pages().
885 This results in a large slowdown, but helps to find certain types
886 of memory corruptions.
888 config DEBUG_HIGHMEM
889 bool "Highmem debugging"
890 depends on DEBUG_KERNEL && HIGHMEM
891 help
892 This options enables addition error checking for high memory systems.
893 Disable for production systems.
895 config DEBUG_INFO
896 bool "Compile the kernel with debug info"
897 depends on DEBUG_KERNEL
898 help
899 If you say Y here the resulting kernel image will include
900 debugging info resulting in a larger kernel image.
901 Say Y here only if you plan to use gdb to debug the kernel.
902 If you don't debug the kernel, you can say N.
904 config DEBUG_SPINLOCK_SLEEP
905 bool "Sleep-inside-spinlock checking"
906 help
907 If you say Y here, various routines which may sleep will become very
908 noisy if they are called with a spinlock held.
910 config FRAME_POINTER
911 bool "Compile the kernel with frame pointers"
912 help
913 If you say Y here the resulting kernel image will be slightly larger
914 and slower, but it will give very useful debugging information.
915 If you don't debug the kernel, you can say N, but we may not be able
916 to solve problems without frame pointers.
918 config 4KSTACKS
919 bool "Use 4Kb for kernel stacks instead of 8Kb"
920 help
921 If you say Y here the kernel will use a 4Kb stacksize for the
922 kernel stack attached to each process/thread. This facilitates
923 running more threads on a system and also reduces the pressure
924 on the VM subsystem for higher order allocations. This option
925 will also use IRQ stacks to compensate for the reduced stackspace.
927 config X86_FIND_SMP_CONFIG
928 bool
929 depends on X86_LOCAL_APIC || X86_VOYAGER
930 default y
932 config X86_MPPARSE
933 bool
934 depends on X86_LOCAL_APIC && !X86_VISWS
935 default y
937 endmenu
939 #
940 # Use the generic interrupt handling code in kernel/irq/:
941 #
942 config GENERIC_HARDIRQS
943 bool
944 default y
946 config GENERIC_IRQ_PROBE
947 bool
948 default y
950 config X86_SMP
951 bool
952 depends on SMP && !X86_VOYAGER
953 default y
955 #config X86_HT
956 # bool
957 # depends on SMP && !(X86_VISWS || X86_VOYAGER)
958 # default y
960 config X86_BIOS_REBOOT
961 bool
962 depends on !(X86_VISWS || X86_VOYAGER)
963 default y
965 config X86_TRAMPOLINE
966 bool
967 depends on X86_SMP || (X86_VOYAGER && SMP)
968 default y
970 config PC
971 bool
972 depends on X86 && !EMBEDDED
973 default y
975 endmenu