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"
15 config TIME_INTERPOLATION
20 prompt "Kernel page size"
21 default SPARC64_PAGE_SIZE_8KB
23 config SPARC64_PAGE_SIZE_8KB
26 This lets you select the page size of the kernel.
28 8KB and 64KB work quite well, since Sparc ELF sections
29 provide for up to 64KB alignment.
31 Therefore, 512KB and 4MB are for expert hackers only.
33 If you don't know what to do, choose 8KB.
35 config SPARC64_PAGE_SIZE_64KB
38 config SPARC64_PAGE_SIZE_512KB
41 config SPARC64_PAGE_SIZE_4MB
47 bool "Enable seccomp to safely compute untrusted bytecode"
51 This kernel feature is useful for number crunching applications
52 that may need to compute untrusted bytecode during their
53 execution. By using pipes or other transports made available to
54 the process as file descriptors supporting the read/write
55 syscalls, it's possible to isolate those applications in
56 their own address space using seccomp. Once seccomp is
57 enabled via /proc/<pid>/seccomp, it cannot be disabled
58 and the task is only allowed to execute a few safe syscalls
59 defined by each seccomp mode.
61 If unsure, say Y. Only embedded should say N here.
63 source kernel/Kconfig.hz
69 depends on COMPAT && SYSVIPC
72 menu "General machine setup"
75 tristate "UltraSPARC-III bootbus i2c controller driver"
78 The BBC devices on the UltraSPARC III have two I2C controllers. The
79 first I2C controller connects mainly to configuration PROMs (NVRAM,
80 CPU configuration, DIMM types, etc.). The second I2C controller
81 connects to environmental control devices such as fans and
82 temperature sensors. The second controller also connects to the
83 smartcard reader, if present. Say Y to enable support for these.
86 bool "Virtual terminal" if EMBEDDED
90 If you say Y here, you will get support for terminal devices with
91 display and keyboard devices. These are called "virtual" because you
92 can run several virtual terminals (also called virtual consoles) on
93 one physical terminal. This is rather useful, for example one
94 virtual terminal can collect system messages and warnings, another
95 one can be used for a text-mode user session, and a third could run
96 an X session, all in parallel. Switching between virtual terminals
97 is done with certain key combinations, usually Alt-<function key>.
99 The setterm command ("man setterm") can be used to change the
100 properties (such as colors or beeping) of a virtual terminal. The
101 man page console_codes(4) ("man console_codes") contains the special
102 character sequences that can be used to change those properties
103 directly. The fonts used on virtual terminals can be changed with
104 the setfont ("man setfont") command and the key bindings are defined
105 with the loadkeys ("man loadkeys") command.
107 You need at least one virtual terminal device in order to make use
108 of your keyboard and monitor. Therefore, only people configuring an
109 embedded system would want to say N here in order to save some
110 memory; the only way to log into such a system is then via a serial
111 or network connection.
113 If unsure, say Y, or else you won't be able to do much with your new
114 shiny Linux system :-)
117 bool "Support for console on virtual terminal" if EMBEDDED
121 The system console is the device which receives all kernel messages
122 and warnings and which allows logins in single user mode. If you
123 answer Y here, a virtual terminal (the device used to interact with
124 a physical terminal) can be used as system console. This is the most
125 common mode of operations, so you should say Y here unless you want
126 the kernel messages be output only to a serial port (in which case
127 you should say Y to "Console on serial port", below).
129 If you do say Y here, by default the currently visible virtual
130 terminal (/dev/tty0) will be used as system console. You can change
131 that with a kernel command line option such as "console=tty3" which
132 would use the third virtual terminal as system console. (Try "man
133 bootparam" or see the documentation of your boot loader (lilo or
134 loadlin) about how to pass options to the kernel at boot time.)
144 bool "Symmetric multi-processing support"
146 This enables support for systems with more than one CPU. If you have
147 a system with only one CPU, say N. If you have a system with more than
150 If you say N here, the kernel will run on single and multiprocessor
151 machines, but will use only one CPU of a multiprocessor machine. If
152 you say Y here, the kernel will run on many, but not all,
153 singleprocessor machines. On a singleprocessor machine, the kernel
154 will run faster if you say N here.
156 People using multiprocessor machines who say Y here should also say
157 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
158 Management" code will be disabled if you say Y here.
160 See also the <file:Documentation/smp.txt>,
161 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
162 <http://www.tldp.org/docs.html#howto>.
164 If you don't know what to do here, say N.
167 bool "Preemptible Kernel"
169 This option reduces the latency of the kernel when reacting to
170 real-time or interactive events by allowing a low priority process to
171 be preempted even if it is in kernel mode executing a system call.
172 This allows applications to run more reliably even when the system is
175 Say Y here if you are building a kernel for a desktop, embedded
176 or real-time system. Say N if you are unsure.
179 int "Maximum number of CPUs (2-64)"
184 source "drivers/cpufreq/Kconfig"
187 tristate "UltraSPARC-III CPU Frequency driver"
189 select CPU_FREQ_TABLE
191 This adds the CPUFreq driver for UltraSPARC-III processors.
193 For details, take a look at <file:Documentation/cpu-freq>.
198 tristate "UltraSPARC-IIe CPU Frequency driver"
200 select CPU_FREQ_TABLE
202 This adds the CPUFreq driver for UltraSPARC-IIe processors.
204 For details, take a look at <file:Documentation/cpu-freq>.
208 # Identify this as a Sparc64 build
213 SPARC is a family of RISC microprocessors designed and marketed by
214 Sun Microsystems, incorporated. This port covers the newer 64-bit
215 UltraSPARC. The UltraLinux project maintains both the SPARC32 and
216 SPARC64 ports; its web page is available at
217 <http://www.ultralinux.org/>.
219 # Global things across all Sun machines.
220 config RWSEM_GENERIC_SPINLOCK
223 config RWSEM_XCHGADD_ALGORITHM
227 config GENERIC_CALIBRATE_DELAY
232 prompt "SPARC64 Huge TLB Page Size"
233 depends on HUGETLB_PAGE
234 default HUGETLB_PAGE_SIZE_4MB
236 config HUGETLB_PAGE_SIZE_4MB
239 config HUGETLB_PAGE_SIZE_512K
240 depends on !SPARC64_PAGE_SIZE_4MB
243 config HUGETLB_PAGE_SIZE_64K
244 depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512K
249 config GENERIC_ISA_DMA
256 Find out whether you have ISA slots on your motherboard. ISA is the
257 name of a bus system, i.e. the way the CPU talks to the other stuff
258 inside your box. Other bus systems are PCI, EISA, MicroChannel
259 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
260 newer boards don't support it. If you have ISA, say Y, otherwise N.
265 Say Y here if you would like support for ISA Plug and Play devices.
266 Some information is in <file:Documentation/isapnp.txt>.
268 To compile this driver as a module, choose M here: the
269 module will be called isapnp.
276 The Extended Industry Standard Architecture (EISA) bus was
277 developed as an open alternative to the IBM MicroChannel bus.
279 The EISA bus provided some of the features of the IBM MicroChannel
280 bus while maintaining backward compatibility with cards made for
281 the older ISA bus. The EISA bus saw limited use between 1988 and
282 1995 when it was made obsolete by the PCI bus.
284 Say Y here if you are building a kernel for an EISA-based machine.
291 MicroChannel Architecture is found in some IBM PS/2 machines and
292 laptops. It is a bus system similar to PCI or ISA. See
293 <file:Documentation/mca.txt> (and especially the web page given
294 there) before attempting to build an MCA bus kernel.
299 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
300 computer. These are credit-card size devices such as network cards,
301 modems or hard drives often used with laptops computers. There are
302 actually two varieties of these cards: the older 16 bit PCMCIA cards
303 and the newer 32 bit CardBus cards. If you want to use CardBus
304 cards, you need to say Y here and also to "CardBus support" below.
306 To use your PC-cards, you will need supporting software from David
307 Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
308 for location). Please also read the PCMCIA-HOWTO, available from
309 <http://www.tldp.org/docs.html#howto>.
311 To compile this driver as modules, choose M here: the
312 modules will be called pcmcia_core and ds.
333 Find out whether you have a PCI motherboard. PCI is the name of a
334 bus system, i.e. the way the CPU talks to the other stuff inside
335 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
336 VESA. If you have PCI, say Y, otherwise N.
338 The PCI-HOWTO, available from
339 <http://www.tldp.org/docs.html#howto>, contains valuable
340 information about which PCI hardware does work under Linux and which
352 If you say Y here and create a character special file /dev/rtc with
353 major number 10 and minor number 135 using mknod ("man mknod"), you
354 will get access to the real time clock (or hardware clock) built
357 Every PC has such a clock built in. It can be used to generate
358 signals from as low as 1Hz up to 8192Hz, and can also be used
359 as a 24 hour alarm. It reports status information via the file
360 /proc/driver/rtc and its behaviour is set by various ioctls on
363 If you run Linux on a multiprocessor machine and said Y to
364 "Symmetric Multi Processing" above, you should say Y here to read
365 and set the RTC in an SMP compatible fashion.
367 If you think you have a use for such a device (such as periodic data
368 sampling), then say Y here, and read <file:Documentation/rtc.txt>
371 To compile this driver as a module, choose M here: the
372 module will be called rtc.
374 source "drivers/pci/Kconfig"
376 config SUN_OPENPROMFS
377 tristate "Openprom tree appears in /proc/openprom"
379 If you say Y, the OpenPROM device tree will be available as a
380 virtual file system, which you can mount to /proc/openprom by "mount
381 -t openpromfs none /proc/openprom".
383 To compile the /proc/openprom support as a module, choose M here: the
384 module will be called openpromfs. If unsure, choose M.
386 config SPARC32_COMPAT
387 bool "Kernel support for Linux/Sparc 32bit binary compatibility"
389 This allows you to run 32-bit binaries on your Ultra.
390 Everybody wants this; say Y.
394 depends on SPARC32_COMPAT
399 depends on SPARC32_COMPAT
403 tristate "Kernel support for 32-bit ELF binaries"
404 depends on SPARC32_COMPAT
406 This allows you to run 32-bit Linux/ELF binaries on your Ultra.
407 Everybody wants this; say Y.
410 bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
411 depends on SPARC32_COMPAT
413 This allows you to run 32-bit a.out format binaries on your Ultra.
414 If you want to run SunOS binaries (see SunOS binary emulation below)
415 or other a.out binaries, say Y. If unsure, say N.
417 source "fs/Kconfig.binfmt"
420 bool "SunOS binary emulation"
421 depends on BINFMT_AOUT32
423 This allows you to run most SunOS binaries. If you want to do this,
424 say Y here and place appropriate files in /usr/gnemul/sunos. See
425 <http://www.ultralinux.org/faq.html> for more information. If you
426 want to run SunOS binaries on an Ultra you must also say Y to
427 "Kernel support for 32-bit a.out binaries" above.
430 tristate "Solaris binary emulation (EXPERIMENTAL)"
431 depends on SPARC32_COMPAT && EXPERIMENTAL
433 This is experimental code which will enable you to run (many)
434 Solaris binaries on your SPARC Linux machine.
436 To compile this code as a module, choose M here: the
437 module will be called solaris.
439 source "drivers/parport/Kconfig"
442 tristate "Parallel printer support"
445 If you intend to attach a printer to the parallel port of your Linux
446 box (as opposed to using a serial printer; if the connector at the
447 printer has 9 or 25 holes ["female"], then it's serial), say Y.
448 Also read the Printing-HOWTO, available from
449 <http://www.tldp.org/docs.html#howto>.
451 It is possible to share one parallel port among several devices
452 (e.g. printer and ZIP drive) and it is safe to compile the
453 corresponding drivers into the kernel.
454 To compile this driver as a module, choose M here and read
455 <file:Documentation/parport.txt>. The module will be called lp.
457 If you have several parallel ports, you can specify which ports to
458 use with the "lp" kernel command line option. (Try "man bootparam"
459 or see the documentation of your boot loader (lilo or loadlin) about
460 how to pass options to the kernel at boot time.) The syntax of the
461 "lp" command line option can be found in <file:drivers/char/lp.c>.
463 If you have more than 8 printers, you need to increase the LP_NO
464 macro in lp.c and the PARPORT_MAX macro in parport.h.
467 tristate "Support for user-space parallel port device drivers"
470 Saying Y to this adds support for /dev/parport device nodes. This
471 is needed for programs that want portable access to the parallel
472 port, for instance deviceid (which displays Plug-and-Play device
475 This is the parallel port equivalent of SCSI generic support (sg).
476 It is safe to say N to this -- it is not needed for normal printing
477 or parallel port CD-ROM/disk support.
479 To compile this driver as a module, choose M here: the
480 module will be called ppdev.
485 tristate "SUNW, envctrl support"
488 Kernel support for temperature and fan monitoring on Sun SME
491 To compile this driver as a module, choose M here: the
492 module will be called envctrl.
495 tristate "7-Segment Display support"
498 This is the driver for the 7-segment display and LED present on
499 Sun Microsystems CompactPCI models CP1400 and CP1500.
501 To compile this driver as a module, choose M here: the
502 module will be called display7seg.
504 If you do not have a CompactPCI model CP1400 or CP1500, or
505 another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
506 you should say N to this option.
509 bool "Default bootloader kernel arguments"
512 string "Initial kernel command string"
513 depends on CMDLINE_BOOL
514 default "console=ttyS0,9600 root=/dev/sda1"
516 Say Y here if you want to be able to pass default arguments to
517 the kernel. This will be overridden by the bootloader, if you
518 use one (such as SILO). This is most useful if you want to boot
519 a kernel from TFTP, and want default options to be available
520 with having them passed on the command line.
522 NOTE: This option WILL override the PROM bootargs setting!
528 source "drivers/base/Kconfig"
530 source "drivers/video/Kconfig"
532 source "drivers/serial/Kconfig"
534 source "drivers/sbus/char/Kconfig"
536 source "drivers/mtd/Kconfig"
538 source "drivers/block/Kconfig"
540 source "drivers/ide/Kconfig"
542 source "drivers/scsi/Kconfig"
544 source "drivers/fc4/Kconfig"
546 source "drivers/md/Kconfig"
549 source "drivers/message/fusion/Kconfig"
552 source "drivers/ieee1394/Kconfig"
556 source "drivers/isdn/Kconfig"
558 source "drivers/telephony/Kconfig"
560 # This one must be before the filesystem configs. -DaveM
562 menu "Unix98 PTY support"
565 bool "Unix98 PTY support"
567 A pseudo terminal (PTY) is a software device consisting of two
568 halves: a master and a slave. The slave device behaves identical to
569 a physical terminal; the master device is used by a process to
570 read data from and write data to the slave, thereby emulating a
571 terminal. Typical programs for the master side are telnet servers
574 Linux has traditionally used the BSD-like names /dev/ptyxx for
575 masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
576 has a number of problems. The GNU C library glibc 2.1 and later,
577 however, supports the Unix98 naming standard: in order to acquire a
578 pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
579 terminal is then made available to the process and the pseudo
580 terminal slave can be accessed as /dev/pts/<number>. What was
581 traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
583 The entries in /dev/pts/ are created on the fly by a virtual
584 file system; therefore, if you say Y here you should say Y to
585 "/dev/pts file system for Unix98 PTYs" as well.
587 If you want to say Y here, you need to have the C library glibc 2.1
588 or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
589 Read the instructions in <file:Documentation/Changes> pertaining to
590 pseudo terminals. It's safe to say N.
592 config UNIX98_PTY_COUNT
593 int "Maximum number of Unix98 PTYs in use (0-2048)"
594 depends on UNIX98_PTYS
597 The maximum number of Unix98 PTYs that can be used at any one time.
598 The default is 256, and should be enough for desktop systems. Server
599 machines which support incoming telnet/rlogin/ssh connections and/or
600 serve several X terminals may want to increase this: every incoming
601 connection and every xterm uses up one PTY.
603 When not in use, each additional set of 256 PTYs occupy
604 approximately 8 KB of kernel memory on 32-bit architectures.
608 menu "XFree86 DRI support"
611 bool "Direct Rendering Manager (XFree86 DRI support)"
613 Kernel-level support for the Direct Rendering Infrastructure (DRI)
614 introduced in XFree86 4.0. If you say Y here, you need to select
615 the module that's right for your graphics card from the list below.
616 These modules provide support for synchronization, security, and
617 DMA transfers. Please see <http://dri.sourceforge.net/> for more
618 details. You should also select and configure AGP
619 (/dev/agpgart) support.
622 tristate "Creator/Creator3D"
623 depends on DRM && BROKEN
625 Choose this option if you have one of Sun's Creator3D-based graphics
626 and frame buffer cards. Product page at
627 <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
630 tristate "3dfx Banshee/Voodoo3+"
633 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
634 graphics card. If M is selected, the module will be called tdfx.
637 tristate "ATI Rage 128"
640 Choose this option if you have an ATI Rage 128 graphics card. If M
641 is selected, the module will be called r128. AGP support for
642 this card is strongly suggested (unless you have a PCI version).
646 source "drivers/input/Kconfig"
648 source "drivers/i2c/Kconfig"
652 source "drivers/media/Kconfig"
654 source "sound/Kconfig"
656 source "drivers/usb/Kconfig"
658 source "drivers/infiniband/Kconfig"
660 source "drivers/char/watchdog/Kconfig"
662 source "arch/sparc64/oprofile/Kconfig"
664 source "arch/sparc64/Kconfig.debug"
666 source "security/Kconfig"
668 source "crypto/Kconfig"