debuggers.hg

view linux-2.6.8.1-xen-sparse/arch/xen/i386/Kconfig @ 2656:0d28c3c8cef5

bitkeeper revision 1.1159.1.217 (41669f5dPSH2FLmBXTYiWPd2qVMxZQ)

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