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 linux/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 linux/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 linux/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"
386 This allows you to run most SunOS binaries. If you want to do this,
387 say Y here and place appropriate files in /usr/gnemul/sunos. See
388 <http://www.ultralinux.org/faq.html> for more information. If you
389 want to run SunOS binaries on an Ultra you must also say Y to
390 "Kernel support for 32-bit a.out binaries" above.
393 tristate "Solaris binary emulation (EXPERIMENTAL)"
394 depends on EXPERIMENTAL
396 This is experimental code which will enable you to run (many)
397 Solaris binaries on your SPARC Linux machine.
399 To compile this code as a module, choose M here: the
400 module will be called solaris.
402 source "drivers/parport/Kconfig"
405 tristate "Parallel printer support"
408 If you intend to attach a printer to the parallel port of your Linux
409 box (as opposed to using a serial printer; if the connector at the
410 printer has 9 or 25 holes ["female"], then it's serial), say Y.
411 Also read the Printing-HOWTO, available from
412 <http://www.tldp.org/docs.html#howto>.
414 It is possible to share one parallel port among several devices
415 (e.g. printer and ZIP drive) and it is safe to compile the
416 corresponding drivers into the kernel.
417 To compile this driver as a module, choose M here and read
418 <file:Documentation/parport.txt>. The module will be called lp.
420 If you have several parallel ports, you can specify which ports to
421 use with the "lp" kernel command line option. (Try "man bootparam"
422 or see the documentation of your boot loader (lilo or loadlin) about
423 how to pass options to the kernel at boot time.) The syntax of the
424 "lp" command line option can be found in <file:drivers/char/lp.c>.
426 If you have more than 8 printers, you need to increase the LP_NO
427 macro in lp.c and the PARPORT_MAX macro in parport.h.
430 tristate "SUNW, envctrl support"
433 Kernel support for temperature and fan monitoring on Sun SME
436 To compile this driver as a module, choose M here: the
437 module will be called envctrl.
440 tristate "7-Segment Display support"
443 This is the driver for the 7-segment display and LED present on
444 Sun Microsystems CompactPCI models CP1400 and CP1500.
446 To compile this driver as a module, choose M here: the
447 module will be called display7seg.
449 If you do not have a CompactPCI model CP1400 or CP1500, or
450 another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
451 you should say N to this option.
454 bool "Default bootloader kernel arguments"
457 string "Initial kernel command string"
458 depends on CMDLINE_BOOL
459 default "console=ttyS0,9600 root=/dev/sda1"
461 Say Y here if you want to be able to pass default arguments to
462 the kernel. This will be overridden by the bootloader, if you
463 use one (such as SILO). This is most useful if you want to boot
464 a kernel from TFTP, and want default options to be available
465 with having them passed on the command line.
467 NOTE: This option WILL override the PROM bootargs setting!
471 source "drivers/base/Kconfig"
473 source "drivers/video/Kconfig"
475 source "drivers/serial/Kconfig"
477 source "drivers/sbus/char/Kconfig"
479 source "drivers/mtd/Kconfig"
481 source "drivers/block/Kconfig"
483 source "drivers/ide/Kconfig"
485 source "drivers/scsi/Kconfig"
487 source "drivers/fc4/Kconfig"
489 source "drivers/md/Kconfig"
492 source "drivers/message/fusion/Kconfig"
495 source "drivers/ieee1394/Kconfig"
499 source "drivers/isdn/Kconfig"
501 source "drivers/telephony/Kconfig"
503 # This one must be before the filesystem configs. -DaveM
505 menu "Unix98 PTY support"
508 bool "Unix98 PTY support"
510 A pseudo terminal (PTY) is a software device consisting of two
511 halves: a master and a slave. The slave device behaves identical to
512 a physical terminal; the master device is used by a process to
513 read data from and write data to the slave, thereby emulating a
514 terminal. Typical programs for the master side are telnet servers
517 Linux has traditionally used the BSD-like names /dev/ptyxx for
518 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
519 has a number of problems. The GNU C library glibc 2.1 and later,
520 however, supports the Unix98 naming standard: in order to acquire a
521 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
522 terminal is then made available to the process and the pseudo
523 terminal slave can be accessed as /dev/pts/<number>. What was
524 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
526 The entries in /dev/pts/ are created on the fly by a virtual
527 file system; therefore, if you say Y here you should say Y to
528 "/dev/pts file system for Unix98 PTYs" as well.
530 If you want to say Y here, you need to have the C library glibc 2.1
531 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
532 Read the instructions in <file:Documentation/Changes> pertaining to
533 pseudo terminals. It's safe to say N.
535 config UNIX98_PTY_COUNT
536 int "Maximum number of Unix98 PTYs in use (0-2048)"
537 depends on UNIX98_PTYS
540 The maximum number of Unix98 PTYs that can be used at any one time.
541 The default is 256, and should be enough for desktop systems. Server
542 machines which support incoming telnet/rlogin/ssh connections and/or
543 serve several X terminals may want to increase this: every incoming
544 connection and every xterm uses up one PTY.
546 When not in use, each additional set of 256 PTYs occupy
547 approximately 8 KB of kernel memory on 32-bit architectures.
552 menu "XFree86 DRI support"
555 bool "Direct Rendering Manager (XFree86 DRI support)"
557 Kernel-level support for the Direct Rendering Infrastructure (DRI)
558 introduced in XFree86 4.0. If you say Y here, you need to select
559 the module that's right for your graphics card from the list below.
560 These modules provide support for synchronization, security, and
561 DMA transfers. Please see <http://dri.sourceforge.net/> for more
562 details. You should also select and configure AGP
563 (/dev/agpgart) support.
566 tristate "Creator/Creator3D"
569 Choose this option if you have one of Sun's Creator3D-based graphics
570 and frame buffer cards. Product page at
571 <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
574 tristate "3dfx Banshee/Voodoo3+"
577 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
578 graphics card. If M is selected, the module will be called tdfx.
581 tristate "ATI Rage 128"
584 Choose this option if you have an ATI Rage 128 graphics card. If M
585 is selected, the module will be called r128. AGP support for
586 this card is strongly suggested (unless you have a PCI version).
590 source "drivers/input/Kconfig"
592 source "drivers/i2c/Kconfig"
596 source "drivers/media/Kconfig"
598 source "sound/Kconfig"
600 source "drivers/usb/Kconfig"
602 source "drivers/char/watchdog/Kconfig"
604 source "arch/sparc64/oprofile/Kconfig"
606 menu "Kernel hacking"
609 bool "Kernel debugging"
611 Say Y here if you are developing drivers or trying to debug and
612 identify kernel problems.
614 config DEBUG_STACK_USAGE
615 bool "Enable stack utilization instrumentation"
616 depends on DEBUG_KERNEL
618 Enables the display of the minimum amount of free stack which each
619 task has ever had available in the sysrq-T and sysrq-P debug output.
621 This option will slow down process creation somewhat.
624 bool "Debug memory allocations"
625 depends on DEBUG_KERNEL
627 Say Y here to have the kernel do limited verification on memory
628 allocation as well as poisoning memory on free to catch use of freed
632 bool "Magic SysRq key"
633 depends on DEBUG_KERNEL
635 If you say Y here, you will have some control over the system even
636 if the system crashes for example during kernel debugging (e.g., you
637 will be able to flush the buffer cache to disk, reboot the system
638 immediately or dump some status information). This is accomplished
639 by pressing various keys while holding SysRq (Alt+PrintScreen). It
640 also works on a serial console (on PC hardware at least), if you
641 send a BREAK and then within 5 seconds a command keypress. The
642 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
643 unless you really know what this hack does.
645 config DEBUG_SPINLOCK
646 bool "Spinlock debugging"
647 depends on DEBUG_KERNEL
649 Say Y here and build SMP to catch missing spinlock initialization
650 and certain other kinds of spinlock errors commonly made. This is
651 best used in conjunction with the NMI watchdog so that spinlock
652 deadlocks are also debuggable.
654 config DEBUG_SPINLOCK_SLEEP
655 bool "Sleep-inside-spinlock checking"
658 If you say Y here, various routines which may sleep will become very
659 noisy if they are called with a spinlock held.
661 config DEBUG_BUGVERBOSE
662 bool "Verbose BUG() reporting (adds 70K)"
663 depends on DEBUG_KERNEL
665 Say Y here to make BUG() panics output the file name and line number
666 of the BUG call as well as the EIP and oops trace. This aids
667 debugging but costs about 70-100K of memory.
670 bool "D-cache flush debugging"
671 depends on DEBUG_KERNEL
674 bool "Compile the kernel with debug info"
675 depends on DEBUG_KERNEL
677 If you say Y here the resulting kernel image will include
678 debugging info resulting in a larger kernel image.
679 Say Y here only if you plan to use gdb to debug the kernel.
680 If you don't debug the kernel, you can say N.
683 depends on DEBUG_KERNEL
684 bool "Stack Overflow Detection Support"
687 depends on DEBUG_KERNEL
688 bool "Debug BOOTMEM initialization"
690 # We have a custom atomic_dec_and_lock() implementation but it's not
691 # compatible with spinlock debugging so we need to fall back on
692 # the generic version in that case.
695 depends on SMP && !DEBUG_SPINLOCK
700 depends on STACK_DEBUG
710 source "security/Kconfig"
712 source "crypto/Kconfig"