1 # $Id: config.in,v 1.158 2002/01/24 22:14:44 davem Exp $
2 # For a description of the syntax of this configuration file,
3 # see the Configure script.
6 mainmenu "Linux/UltraSPARC Kernel Configuration"
21 tristate "UltraSPARC-III bootbus i2c controller driver"
24 The BBC devices on the UltraSPARC III have two I2C controllers. The
25 first I2C controller connects mainly to configuration PROMs (NVRAM,
26 CPU configuration, DIMM types, etc.). The second I2C controller
27 connects to environmental control devices such as fans and
28 temperature sensors. The second controller also connects to the
29 smartcard reader, if present. Say Y to enable support for these.
32 bool "Virtual terminal" if EMBEDDED
36 If you say Y here, you will get support for terminal devices with
37 display and keyboard devices. These are called "virtual" because you
38 can run several virtual terminals (also called virtual consoles) on
39 one physical terminal. This is rather useful, for example one
40 virtual terminal can collect system messages and warnings, another
41 one can be used for a text-mode user session, and a third could run
42 an X session, all in parallel. Switching between virtual terminals
43 is done with certain key combinations, usually Alt-<function key>.
45 The setterm command ("man setterm") can be used to change the
46 properties (such as colors or beeping) of a virtual terminal. The
47 man page console_codes(4) ("man console_codes") contains the special
48 character sequences that can be used to change those properties
49 directly. The fonts used on virtual terminals can be changed with
50 the setfont ("man setfont") command and the key bindings are defined
51 with the loadkeys ("man loadkeys") command.
53 You need at least one virtual terminal device in order to make use
54 of your keyboard and monitor. Therefore, only people configuring an
55 embedded system would want to say N here in order to save some
56 memory; the only way to log into such a system is then via a serial
57 or network connection.
59 If unsure, say Y, or else you won't be able to do much with your new
60 shiny Linux system :-)
63 bool "Support for console on virtual terminal" if EMBEDDED
67 The system console is the device which receives all kernel messages
68 and warnings and which allows logins in single user mode. If you
69 answer Y here, a virtual terminal (the device used to interact with
70 a physical terminal) can be used as system console. This is the most
71 common mode of operations, so you should say Y here unless you want
72 the kernel messages be output only to a serial port (in which case
73 you should say Y to "Console on serial port", below).
75 If you do say Y here, by default the currently visible virtual
76 terminal (/dev/tty0) will be used as system console. You can change
77 that with a kernel command line option such as "console=tty3" which
78 would use the third virtual terminal as system console. (Try "man
79 bootparam" or see the documentation of your boot loader (lilo or
80 loadlin) about how to pass options to the kernel at boot time.)
89 bool "Symmetric multi-processing support"
91 This enables support for systems with more than one CPU. If you have
92 a system with only one CPU, like most personal computers, say N. If
93 you have a system with more than one CPU, say Y.
95 If you say N here, the kernel will run on single and multiprocessor
96 machines, but will use only one CPU of a multiprocessor machine. If
97 you say Y here, the kernel will run on many, but not all,
98 singleprocessor machines. On a singleprocessor machine, the kernel
99 will run faster if you say N here.
101 Note that if you say Y here and choose architecture "586" or
102 "Pentium" under "Processor family", the kernel will not work on 486
103 architectures. Similarly, multiprocessor kernels for the "PPro"
104 architecture may not work on all Pentium based boards.
106 People using multiprocessor machines who say Y here should also say
107 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
108 Management" code will be disabled if you say Y here.
110 See also the <file:Documentation/smp.txt>,
111 <file:Documentation/i386/IO-APIC.txt>,
112 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
113 <http://www.tldp.org/docs.html#howto>.
115 If you don't know what to do here, say N.
118 bool "Preemptible Kernel"
120 This option reduces the latency of the kernel when reacting to
121 real-time or interactive events by allowing a low priority process to
122 be preempted even if it is in kernel mode executing a system call.
123 This allows applications to run more reliably even when the system is
126 Say Y here if you are building a kernel for a desktop, embedded
127 or real-time system. Say N if you are unsure.
130 int "Maximum number of CPUs (2-64)"
136 bool "CPU Frequency scaling"
138 Clock scaling allows you to change the clock speed of CPUs on the
139 fly. Currently there are only sparc64 drivers for UltraSPARC-III
140 and UltraSPARC-IIe processors.
142 For details, take a look at <file:Documentation/cpu-freq>.
146 config CPU_FREQ_TABLE
147 tristate "CPU frequency table helpers"
151 Many CPUFreq drivers use these helpers, so only say N here if
152 the CPUFreq driver of your choice doesn't need these helpers.
157 tristate "UltraSPARC-III CPU Frequency driver"
158 depends on CPU_FREQ_TABLE
160 This adds the CPUFreq driver for UltraSPARC-III processors.
162 For details, take a look at <file:Documentation/cpu-freq>.
167 tristate "UltraSPARC-IIe CPU Frequency driver"
168 depends on CPU_FREQ_TABLE
170 This adds the CPUFreq driver for UltraSPARC-IIe processors.
172 For details, take a look at <file:Documentation/cpu-freq>.
176 source "drivers/cpufreq/Kconfig"
178 # Identify this as a Sparc64 build
183 SPARC is a family of RISC microprocessors designed and marketed by
184 Sun Microsystems, incorporated. This port covers the newer 64-bit
185 UltraSPARC. The UltraLinux project maintains both the SPARC32 and
186 SPARC64 ports; its web page is available at
187 <http://www.ultralinux.org/>.
189 # Global things across all Sun machines.
190 config RWSEM_GENERIC_SPINLOCK
193 config RWSEM_XCHGADD_ALGORITHM
198 prompt "SPARC64 Huge TLB Page Size"
199 depends on HUGETLB_PAGE
200 default HUGETLB_PAGE_SIZE_4MB
202 config HUGETLB_PAGE_SIZE_4MB
205 config HUGETLB_PAGE_SIZE_512K
208 config HUGETLB_PAGE_SIZE_64K
213 config GENERIC_ISA_DMA
220 Find out whether you have ISA slots on your motherboard. ISA is the
221 name of a bus system, i.e. the way the CPU talks to the other stuff
222 inside your box. Other bus systems are PCI, EISA, MicroChannel
223 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
224 newer boards don't support it. If you have ISA, say Y, otherwise N.
229 Say Y here if you would like support for ISA Plug and Play devices.
230 Some information is in <file:Documentation/isapnp.txt>.
232 To compile this driver as a module, choose M here: the
233 module will be called isapnp.
240 The Extended Industry Standard Architecture (EISA) bus was
241 developed as an open alternative to the IBM MicroChannel bus.
243 The EISA bus provided some of the features of the IBM MicroChannel
244 bus while maintaining backward compatibility with cards made for
245 the older ISA bus. The EISA bus saw limited use between 1988 and
246 1995 when it was made obsolete by the PCI bus.
248 Say Y here if you are building a kernel for an EISA-based machine.
255 MicroChannel Architecture is found in some IBM PS/2 machines and
256 laptops. It is a bus system similar to PCI or ISA. See
257 <file:Documentation/mca.txt> (and especially the web page given
258 there) before attempting to build an MCA bus kernel.
263 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
264 computer. These are credit-card size devices such as network cards,
265 modems or hard drives often used with laptops computers. There are
266 actually two varieties of these cards: the older 16 bit PCMCIA cards
267 and the newer 32 bit CardBus cards. If you want to use CardBus
268 cards, you need to say Y here and also to "CardBus support" below.
270 To use your PC-cards, you will need supporting software from David
271 Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
272 for location). Please also read the PCMCIA-HOWTO, available from
273 <http://www.tldp.org/docs.html#howto>.
275 To compile this driver as modules, choose M here: the
276 modules will be called pcmcia_core and ds.
297 Find out whether you have a PCI motherboard. PCI is the name of a
298 bus system, i.e. the way the CPU talks to the other stuff inside
299 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
300 VESA. If you have PCI, say Y, otherwise N.
302 The PCI-HOWTO, available from
303 <http://www.tldp.org/docs.html#howto>, contains valuable
304 information about which PCI hardware does work under Linux and which
316 If you say Y here and create a character special file /dev/rtc with
317 major number 10 and minor number 135 using mknod ("man mknod"), you
318 will get access to the real time clock (or hardware clock) built
321 Every PC has such a clock built in. It can be used to generate
322 signals from as low as 1Hz up to 8192Hz, and can also be used
323 as a 24 hour alarm. It reports status information via the file
324 /proc/driver/rtc and its behaviour is set by various ioctls on
327 If you run Linux on a multiprocessor machine and said Y to
328 "Symmetric Multi Processing" above, you should say Y here to read
329 and set the RTC in an SMP compatible fashion.
331 If you think you have a use for such a device (such as periodic data
332 sampling), then say Y here, and read <file:Documentation/rtc.txt>
335 To compile this driver as a module, choose M here: the
336 module will be called rtc.
338 source "drivers/pci/Kconfig"
340 config SUN_OPENPROMFS
341 tristate "Openprom tree appears in /proc/openprom"
343 If you say Y, the OpenPROM device tree will be available as a
344 virtual file system, which you can mount to /proc/openprom by "mount
345 -t openpromfs none /proc/openprom".
347 To compile the /proc/openprom support as a module, choose M here: the
348 module will be called openpromfs. If unsure, choose M.
350 config SPARC32_COMPAT
351 bool "Kernel support for Linux/Sparc 32bit binary compatibility"
353 This allows you to run 32-bit binaries on your Ultra.
354 Everybody wants this; say Y.
358 depends on SPARC32_COMPAT
363 depends on SPARC32_COMPAT
367 tristate "Kernel support for 32-bit ELF binaries"
368 depends on SPARC32_COMPAT
370 This allows you to run 32-bit Linux/ELF binaries on your Ultra.
371 Everybody wants this; say Y.
374 bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
375 depends on SPARC32_COMPAT
377 This allows you to run 32-bit a.out format binaries on your Ultra.
378 If you want to run SunOS binaries (see SunOS binary emulation below)
379 or other a.out binaries, say Y. If unsure, say N.
381 source "fs/Kconfig.binfmt"
384 bool "SunOS binary emulation"
385 depends on BINFMT_AOUT32
387 This allows you to run most SunOS binaries. If you want to do this,
388 say Y here and place appropriate files in /usr/gnemul/sunos. See
389 <http://www.ultralinux.org/faq.html> for more information. If you
390 want to run SunOS binaries on an Ultra you must also say Y to
391 "Kernel support for 32-bit a.out binaries" above.
394 tristate "Solaris binary emulation (EXPERIMENTAL)"
395 depends on SPARC32_COMPAT && EXPERIMENTAL
397 This is experimental code which will enable you to run (many)
398 Solaris binaries on your SPARC Linux machine.
400 To compile this code as a module, choose M here: the
401 module will be called solaris.
403 source "drivers/parport/Kconfig"
406 tristate "Parallel printer support"
409 If you intend to attach a printer to the parallel port of your Linux
410 box (as opposed to using a serial printer; if the connector at the
411 printer has 9 or 25 holes ["female"], then it's serial), say Y.
412 Also read the Printing-HOWTO, available from
413 <http://www.tldp.org/docs.html#howto>.
415 It is possible to share one parallel port among several devices
416 (e.g. printer and ZIP drive) and it is safe to compile the
417 corresponding drivers into the kernel.
418 To compile this driver as a module, choose M here and read
419 <file:Documentation/parport.txt>. The module will be called lp.
421 If you have several parallel ports, you can specify which ports to
422 use with the "lp" kernel command line option. (Try "man bootparam"
423 or see the documentation of your boot loader (lilo or loadlin) about
424 how to pass options to the kernel at boot time.) The syntax of the
425 "lp" command line option can be found in <file:drivers/char/lp.c>.
427 If you have more than 8 printers, you need to increase the LP_NO
428 macro in lp.c and the PARPORT_MAX macro in parport.h.
431 tristate "SUNW, envctrl support"
434 Kernel support for temperature and fan monitoring on Sun SME
437 To compile this driver as a module, choose M here: the
438 module will be called envctrl.
441 tristate "7-Segment Display support"
444 This is the driver for the 7-segment display and LED present on
445 Sun Microsystems CompactPCI models CP1400 and CP1500.
447 To compile this driver as a module, choose M here: the
448 module will be called display7seg.
450 If you do not have a CompactPCI model CP1400 or CP1500, or
451 another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
452 you should say N to this option.
455 bool "Default bootloader kernel arguments"
458 string "Initial kernel command string"
459 depends on CMDLINE_BOOL
460 default "console=ttyS0,9600 root=/dev/sda1"
462 Say Y here if you want to be able to pass default arguments to
463 the kernel. This will be overridden by the bootloader, if you
464 use one (such as SILO). This is most useful if you want to boot
465 a kernel from TFTP, and want default options to be available
466 with having them passed on the command line.
468 NOTE: This option WILL override the PROM bootargs setting!
472 source "drivers/base/Kconfig"
474 source "drivers/video/Kconfig"
476 source "drivers/serial/Kconfig"
478 source "drivers/sbus/char/Kconfig"
480 source "drivers/mtd/Kconfig"
482 source "drivers/block/Kconfig"
484 source "drivers/ide/Kconfig"
486 source "drivers/scsi/Kconfig"
488 source "drivers/fc4/Kconfig"
490 source "drivers/md/Kconfig"
493 source "drivers/message/fusion/Kconfig"
496 source "drivers/ieee1394/Kconfig"
500 source "drivers/isdn/Kconfig"
502 source "drivers/telephony/Kconfig"
504 # This one must be before the filesystem configs. -DaveM
506 menu "Unix98 PTY support"
509 bool "Unix98 PTY support"
511 A pseudo terminal (PTY) is a software device consisting of two
512 halves: a master and a slave. The slave device behaves identical to
513 a physical terminal; the master device is used by a process to
514 read data from and write data to the slave, thereby emulating a
515 terminal. Typical programs for the master side are telnet servers
518 Linux has traditionally used the BSD-like names /dev/ptyxx for
519 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
520 has a number of problems. The GNU C library glibc 2.1 and later,
521 however, supports the Unix98 naming standard: in order to acquire a
522 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
523 terminal is then made available to the process and the pseudo
524 terminal slave can be accessed as /dev/pts/<number>. What was
525 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
527 The entries in /dev/pts/ are created on the fly by a virtual
528 file system; therefore, if you say Y here you should say Y to
529 "/dev/pts file system for Unix98 PTYs" as well.
531 If you want to say Y here, you need to have the C library glibc 2.1
532 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
533 Read the instructions in <file:Documentation/Changes> pertaining to
534 pseudo terminals. It's safe to say N.
536 config UNIX98_PTY_COUNT
537 int "Maximum number of Unix98 PTYs in use (0-2048)"
538 depends on UNIX98_PTYS
541 The maximum number of Unix98 PTYs that can be used at any one time.
542 The default is 256, and should be enough for desktop systems. Server
543 machines which support incoming telnet/rlogin/ssh connections and/or
544 serve several X terminals may want to increase this: every incoming
545 connection and every xterm uses up one PTY.
547 When not in use, each additional set of 256 PTYs occupy
548 approximately 8 KB of kernel memory on 32-bit architectures.
553 menu "XFree86 DRI support"
556 bool "Direct Rendering Manager (XFree86 DRI support)"
558 Kernel-level support for the Direct Rendering Infrastructure (DRI)
559 introduced in XFree86 4.0. If you say Y here, you need to select
560 the module that's right for your graphics card from the list below.
561 These modules provide support for synchronization, security, and
562 DMA transfers. Please see <http://dri.sourceforge.net/> for more
563 details. You should also select and configure AGP
564 (/dev/agpgart) support.
567 tristate "Creator/Creator3D"
570 Choose this option if you have one of Sun's Creator3D-based graphics
571 and frame buffer cards. Product page at
572 <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
575 tristate "3dfx Banshee/Voodoo3+"
578 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
579 graphics card. If M is selected, the module will be called tdfx.
582 tristate "ATI Rage 128"
585 Choose this option if you have an ATI Rage 128 graphics card. If M
586 is selected, the module will be called r128. AGP support for
587 this card is strongly suggested (unless you have a PCI version).
591 source "drivers/input/Kconfig"
593 source "drivers/i2c/Kconfig"
597 source "drivers/media/Kconfig"
599 source "sound/Kconfig"
601 source "drivers/usb/Kconfig"
603 source "drivers/char/watchdog/Kconfig"
605 source "arch/sparc64/oprofile/Kconfig"
607 menu "Kernel hacking"
610 bool "Kernel debugging"
612 Say Y here if you are developing drivers or trying to debug and
613 identify kernel problems.
615 config DEBUG_STACK_USAGE
616 bool "Enable stack utilization instrumentation"
617 depends on DEBUG_KERNEL
619 Enables the display of the minimum amount of free stack which each
620 task has ever had available in the sysrq-T and sysrq-P debug output.
622 This option will slow down process creation somewhat.
625 bool "Debug memory allocations"
626 depends on DEBUG_KERNEL
628 Say Y here to have the kernel do limited verification on memory
629 allocation as well as poisoning memory on free to catch use of freed
633 bool "Magic SysRq key"
634 depends on DEBUG_KERNEL
636 If you say Y here, you will have some control over the system even
637 if the system crashes for example during kernel debugging (e.g., you
638 will be able to flush the buffer cache to disk, reboot the system
639 immediately or dump some status information). This is accomplished
640 by pressing various keys while holding SysRq (Alt+PrintScreen). It
641 also works on a serial console (on PC hardware at least), if you
642 send a BREAK and then within 5 seconds a command keypress. The
643 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
644 unless you really know what this hack does.
646 config DEBUG_SPINLOCK
647 bool "Spinlock debugging"
648 depends on DEBUG_KERNEL
650 Say Y here and build SMP to catch missing spinlock initialization
651 and certain other kinds of spinlock errors commonly made. This is
652 best used in conjunction with the NMI watchdog so that spinlock
653 deadlocks are also debuggable.
655 config DEBUG_SPINLOCK_SLEEP
656 bool "Sleep-inside-spinlock checking"
659 If you say Y here, various routines which may sleep will become very
660 noisy if they are called with a spinlock held.
662 config DEBUG_BUGVERBOSE
663 bool "Verbose BUG() reporting (adds 70K)"
664 depends on DEBUG_KERNEL
666 Say Y here to make BUG() panics output the file name and line number
667 of the BUG call as well as the EIP and oops trace. This aids
668 debugging but costs about 70-100K of memory.
671 bool "D-cache flush debugging"
672 depends on DEBUG_KERNEL
675 bool "Compile the kernel with debug info"
676 depends on DEBUG_KERNEL
678 If you say Y here the resulting kernel image will include
679 debugging info resulting in a larger kernel image.
680 Say Y here only if you plan to use gdb to debug the kernel.
681 If you don't debug the kernel, you can say N.
684 depends on DEBUG_KERNEL
685 bool "Stack Overflow Detection Support"
688 depends on DEBUG_KERNEL
689 bool "Debug BOOTMEM initialization"
691 # We have a custom atomic_dec_and_lock() implementation but it's not
692 # compatible with spinlock debugging so we need to fall back on
693 # the generic version in that case.
696 depends on SMP && !DEBUG_SPINLOCK
701 depends on STACK_DEBUG
711 source "security/Kconfig"
713 source "crypto/Kconfig"