6a4733683f0fa746eb8fedaeb3ddef67c2d78ce0
[safe/jmp/linux-2.6] / arch / sparc64 / Kconfig
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.
4 #
5
6 mainmenu "Linux/UltraSPARC Kernel Configuration"
7
8 config 64BIT
9         def_bool y
10
11 config MMU
12         bool
13         default y
14
15 config TIME_INTERPOLATION
16         bool
17         default y
18
19 choice
20         prompt "Kernel page size"
21         default SPARC64_PAGE_SIZE_8KB
22
23 config SPARC64_PAGE_SIZE_8KB
24         bool "8KB"
25         help
26           This lets you select the page size of the kernel.
27
28           8KB and 64KB work quite well, since Sparc ELF sections
29           provide for up to 64KB alignment.
30
31           Therefore, 512KB and 4MB are for expert hackers only.
32
33           If you don't know what to do, choose 8KB.
34
35 config SPARC64_PAGE_SIZE_64KB
36         bool "64KB"
37
38 config SPARC64_PAGE_SIZE_512KB
39         bool "512KB"
40
41 config SPARC64_PAGE_SIZE_4MB
42         bool "4MB"
43
44 endchoice
45
46 config SECCOMP
47         bool "Enable seccomp to safely compute untrusted bytecode"
48         depends on PROC_FS
49         default y
50         help
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.
60
61           If unsure, say Y. Only embedded should say N here.
62
63 source kernel/Kconfig.hz
64
65 source "init/Kconfig"
66
67 config SYSVIPC_COMPAT
68         bool
69         depends on COMPAT && SYSVIPC
70         default y
71
72 menu "General machine setup"
73
74 config BBC_I2C
75         tristate "UltraSPARC-III bootbus i2c controller driver"
76         depends on PCI
77         help
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.
84
85 config VT
86         bool "Virtual terminal" if EMBEDDED
87         select INPUT
88         default y
89         ---help---
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>.
98
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.
106
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.
112
113           If unsure, say Y, or else you won't be able to do much with your new
114           shiny Linux system :-)
115
116 config VT_CONSOLE
117         bool "Support for console on virtual terminal" if EMBEDDED
118         depends on VT
119         default y
120         ---help---
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).
128
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.)
135
136           If unsure, say Y.
137
138 config HW_CONSOLE
139         bool
140         depends on VT
141         default y
142
143 config SMP
144         bool "Symmetric multi-processing support"
145         ---help---
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
148           one CPU, say Y.
149
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.
155
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.
159
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>.
163
164           If you don't know what to do here, say N.
165
166 config PREEMPT
167         bool "Preemptible Kernel"
168         help
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
173           under load.
174
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.
177
178 config NR_CPUS
179         int "Maximum number of CPUs (2-64)"
180         range 2 64
181         depends on SMP
182         default "32"
183
184 source "drivers/cpufreq/Kconfig"
185
186 config US3_FREQ
187         tristate "UltraSPARC-III CPU Frequency driver"
188         depends on CPU_FREQ
189         select CPU_FREQ_TABLE
190         help
191           This adds the CPUFreq driver for UltraSPARC-III processors.
192
193           For details, take a look at <file:Documentation/cpu-freq>.
194
195           If in doubt, say N.
196
197 config US2E_FREQ
198         tristate "UltraSPARC-IIe CPU Frequency driver"
199         depends on CPU_FREQ
200         select CPU_FREQ_TABLE
201         help
202           This adds the CPUFreq driver for UltraSPARC-IIe processors.
203
204           For details, take a look at <file:Documentation/cpu-freq>.
205
206           If in doubt, say N.
207
208 # Identify this as a Sparc64 build
209 config SPARC64
210         bool
211         default y
212         help
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/>.
218
219 # Global things across all Sun machines.
220 config RWSEM_GENERIC_SPINLOCK
221         bool
222
223 config RWSEM_XCHGADD_ALGORITHM
224         bool
225         default y
226
227 config GENERIC_CALIBRATE_DELAY
228         bool
229         default y
230
231 choice
232         prompt "SPARC64 Huge TLB Page Size"
233         depends on HUGETLB_PAGE
234         default HUGETLB_PAGE_SIZE_4MB
235
236 config HUGETLB_PAGE_SIZE_4MB
237         bool "4MB"
238
239 config HUGETLB_PAGE_SIZE_512K
240         depends on !SPARC64_PAGE_SIZE_4MB
241         bool "512K"
242
243 config HUGETLB_PAGE_SIZE_64K
244         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512K
245         bool "64K"
246
247 endchoice
248
249 config GENERIC_ISA_DMA
250         bool
251         default y
252
253 config ISA
254         bool
255         help
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.
261
262 config ISAPNP
263         bool
264         help
265           Say Y here if you would like support for ISA Plug and Play devices.
266           Some information is in <file:Documentation/isapnp.txt>.
267
268           To compile this driver as a module, choose M here: the
269           module will be called isapnp.
270
271           If unsure, say Y.
272
273 config EISA
274         bool
275         ---help---
276           The Extended Industry Standard Architecture (EISA) bus was
277           developed as an open alternative to the IBM MicroChannel bus.
278
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.
283
284           Say Y here if you are building a kernel for an EISA-based machine.
285
286           Otherwise, say N.
287
288 config MCA
289         bool
290         help
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.
295
296 config PCMCIA
297         tristate
298         ---help---
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.
305
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>.
310
311           To compile this driver as modules, choose M here: the
312           modules will be called pcmcia_core and ds.
313
314 config SBUS
315         bool
316         default y
317
318 config SBUSCHAR
319         bool
320         default y
321
322 config SUN_AUXIO
323         bool
324         default y
325
326 config SUN_IO
327         bool
328         default y
329
330 config PCI
331         bool "PCI support"
332         help
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.
337
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
341           doesn't.
342
343 config PCI_DOMAINS
344         bool
345         default PCI
346
347 config RTC
348         tristate
349         depends on PCI
350         default y
351         ---help---
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
355           into your computer.
356
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
361           /dev/rtc.
362
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.
366
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>
369           for details.
370
371           To compile this driver as a module, choose M here: the
372           module will be called rtc.
373
374 source "drivers/pci/Kconfig"
375
376 config SUN_OPENPROMFS
377         tristate "Openprom tree appears in /proc/openprom"
378         help
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".
382
383           To compile the /proc/openprom support as a module, choose M here: the
384           module will be called openpromfs.  If unsure, choose M.
385
386 config SPARC32_COMPAT
387         bool "Kernel support for Linux/Sparc 32bit binary compatibility"
388         help
389           This allows you to run 32-bit binaries on your Ultra.
390           Everybody wants this; say Y.
391
392 config COMPAT
393         bool
394         depends on SPARC32_COMPAT
395         default y
396
397 config UID16
398         bool
399         depends on SPARC32_COMPAT
400         default y
401
402 config BINFMT_ELF32
403         tristate "Kernel support for 32-bit ELF binaries"
404         depends on SPARC32_COMPAT
405         help
406           This allows you to run 32-bit Linux/ELF binaries on your Ultra.
407           Everybody wants this; say Y.
408
409 config BINFMT_AOUT32
410         bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
411         depends on SPARC32_COMPAT
412         help
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.
416
417 source "fs/Kconfig.binfmt"
418
419 config SUNOS_EMUL
420         bool "SunOS binary emulation"
421         depends on BINFMT_AOUT32
422         help
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.
428
429 config SOLARIS_EMUL
430         tristate "Solaris binary emulation (EXPERIMENTAL)"
431         depends on SPARC32_COMPAT && EXPERIMENTAL
432         help
433           This is experimental code which will enable you to run (many)
434           Solaris binaries on your SPARC Linux machine.
435
436           To compile this code as a module, choose M here: the
437           module will be called solaris.
438
439 source "drivers/parport/Kconfig"
440
441 config PRINTER
442         tristate "Parallel printer support"
443         depends on PARPORT
444         ---help---
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>.
450
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.
456
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>.
462
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.
465
466 config PPDEV
467         tristate "Support for user-space parallel port device drivers"
468         depends on PARPORT
469         ---help---
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
473           IDs).
474
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.
478
479           To compile this driver as a module, choose M here: the
480           module will be called ppdev.
481
482           If unsure, say N.
483
484 config ENVCTRL
485         tristate "SUNW, envctrl support"
486         depends on PCI
487         help
488           Kernel support for temperature and fan monitoring on Sun SME
489           machines.
490
491           To compile this driver as a module, choose M here: the
492           module will be called envctrl.
493
494 config DISPLAY7SEG
495         tristate "7-Segment Display support"
496         depends on PCI
497         ---help---
498           This is the driver for the 7-segment display and LED present on
499           Sun Microsystems CompactPCI models CP1400 and CP1500.
500
501           To compile this driver as a module, choose M here: the
502           module will be called display7seg.
503
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.
507
508 config CMDLINE_BOOL
509         bool "Default bootloader kernel arguments"
510
511 config CMDLINE
512         string "Initial kernel command string"
513         depends on CMDLINE_BOOL
514         default "console=ttyS0,9600 root=/dev/sda1"
515         help
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.
521
522           NOTE: This option WILL override the PROM bootargs setting!
523
524 source "mm/Kconfig"
525
526 endmenu
527
528 source "drivers/base/Kconfig"
529
530 source "drivers/video/Kconfig"
531
532 source "drivers/serial/Kconfig"
533
534 source "drivers/sbus/char/Kconfig"
535
536 source "drivers/mtd/Kconfig"
537
538 source "drivers/block/Kconfig"
539
540 source "drivers/ide/Kconfig"
541
542 source "drivers/scsi/Kconfig"
543
544 source "drivers/fc4/Kconfig"
545
546 source "drivers/md/Kconfig"
547
548 if PCI
549 source "drivers/message/fusion/Kconfig"
550 endif
551
552 source "drivers/ieee1394/Kconfig"
553
554 source "net/Kconfig"
555
556 source "drivers/isdn/Kconfig"
557
558 source "drivers/telephony/Kconfig"
559
560 # This one must be before the filesystem configs. -DaveM
561
562 menu "Unix98 PTY support"
563
564 config UNIX98_PTYS
565         bool "Unix98 PTY support"
566         ---help---
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
572           and xterms.
573
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.
582
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.
586
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.
591
592 config UNIX98_PTY_COUNT
593         int "Maximum number of Unix98 PTYs in use (0-2048)"
594         depends on UNIX98_PTYS
595         default "256"
596         help
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.
602
603           When not in use, each additional set of 256 PTYs occupy
604           approximately 8 KB of kernel memory on 32-bit architectures.
605
606 endmenu
607
608 menu "XFree86 DRI support"
609
610 config DRM
611         bool "Direct Rendering Manager (XFree86 DRI support)"
612         help
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.
620
621 config DRM_FFB
622         tristate "Creator/Creator3D"
623         depends on DRM && BROKEN
624         help
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>.
628
629 config DRM_TDFX
630         tristate "3dfx Banshee/Voodoo3+"
631         depends on DRM
632         help
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.
635
636 config DRM_R128
637         tristate "ATI Rage 128"
638         depends on DRM
639         help
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).
643
644 endmenu
645
646 source "drivers/input/Kconfig"
647
648 source "drivers/i2c/Kconfig"
649
650 source "fs/Kconfig"
651
652 source "drivers/media/Kconfig"
653
654 source "sound/Kconfig"
655
656 source "drivers/usb/Kconfig"
657
658 source "drivers/infiniband/Kconfig"
659
660 source "drivers/char/watchdog/Kconfig"
661
662 source "arch/sparc64/oprofile/Kconfig"
663
664 source "arch/sparc64/Kconfig.debug"
665
666 source "security/Kconfig"
667
668 source "crypto/Kconfig"
669
670 source "lib/Kconfig"