Linux-2.6.12-rc2
[linux-2.6.git] / 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 source "init/Kconfig"
47
48 config SYSVIPC_COMPAT
49         bool
50         depends on COMPAT && SYSVIPC
51         default y
52
53 menu "General machine setup"
54
55 config BBC_I2C
56         tristate "UltraSPARC-III bootbus i2c controller driver"
57         depends on PCI
58         help
59           The BBC devices on the UltraSPARC III have two I2C controllers.  The
60           first I2C controller connects mainly to configuration PROMs (NVRAM,
61           CPU configuration, DIMM types, etc.).  The second I2C controller
62           connects to environmental control devices such as fans and
63           temperature sensors.  The second controller also connects to the
64           smartcard reader, if present.  Say Y to enable support for these.
65
66 config VT
67         bool "Virtual terminal" if EMBEDDED
68         select INPUT
69         default y
70         ---help---
71           If you say Y here, you will get support for terminal devices with
72           display and keyboard devices. These are called "virtual" because you
73           can run several virtual terminals (also called virtual consoles) on
74           one physical terminal. This is rather useful, for example one
75           virtual terminal can collect system messages and warnings, another
76           one can be used for a text-mode user session, and a third could run
77           an X session, all in parallel. Switching between virtual terminals
78           is done with certain key combinations, usually Alt-<function key>.
79
80           The setterm command ("man setterm") can be used to change the
81           properties (such as colors or beeping) of a virtual terminal. The
82           man page console_codes(4) ("man console_codes") contains the special
83           character sequences that can be used to change those properties
84           directly. The fonts used on virtual terminals can be changed with
85           the setfont ("man setfont") command and the key bindings are defined
86           with the loadkeys ("man loadkeys") command.
87
88           You need at least one virtual terminal device in order to make use
89           of your keyboard and monitor. Therefore, only people configuring an
90           embedded system would want to say N here in order to save some
91           memory; the only way to log into such a system is then via a serial
92           or network connection.
93
94           If unsure, say Y, or else you won't be able to do much with your new
95           shiny Linux system :-)
96
97 config VT_CONSOLE
98         bool "Support for console on virtual terminal" if EMBEDDED
99         depends on VT
100         default y
101         ---help---
102           The system console is the device which receives all kernel messages
103           and warnings and which allows logins in single user mode. If you
104           answer Y here, a virtual terminal (the device used to interact with
105           a physical terminal) can be used as system console. This is the most
106           common mode of operations, so you should say Y here unless you want
107           the kernel messages be output only to a serial port (in which case
108           you should say Y to "Console on serial port", below).
109
110           If you do say Y here, by default the currently visible virtual
111           terminal (/dev/tty0) will be used as system console. You can change
112           that with a kernel command line option such as "console=tty3" which
113           would use the third virtual terminal as system console. (Try "man
114           bootparam" or see the documentation of your boot loader (lilo or
115           loadlin) about how to pass options to the kernel at boot time.)
116
117           If unsure, say Y.
118
119 config HW_CONSOLE
120         bool
121         default y
122
123 config SMP
124         bool "Symmetric multi-processing support"
125         ---help---
126           This enables support for systems with more than one CPU. If you have
127           a system with only one CPU, say N. If you have a system with more than
128           one CPU, say Y.
129
130           If you say N here, the kernel will run on single and multiprocessor
131           machines, but will use only one CPU of a multiprocessor machine. If
132           you say Y here, the kernel will run on many, but not all,
133           singleprocessor machines. On a singleprocessor machine, the kernel
134           will run faster if you say N here.
135
136           People using multiprocessor machines who say Y here should also say
137           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
138           Management" code will be disabled if you say Y here.
139
140           See also the <file:Documentation/smp.txt>,
141           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
142           <http://www.tldp.org/docs.html#howto>.
143
144           If you don't know what to do here, say N.
145
146 config PREEMPT
147         bool "Preemptible Kernel"
148         help
149           This option reduces the latency of the kernel when reacting to
150           real-time or interactive events by allowing a low priority process to
151           be preempted even if it is in kernel mode executing a system call.
152           This allows applications to run more reliably even when the system is
153           under load.
154
155           Say Y here if you are building a kernel for a desktop, embedded
156           or real-time system.  Say N if you are unsure.
157
158 config NR_CPUS
159         int "Maximum number of CPUs (2-64)"
160         range 2 64
161         depends on SMP
162         default "32"
163
164 source "drivers/cpufreq/Kconfig"
165
166 config US3_FREQ
167         tristate "UltraSPARC-III CPU Frequency driver"
168         depends on CPU_FREQ
169         select CPU_FREQ_TABLE
170         help
171           This adds the CPUFreq driver for UltraSPARC-III processors.
172
173           For details, take a look at <file:Documentation/cpu-freq>.
174
175           If in doubt, say N.
176
177 config US2E_FREQ
178         tristate "UltraSPARC-IIe CPU Frequency driver"
179         depends on CPU_FREQ
180         select CPU_FREQ_TABLE
181         help
182           This adds the CPUFreq driver for UltraSPARC-IIe processors.
183
184           For details, take a look at <file:Documentation/cpu-freq>.
185
186           If in doubt, say N.
187
188 # Identify this as a Sparc64 build
189 config SPARC64
190         bool
191         default y
192         help
193           SPARC is a family of RISC microprocessors designed and marketed by
194           Sun Microsystems, incorporated.  This port covers the newer 64-bit
195           UltraSPARC.  The UltraLinux project maintains both the SPARC32 and
196           SPARC64 ports; its web page is available at
197           <http://www.ultralinux.org/>.
198
199 # Global things across all Sun machines.
200 config RWSEM_GENERIC_SPINLOCK
201         bool
202
203 config RWSEM_XCHGADD_ALGORITHM
204         bool
205         default y
206
207 config GENERIC_CALIBRATE_DELAY
208         bool
209         default y
210
211 choice
212         prompt "SPARC64 Huge TLB Page Size"
213         depends on HUGETLB_PAGE
214         default HUGETLB_PAGE_SIZE_4MB
215
216 config HUGETLB_PAGE_SIZE_4MB
217         bool "4MB"
218
219 config HUGETLB_PAGE_SIZE_512K
220         depends on !SPARC64_PAGE_SIZE_4MB
221         bool "512K"
222
223 config HUGETLB_PAGE_SIZE_64K
224         depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512K
225         bool "64K"
226
227 endchoice
228
229 config GENERIC_ISA_DMA
230         bool
231         default y
232
233 config ISA
234         bool
235         help
236           Find out whether you have ISA slots on your motherboard.  ISA is the
237           name of a bus system, i.e. the way the CPU talks to the other stuff
238           inside your box.  Other bus systems are PCI, EISA, MicroChannel
239           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
240           newer boards don't support it.  If you have ISA, say Y, otherwise N.
241
242 config ISAPNP
243         bool
244         help
245           Say Y here if you would like support for ISA Plug and Play devices.
246           Some information is in <file:Documentation/isapnp.txt>.
247
248           To compile this driver as a module, choose M here: the
249           module will be called isapnp.
250
251           If unsure, say Y.
252
253 config EISA
254         bool
255         ---help---
256           The Extended Industry Standard Architecture (EISA) bus was
257           developed as an open alternative to the IBM MicroChannel bus.
258
259           The EISA bus provided some of the features of the IBM MicroChannel
260           bus while maintaining backward compatibility with cards made for
261           the older ISA bus.  The EISA bus saw limited use between 1988 and
262           1995 when it was made obsolete by the PCI bus.
263
264           Say Y here if you are building a kernel for an EISA-based machine.
265
266           Otherwise, say N.
267
268 config MCA
269         bool
270         help
271           MicroChannel Architecture is found in some IBM PS/2 machines and
272           laptops.  It is a bus system similar to PCI or ISA. See
273           <file:Documentation/mca.txt> (and especially the web page given
274           there) before attempting to build an MCA bus kernel.
275
276 config PCMCIA
277         tristate
278         ---help---
279           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
280           computer.  These are credit-card size devices such as network cards,
281           modems or hard drives often used with laptops computers.  There are
282           actually two varieties of these cards: the older 16 bit PCMCIA cards
283           and the newer 32 bit CardBus cards.  If you want to use CardBus
284           cards, you need to say Y here and also to "CardBus support" below.
285
286           To use your PC-cards, you will need supporting software from David
287           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
288           for location).  Please also read the PCMCIA-HOWTO, available from
289           <http://www.tldp.org/docs.html#howto>.
290
291           To compile this driver as modules, choose M here: the
292           modules will be called pcmcia_core and ds.
293
294 config SBUS
295         bool
296         default y
297
298 config SBUSCHAR
299         bool
300         default y
301
302 config SUN_AUXIO
303         bool
304         default y
305
306 config SUN_IO
307         bool
308         default y
309
310 config PCI
311         bool "PCI support"
312         help
313           Find out whether you have a PCI motherboard. PCI is the name of a
314           bus system, i.e. the way the CPU talks to the other stuff inside
315           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
316           VESA. If you have PCI, say Y, otherwise N.
317
318           The PCI-HOWTO, available from
319           <http://www.tldp.org/docs.html#howto>, contains valuable
320           information about which PCI hardware does work under Linux and which
321           doesn't.
322
323 config PCI_DOMAINS
324         bool
325         default PCI
326
327 config RTC
328         tristate
329         depends on PCI
330         default y
331         ---help---
332           If you say Y here and create a character special file /dev/rtc with
333           major number 10 and minor number 135 using mknod ("man mknod"), you
334           will get access to the real time clock (or hardware clock) built
335           into your computer.
336
337           Every PC has such a clock built in. It can be used to generate
338           signals from as low as 1Hz up to 8192Hz, and can also be used
339           as a 24 hour alarm. It reports status information via the file
340           /proc/driver/rtc and its behaviour is set by various ioctls on
341           /dev/rtc.
342
343           If you run Linux on a multiprocessor machine and said Y to
344           "Symmetric Multi Processing" above, you should say Y here to read
345           and set the RTC in an SMP compatible fashion.
346
347           If you think you have a use for such a device (such as periodic data
348           sampling), then say Y here, and read <file:Documentation/rtc.txt>
349           for details.
350
351           To compile this driver as a module, choose M here: the
352           module will be called rtc.
353
354 source "drivers/pci/Kconfig"
355
356 config SUN_OPENPROMFS
357         tristate "Openprom tree appears in /proc/openprom"
358         help
359           If you say Y, the OpenPROM device tree will be available as a
360           virtual file system, which you can mount to /proc/openprom by "mount
361           -t openpromfs none /proc/openprom".
362
363           To compile the /proc/openprom support as a module, choose M here: the
364           module will be called openpromfs.  If unsure, choose M.
365
366 config SPARC32_COMPAT
367         bool "Kernel support for Linux/Sparc 32bit binary compatibility"
368         help
369           This allows you to run 32-bit binaries on your Ultra.
370           Everybody wants this; say Y.
371
372 config COMPAT
373         bool
374         depends on SPARC32_COMPAT
375         default y
376
377 config UID16
378         bool
379         depends on SPARC32_COMPAT
380         default y
381
382 config BINFMT_ELF32
383         tristate "Kernel support for 32-bit ELF binaries"
384         depends on SPARC32_COMPAT
385         help
386           This allows you to run 32-bit Linux/ELF binaries on your Ultra.
387           Everybody wants this; say Y.
388
389 config BINFMT_AOUT32
390         bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
391         depends on SPARC32_COMPAT
392         help
393           This allows you to run 32-bit a.out format binaries on your Ultra.
394           If you want to run SunOS binaries (see SunOS binary emulation below)
395           or other a.out binaries, say Y. If unsure, say N.
396
397 source "fs/Kconfig.binfmt"
398
399 config SUNOS_EMUL
400         bool "SunOS binary emulation"
401         depends on BINFMT_AOUT32
402         help
403           This allows you to run most SunOS binaries.  If you want to do this,
404           say Y here and place appropriate files in /usr/gnemul/sunos. See
405           <http://www.ultralinux.org/faq.html> for more information.  If you
406           want to run SunOS binaries on an Ultra you must also say Y to
407           "Kernel support for 32-bit a.out binaries" above.
408
409 config SOLARIS_EMUL
410         tristate "Solaris binary emulation (EXPERIMENTAL)"
411         depends on SPARC32_COMPAT && EXPERIMENTAL
412         help
413           This is experimental code which will enable you to run (many)
414           Solaris binaries on your SPARC Linux machine.
415
416           To compile this code as a module, choose M here: the
417           module will be called solaris.
418
419 source "drivers/parport/Kconfig"
420
421 config PRINTER
422         tristate "Parallel printer support"
423         depends on PARPORT
424         ---help---
425           If you intend to attach a printer to the parallel port of your Linux
426           box (as opposed to using a serial printer; if the connector at the
427           printer has 9 or 25 holes ["female"], then it's serial), say Y.
428           Also read the Printing-HOWTO, available from
429           <http://www.tldp.org/docs.html#howto>.
430
431           It is possible to share one parallel port among several devices
432           (e.g. printer and ZIP drive) and it is safe to compile the
433           corresponding drivers into the kernel.
434           To compile this driver as a module, choose M here and read
435           <file:Documentation/parport.txt>.  The module will be called lp.
436
437           If you have several parallel ports, you can specify which ports to
438           use with the "lp" kernel command line option.  (Try "man bootparam"
439           or see the documentation of your boot loader (lilo or loadlin) about
440           how to pass options to the kernel at boot time.)  The syntax of the
441           "lp" command line option can be found in <file:drivers/char/lp.c>.
442
443           If you have more than 8 printers, you need to increase the LP_NO
444           macro in lp.c and the PARPORT_MAX macro in parport.h.
445
446 config ENVCTRL
447         tristate "SUNW, envctrl support"
448         depends on PCI
449         help
450           Kernel support for temperature and fan monitoring on Sun SME
451           machines.
452
453           To compile this driver as a module, choose M here: the
454           module will be called envctrl.
455
456 config DISPLAY7SEG
457         tristate "7-Segment Display support"
458         depends on PCI
459         ---help---
460           This is the driver for the 7-segment display and LED present on
461           Sun Microsystems CompactPCI models CP1400 and CP1500.
462
463           To compile this driver as a module, choose M here: the
464           module will be called display7seg.
465
466           If you do not have a CompactPCI model CP1400 or CP1500, or
467           another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
468           you should say N to this option.
469
470 config CMDLINE_BOOL
471         bool "Default bootloader kernel arguments"
472
473 config CMDLINE
474         string "Initial kernel command string"
475         depends on CMDLINE_BOOL
476         default "console=ttyS0,9600 root=/dev/sda1"
477         help
478           Say Y here if you want to be able to pass default arguments to
479           the kernel. This will be overridden by the bootloader, if you
480           use one (such as SILO). This is most useful if you want to boot
481           a kernel from TFTP, and want default options to be available
482           with having them passed on the command line.
483
484           NOTE: This option WILL override the PROM bootargs setting!
485
486 endmenu
487
488 source "drivers/base/Kconfig"
489
490 source "drivers/video/Kconfig"
491
492 source "drivers/serial/Kconfig"
493
494 source "drivers/sbus/char/Kconfig"
495
496 source "drivers/mtd/Kconfig"
497
498 source "drivers/block/Kconfig"
499
500 source "drivers/ide/Kconfig"
501
502 source "drivers/scsi/Kconfig"
503
504 source "drivers/fc4/Kconfig"
505
506 source "drivers/md/Kconfig"
507
508 if PCI
509 source "drivers/message/fusion/Kconfig"
510 endif
511
512 source "drivers/ieee1394/Kconfig"
513
514 source "net/Kconfig"
515
516 source "drivers/isdn/Kconfig"
517
518 source "drivers/telephony/Kconfig"
519
520 # This one must be before the filesystem configs. -DaveM
521
522 menu "Unix98 PTY support"
523
524 config UNIX98_PTYS
525         bool "Unix98 PTY support"
526         ---help---
527           A pseudo terminal (PTY) is a software device consisting of two
528           halves: a master and a slave. The slave device behaves identical to
529           a physical terminal; the master device is used by a process to
530           read data from and write data to the slave, thereby emulating a
531           terminal. Typical programs for the master side are telnet servers
532           and xterms.
533
534           Linux has traditionally used the BSD-like names /dev/ptyxx for
535           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
536           has a number of problems. The GNU C library glibc 2.1 and later,
537           however, supports the Unix98 naming standard: in order to acquire a
538           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
539           terminal is then made available to the process and the pseudo
540           terminal slave can be accessed as /dev/pts/<number>. What was
541           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
542
543           The entries in /dev/pts/ are created on the fly by a virtual
544           file system; therefore, if you say Y here you should say Y to
545           "/dev/pts file system for Unix98 PTYs" as well.
546
547           If you want to say Y here, you need to have the C library glibc 2.1
548           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
549           Read the instructions in <file:Documentation/Changes> pertaining to
550           pseudo terminals. It's safe to say N.
551
552 config UNIX98_PTY_COUNT
553         int "Maximum number of Unix98 PTYs in use (0-2048)"
554         depends on UNIX98_PTYS
555         default "256"
556         help
557           The maximum number of Unix98 PTYs that can be used at any one time.
558           The default is 256, and should be enough for desktop systems. Server
559           machines which support incoming telnet/rlogin/ssh connections and/or
560           serve several X terminals may want to increase this: every incoming
561           connection and every xterm uses up one PTY.
562
563           When not in use, each additional set of 256 PTYs occupy
564           approximately 8 KB of kernel memory on 32-bit architectures.
565
566 endmenu
567
568 menu "XFree86 DRI support"
569
570 config DRM
571         bool "Direct Rendering Manager (XFree86 DRI support)"
572         help
573           Kernel-level support for the Direct Rendering Infrastructure (DRI)
574           introduced in XFree86 4.0. If you say Y here, you need to select
575           the module that's right for your graphics card from the list below.
576           These modules provide support for synchronization, security, and
577           DMA transfers. Please see <http://dri.sourceforge.net/> for more
578           details.  You should also select and configure AGP
579           (/dev/agpgart) support.
580
581 config DRM_FFB
582         tristate "Creator/Creator3D"
583         depends on DRM && BROKEN
584         help
585           Choose this option if you have one of Sun's Creator3D-based graphics
586           and frame buffer cards.  Product page at
587           <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
588
589 config DRM_TDFX
590         tristate "3dfx Banshee/Voodoo3+"
591         depends on DRM
592         help
593           Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
594           graphics card.  If M is selected, the module will be called tdfx.
595
596 config DRM_R128
597         tristate "ATI Rage 128"
598         depends on DRM
599         help
600           Choose this option if you have an ATI Rage 128 graphics card.  If M
601           is selected, the module will be called r128.  AGP support for
602           this card is strongly suggested (unless you have a PCI version).
603
604 endmenu
605
606 source "drivers/input/Kconfig"
607
608 source "drivers/i2c/Kconfig"
609
610 source "fs/Kconfig"
611
612 source "drivers/media/Kconfig"
613
614 source "sound/Kconfig"
615
616 source "drivers/usb/Kconfig"
617
618 source "drivers/infiniband/Kconfig"
619
620 source "drivers/char/watchdog/Kconfig"
621
622 source "arch/sparc64/oprofile/Kconfig"
623
624 source "arch/sparc64/Kconfig.debug"
625
626 source "security/Kconfig"
627
628 source "crypto/Kconfig"
629
630 source "lib/Kconfig"