added some suse-specific patches to the kernel.
[linux-flexiantxendom0-3.2.10.git] / arch / mips / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 config MIPS
6         bool
7         default y
8
9 config MMU
10         bool
11         default y
12
13 config SMP
14         bool
15         ---help---
16           This enables support for systems with more than one CPU. If you have
17           a system with only one CPU, like most personal computers, say N. If
18           you have a system with more than one CPU, say Y.
19
20           If you say N here, the kernel will run on single and multiprocessor
21           machines, but will use only one CPU of a multiprocessor machine. If
22           you say Y here, the kernel will run on many, but not all,
23           singleprocessor machines. On a singleprocessor machine, the kernel
24           will run faster if you say N here.
25
26           Note that if you say Y here and choose architecture "586" or
27           "Pentium" under "Processor family", the kernel will not work on 486
28           architectures. Similarly, multiprocessor kernels for the "PPro"
29           architecture may not work on all Pentium based boards.
30
31           People using multiprocessor machines who say Y here should also say
32           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
33           Management" code will be disabled if you say Y here.
34
35           See also the <file:Documentation/smp.tex>,
36           <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
37           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
38           <http://www.tldp.org/docs.html#howto>.
39
40           If you don't know what to do here, say N.
41
42 config GENERIC_ISA_DMA
43         bool
44         default y
45
46
47 mainmenu "Linux Kernel Configuration"
48
49 source "init/Kconfig"
50
51
52 menu "Machine selection"
53
54 config ACER_PICA_61
55         bool "Support for Acer PICA 1 chipset (EXPERIMENTAL)"
56         depends on EXPERIMENTAL
57         help
58           This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
59           kernel that runs on these, say Y here. For details about Linux on
60           the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
61           <http://oss.sgi.com/mips/>.
62
63 config ALGOR_P4032
64         bool "Support for Algorithmics P4032 (EXPERIMENTAL)"
65         depends on EXPERIMENTAL
66         help
67           This is an evaluation board of the British company Algorithmics.
68           The board uses the R4300 and a R5230 CPUs.  For more information
69           about this board see <http://www.algor.co.uk/>.
70
71 config BAGET_MIPS
72         bool "Support for BAGET MIPS series (EXPERIMENTAL)"
73         depends on EXPERIMENTAL
74         help
75           This enables support for the Baget, a Russian embedded system.  For
76           more details about the Baget see the Linux/MIPS FAQ on
77           <http://oss.sgi.com/mips/>.
78
79 config DECSTATION
80         bool "Support for DECstations (EXPERIMENTAL)"
81         depends on EXPERIMENTAL
82         ---help---
83           This enables support for DEC's MIPS based workstations.  For details
84           see the Linux/MIPS FAQ on <http://oss.sgi.com/mips/> and the
85           DECstation porting pages on <http://decstation.unix-ag.org/>.
86
87           If you have one of the following DECstation Models you definitely
88           want to choose R4xx0 for the CPU Type:
89
90                 DECstation 5000/50
91                 DECstation 5000/150
92                 DECstation 5000/260
93                 DECsystem 5900/260
94
95           otherwise choose R3000.
96
97 config DDB5074
98         bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
99         depends on EXPERIMENTAL
100         help
101           This enables support for the VR5000-based NEC DDB Vrc-5074
102           evaluation board.
103
104 config MIPS_EV96100
105         bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
106         depends on EXPERIMENTAL
107         help
108           This is an evaluation board based on the Galielo GT-96100 LAN/WAN
109           communications controllers containing a MIPS R5000 compatible core
110           running at 83MHz. Their website is <http://www.galileot.com/>. Say Y
111           here if you wish to build a kernel for this platform.
112
113 config MIPS_EV64120
114         bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
115         depends on EXPERIMENTAL
116         help
117           This is an evaluation board based on the Galileo GT-64120
118           single-chip system controller that contains a MIPS R5000 compatible
119           core running at 75/100MHz.  Their website is located at
120           <http://www.galileot.com/>.  Say Y here if you wish to build a
121           kernel for this platform.
122
123 config EVB_PCI1
124         bool "Enable Second PCI (PCI1)"
125         depends on MIPS_EV64120
126
127 choice
128         prompt "Galileo Chip Clock"
129         depends on MIPS_EV64120
130
131 config SYSCLK_75
132         bool "75"
133
134 config SYSCLK_83
135         bool "83.3"
136
137 config SYSCLK_100_1
138         bool "100"
139
140 endchoice
141
142 config MIPS_ATLAS
143         bool "Support for MIPS Atlas board (EXPERIMENTAL)"
144         depends on EXPERIMENTAL
145         help
146           This enables support for the QED R5231-based MIPS Atlas evaluation
147           board.
148
149 config MIPS_MALTA
150         bool "Support for MIPS Malta board (EXPERIMENTAL)"
151         depends on EXPERIMENTAL
152         help
153           This enables support for the VR5000-based MIPS Malta evaluation
154           board.
155
156 config NINO
157         bool "Support for Philips Nino (EXPERIMENTAL)"
158         depends on EXPERIMENTAL
159         help
160           Say Y here to select a kernel for the Philips Nino Palm PC. The
161           website at <http://www.realitydiluted.com/projects/nino/index.html>
162           will have more information.
163
164 choice
165         prompt "Nino Model Number"
166         depends on NINO
167
168 config NINO_4MB
169         bool "Model-300/301/302/319"
170         help
171           Say Y here to build a kernel specifically for Nino Palm PCs with
172           4MB of memory. These include models 300/301/302/319.
173
174 config NINO_8MB
175         bool "Model-200/210/312/320/325/350/390"
176         help
177           Say Y here to build a kernel specifically for Nino Palm PCs with
178           8MB of memory. These include models 200/210/312/320/325/350/390.
179
180 config NINO_16MB
181         bool "Model-500/510"
182         help
183           Say Y here to build a kernel specifically for Nino 500/501 color
184           Palm PCs from Philips (INCOMPLETE).
185
186 endchoice
187
188 config MIPS_MAGNUM_4000
189         bool "Support for Mips Magnum 4000"
190         help
191           This is a machine with a R4000 100 MHz CPU. To compile a Linux
192           kernel that runs on these, say Y here. For details about Linux on
193           the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
194           <http://oss.sgi.com/mips/>.
195
196 config MOMENCO_OCELOT
197         bool "Support for Momentum Ocelot board"
198         help
199           The Ocelot is a MIPS-based Single Board Computer (SBC) made by
200           Momentum Computer <http://www.momenco.com/>.
201
202 config DDB5476
203         bool "Support for NEC DDB Vrc-5476"
204         help
205           This enables support for the R5432-based NEC DDB Vrc-5476
206           evaluation board.
207
208           Features : kernel debugging, serial terminal, NFS root fs, on-board
209           ether port (Need an additional patch at <http://linux.junsun.net/>),
210           USB, AC97, PCI, PCI VGA card & framebuffer console, IDE controller,
211           PS2 keyboard, PS2 mouse, etc.
212
213 config DDB5477
214         bool "Support for NEC DDB Vrc-5477"
215         help
216           This enables support for the R5432-based NEC DDB Vrc-5477
217           evaluation board.
218
219           Features : kernel debugging, serial terminal, NFS root fs, on-board
220           ether port (Need an additional patch at <http://linux.junsun.net/>),
221           USB, AC97, PCI, etc.
222
223 config OLIVETTI_M700
224         bool "Support for Olivetti M700-10"
225         help
226           This is a machine with a R4000 100 MHz CPU. To compile a Linux
227           kernel that runs on these, say Y here. For details about Linux on
228           the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
229           <http://oss.sgi.com/mips/>.
230
231 config SGI_IP22
232         bool "Support for SGI IP22"
233         help
234           This are the SGI Indy, Challenge S and Indigo2, as well as certain
235           OEM variants like the Tandem CMN B006S. To compile a Linux kernel
236           that runs on these, say Y here.
237
238 config SNI_RM200_PCI
239         bool "Support for SNI RM200 PCI"
240         help
241           The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
242           Nixdorf Informationssysteme (SNI), parent company of Pyramid
243           Technology and now in turn merged with Fujitsu.  Say Y here to
244           support this machine type.
245
246 config MIPS_ITE8172
247         bool "Support for ITE 8172G board"
248         help
249           Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
250           with ATX form factor that utilizes a MIPS R5000 to work with its
251           ITE8172G companion internet appliance chip. The MIPS core can be
252           either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
253           a kernel for this platform.
254
255 config IT8172_REVC
256         bool "Support for older IT8172 (Rev C)"
257         depends on MIPS_ITE8172
258         help
259           Say Y here to support the older, Revision C version of the Integrated
260           Technology Express, Inc. ITE8172 SBC.  Vendor page at
261           <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
262           board at <http://www.mvista.com/allies/semiconductor/ite.html>.
263
264 config QTRONIX_KEYBOARD
265         bool "Enable Qtronix 990P Keyboard Support"
266         depends on MIPS_IVR || MIPS_ITE8172
267         help
268           Images of Qtronix keyboards are at
269           <http://www.qtronix.com/keyboard.html>.
270
271 config IT8172_CIR
272         bool
273         depends on QTRONIX_KEYBOARD && (MIPS_IVR || MIPS_ITE8172)
274         default y
275
276 config PC_KEYB
277         bool "Enable PS2 Keyboard Support" if MIPS_ITE8172 && !QTRONIX_KEYBOARD
278         default y if NINO || MIPS_ITE8172 || DDB5476 || DDB5074 || SNI_RM200_PCI || SGI_IP22 || ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700
279
280 config IT8172_SCR0
281         bool "Enable Smart Card Reader 0 Support "
282         depends on MIPS_IVR || MIPS_ITE8172
283         help
284           Say Y here to support smart-card reader 0 (SCR0) on the Integrated
285           Technology Express, Inc. ITE8172 SBC.  Vendor page at
286           <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
287           board at <http://www.mvista.com/allies/semiconductor/ite.html>.
288
289 config IT8172_SCR1
290         bool "Enable Smart Card Reader 1 Support "
291         depends on MIPS_ITE8172
292         help
293           Say Y here to support smart-card reader 1 (SCR1) on the Integrated
294           Technology Express, Inc. ITE8172 SBC.  Vendor page at
295           <http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
296           board at <http://www.mvista.com/allies/semiconductor/ite.html>.
297
298 config MIPS_IVR
299         bool "Support for Globespan IVR board"
300         help
301           This is an evaluation board built by Globespan to showcase thir
302           iVR (Internet Video Recorder) design. It utilizes a QED RM5231
303           R5000 MIPS core. More information can be found out their website
304           located at <http://www.globespan.net/products/product4.html>P. Say Y
305           here if you wish to build a kernel for this platform.
306
307 config MIPS_PB1000
308         bool "Support for Alchemy Semi PB1000 board"
309         help
310           This is an evaluation board built by Alchemy Semiconducttor to
311           showcase their Au1000 Internet Edge Processor. It is SOC design
312           containing a MIPS32 core running at 266/400/500MHz with many
313           integrated peripherals. Further information can be found at their
314           website, <http://www.alchemysemi.com/>. Say Y here if you wish to
315           build a kernel for this platform.
316
317 config RWSEM_GENERIC_SPINLOCK
318         bool
319         default y
320
321 config RWSEM_XCHGADD_ALGORITHM
322         bool
323
324 #
325 # Select some configuration options automatically for certain systems.
326 #
327 config ISA
328         bool
329         depends on DDB5476 || DDB5074 || SNI_RM200_PCI || ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700
330         default y
331         help
332           Find out whether you have ISA slots on your motherboard.  ISA is the
333           name of a bus system, i.e. the way the CPU talks to the other stuff
334           inside your box.  Other bus systems are PCI, EISA, MicroChannel
335           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
336           newer boards don't support it.  If you have ISA, say Y, otherwise N.
337
338 config EISA
339         bool
340         depends on ISA
341         default y
342         ---help---
343           The Extended Industry Standard Architecture (EISA) bus was
344           developed as an open alternative to the IBM MicroChannel bus.
345
346           The EISA bus provided some of the features of the IBM MicroChannel
347           bus while maintaining backward compatibility with cards made for
348           the older ISA bus.  The EISA bus saw limited use between 1988 and
349           1995 when it was made obsolete by the PCI bus.
350
351           Say Y here if you are building a kernel for an EISA-based machine.
352
353           Otherwise, say N.
354
355 config PCI
356         bool
357         depends on MIPS_IVR || MIPS_ITE8172 || DDB5477 || DDB5476 || DDB5074 || SNI_RM200_PCI || MOMENCO_OCELOT || MIPS_MALTA || MIPS_ATLAS || ALGOR_P4032 || MIPS_EV64120 || MIPS_EV96100
358         default y
359         help
360           Find out whether you have a PCI motherboard. PCI is the name of a
361           bus system, i.e. the way the CPU talks to the other stuff inside
362           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
363           VESA. If you have PCI, say Y, otherwise N.
364
365           The PCI-HOWTO, available from
366           <http://www.tldp.org/docs.html#howto>, contains valuable
367           information about which PCI hardware does work under Linux and which
368           doesn't.
369
370 config MCA
371         bool
372         help
373           MicroChannel Architecture is found in some IBM PS/2 machines and
374           laptops.  It is a bus system similar to PCI or ISA. See
375           <file:Documentation/mca.txt> (and especially the web page given
376           there) before attempting to build an MCA bus kernel.
377
378 config SBUS
379         bool
380
381 config I8259
382         bool
383         depends on DDB5074 || SNI_RM200_PCI || MIPS_MALTA || ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700
384         default y
385
386 config MIPS_GT96100
387         bool
388         depends on MIPS_EV96100
389         default y
390         help
391           Say Y here to support the Galileo Technology GT96100 communications
392           controller card.  There is a web page at <http://www.galileot.com/>.
393
394 config SWAP_IO_SPACE
395         bool
396         depends on MOMENCO_OCELOT || MIPS_MALTA || MIPS_ATLAS || MIPS_EV96100
397         default y
398
399 config NEW_PCI
400         bool
401         depends on MIPS_ITE8172 || MIPS_EV96100
402         default y
403
404 config PCI_AUTO
405         bool
406         depends on MIPS_ITE8172 || MIPS_EV96100
407         default y
408
409 config MIPS_GT64120
410         bool
411         depends on MIPS_EV64120
412         default y
413
414 config OLD_TIME_C
415         bool
416         depends on DDB5074 || SNI_RM200_PCI || SGI_IP22 || MOMENCO_OCELOT || ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700 || ALGOR_P4032 || MIPS_EV64120
417         default y
418
419 config ARC32
420         bool
421         depends on SNI_RM200_PCI || SGI_IP22 || ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700
422         default y
423
424 config FB
425         bool
426         depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
427         default y
428         ---help---
429           The frame buffer device provides an abstraction for the graphics
430           hardware. It represents the frame buffer of some video hardware and
431           allows application software to access the graphics hardware through
432           a well-defined interface, so the software doesn't need to know
433           anything about the low-level (hardware register) stuff.
434
435           Frame buffer devices work identically across the different
436           architectures supported by Linux and make the implementation of
437           application programs easier and more portable; at this point, an X
438           server exists which uses the frame buffer device exclusively.
439           On several non-X86 architectures, the frame buffer device is the
440           only way to use the graphics hardware.
441
442           The device is accessed through special device nodes, usually located
443           in the /dev directory, i.e. /dev/fb*.
444
445           You need an utility program called fbset to make full use of frame
446           buffer devices. Please read <file:Documentation/fb/framebuffer.txt>
447           and the Framebuffer-HOWTO at
448           <http://www.tahallah.demon.co.uk/programming/prog.html> for more
449           information.
450
451           Say Y here and to the driver for your graphics board below if you
452           are compiling a kernel for a non-x86 architecture.
453
454           If you are compiling for the x86 architecture, you can say Y if you
455           want to play with it, but it is not essential. Please note that
456           running graphical applications that directly touch the hardware
457           (e.g. an accelerated X server) and that are not frame buffer
458           device-aware may cause unexpected results. If unsure, say N.
459
460 config FB_G364
461         bool
462         depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
463         default y
464
465 config MIPS_JAZZ
466         bool
467         depends on ACER_PICA_61 || MIPS_MAGNUM_4000 || OLIVETTI_M700
468         default y
469
470 config ROTTEN_IRQ
471         bool
472         depends on DDB5476 || DDB5074 || SNI_RM200_PCI || ACER_PICA_61
473         default y
474
475 config HAVE_STD_PC_SERIAL_PORT
476         bool
477         depends on DDB5476 || DDB5074 || MIPS_MALTA
478         default y
479
480 config NEW_IRQ
481         bool
482         depends on MIPS_PB1000 || DDB5477 || SGI_IP22 || MOMENCO_OCELOT || MIPS_MALTA
483         default y
484
485 config SYSCLK_100_2
486         bool
487         depends on MOMENCO_OCELOT
488         default y
489
490 config BOARD_SCACHE
491         bool
492         depends on SGI_IP22
493         default y
494
495 config SGI
496         bool
497         depends on SGI_IP22
498         default y
499
500 config NEW_TIME_C
501         bool
502         depends on DDB5477 || DDB5476
503         default y
504
505 config CPU_LITTLE_ENDIAN
506         bool
507         depends on DDB5477
508         default y
509         help
510           Some MIPS machines can be configured for either little or big endian
511           byte order. These modes require different kernels. Say Y if your
512           machine is little endian, N if it's a big endian machine.
513
514 config IT8712
515         bool
516         depends on MIPS_ITE8172
517         default y
518
519 config MIPS_AU1000
520         bool
521         depends on MIPS_PB1000
522         default y
523
524 config SYSCLK_100
525         bool
526         depends on SYSCLK_100_1 || SYSCLK_100_2
527         default y
528
529 endmenu
530
531
532 menu "CPU selection"
533
534 choice
535         prompt "CPU type"
536         default CPU_R4X00
537
538 config CPU_R3000
539         bool "R3000"
540         ---help---
541           Please make sure to pick the right CPU type. Linux/MIPS is not
542           designed to be generic, i.e. Kernels compiled for R3000 CPUs will
543           *not* work on R4000 machines and vice versa.  However, since most
544           of the supported machines have an R4000 (or similar) CPU, R4x00
545           might be a safe bet.  If the resulting kernel does not work,
546           try to recompile with R3000.
547
548           R3000    MIPS Technologies R3000-series processors,
549           including the 3041, 3051, and 3081.
550
551           R6000    MIPS Technologies R6000-series processors,
552           including the 64474, 64475, 64574 and 64575.
553
554           R4300    MIPS Technologies R4300-series processors.
555
556           R4x00    MIPS Technologies R4000-series processors other than 4300,
557           including the 4640, 4650, and 4700.
558
559           R5000    MIPS Technologies R5000-series processors other than the
560           Nevada.
561
562           R52xx    MIPS Technologies R52xx-series ("Nevada") processors.
563
564           R10000   MIPS Technologies R10000-series processors.
565
566 config CPU_R6000
567         bool "R6000"
568         help
569           MIPS Technologies R6000-series processors, including the 64474,
570           64475, 64574 and 64575.
571
572 config CPU_VR41XX
573         bool "R41xx"
574         help
575           The options selects support for the NEC VR41xx series of processors.
576           Only choose this option if you have one of these processors as a
577           kernel built with this option will not run on any other type of
578           processor or vice versa.
579
580 config CPU_R4300
581         bool "R4300"
582         help
583           MIPS Technologies R4300-series processors.
584
585 config CPU_R4X00
586         bool "R4x00"
587         help
588           MIPS Technologies R4000-series processors other than 4300, including
589           the 4640, 4650, and 4700.
590
591 config CPU_R5000
592         bool "R5000"
593         help
594           MIPS Technologies R5000-series processors other than the Nevada.
595
596 config CPU_R5432
597         bool "R5432"
598
599 config CPU_RM7000
600         bool "RM7000"
601
602 config CPU_NEVADA
603         bool "R52xx"
604         help
605           MIPS Technologies R52x0-series ("Nevada") processors.
606
607 config CPU_R10000
608         bool "R10000"
609         help
610           MIPS Technologies R10000-series processors.
611
612 config CPU_SB1
613         bool "SB1"
614
615 config CPU_MIPS32
616         bool "MIPS32"
617
618 config CPU_MIPS64
619         bool "MIPS64"
620
621 endchoice
622
623 config CPU_ADVANCED
624         bool "Override CPU Options"
625         help
626           Saying yes here allows you to select support for various features
627           your CPU may or may not have.  Most people should say N here.
628
629 config CPU_HAS_LLSC
630         bool "ll/sc Instructions available" if CPU_ADVANCED
631         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX
632         help
633           MIPS R4000 series and later provide the Load Linked (ll)
634           and Store Conditional (sc) instructions. More information is
635           available at <http://www.go-ecs.com/mips/miptek1.htm>.
636
637           Say Y here if your CPU has the ll and sc instructions.  Say Y here
638           for better performance, N if you don't know.  You must say Y here
639           for multiprocessor machines.
640
641 config CPU_HAS_LLDSCD
642         bool "lld/scd Instructions available" if CPU_ADVANCED
643         default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_MIPS32
644         help
645           Say Y here if your CPU has the lld and scd instructions, the 64-bit
646           equivalents of ll and sc.  Say Y here for better performance, N if
647           you don't know.  You must say Y here for multiprocessor machines.
648
649 config CPU_HAS_WB
650         bool "Writeback Buffer available" if CPU_ADVANCED
651         default y if !CPU_ADVANCED && (CPU_R3000 || CPU_VR41XX) && CONFIG_DECSTATION=y
652         help
653           Say N here for slightly better performance.  You must say Y here for
654           machines which require flushing of write buffers in software.  Saying
655           Y is the safe option; N may result in kernel malfunction and crashes.
656
657 endmenu
658
659
660 menu "General setup"
661
662 config CPU_LITTLE_ENDIAN
663         bool "Generate little endian code" if !DECSTATION && !DDB5074 && !DDB5476 && !NINO
664         default y if DECSTATION || DDB5074 || DDB5476 || NINO
665
666 config KCORE_ELF
667         bool
668         depends on PROC_FS
669         default y
670         ---help---
671           If you enabled support for /proc file system then the file
672           /proc/kcore will contain the kernel core image. This can be used
673           in gdb:
674
675           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
676
677           You have two choices here: ELF and A.OUT. Selecting ELF will make
678           /proc/kcore appear in ELF core format as defined by the Executable
679           and Linking Format specification. Selecting A.OUT will choose the
680           old "a.out" format which may be necessary for some old versions
681           of binutils or on some architectures.
682
683           This is especially useful if you have compiled the kernel with the
684           "-g" option to preserve debugging information. It is mainly used
685           for examining kernel data structures on the live kernel so if you
686           don't understand what this means or are not a kernel hacker, just
687           leave it at its default value ELF.
688
689 config ELF_KERNEL
690         bool
691         default y
692
693 config BINFMT_IRIX
694         bool "Include IRIX binary compatibility"
695         depends on !CPU_LITTLE_ENDIAN
696
697 config FORWARD_KEYBOARD
698         bool "Include forward keyboard"
699         depends on !CPU_LITTLE_ENDIAN
700
701 config ARC_CONSOLE
702         bool "ARC console support"
703         depends on ARC32
704
705 config BINFMT_AOUT
706         bool
707         ---help---
708           A.out (Assembler.OUTput) is a set of formats for libraries and
709           executables used in the earliest versions of UNIX. Linux used the
710           a.out formats QMAGIC and ZMAGIC until they were replaced with the
711           ELF format.
712
713           As more and more programs are converted to ELF, the use for a.out
714           will gradually diminish. If you disable this option it will reduce
715           your kernel by one page. This is not much and by itself does not
716           warrant removing support. However its removal is a good idea if you
717           wish to ensure that absolutely none of your programs will use this
718           older executable format. If you don't know what to answer at this
719           point then answer Y. If someone told you "You need a kernel with
720           QMAGIC support" then you'll have to say Y here. You may answer M to
721           compile a.out support as a module and later load the module when you
722           want to use a program or library in a.out format. The module will be
723           called binfmt_aout. Saying M or N here is dangerous though,
724           because some crucial programs on your system might still be in A.OUT
725           format.
726
727 config BINFMT_ELF
728         bool
729         default y
730         ---help---
731           ELF (Executable and Linkable Format) is a format for libraries and
732           executables used across different architectures and operating
733           systems. Saying Y here will enable your kernel to run ELF binaries
734           and enlarge it by about 13 KB. ELF support under Linux has now all
735           but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
736           because it is portable (this does *not* mean that you will be able
737           to run executables from different architectures or operating systems
738           however) and makes building run-time libraries very easy. Many new
739           executables are distributed solely in ELF format. You definitely
740           want to say Y here.
741
742           Information about ELF is contained in the ELF HOWTO available from
743           <http://www.tldp.org/docs.html#howto>.
744
745           If you find that after upgrading from Linux kernel 1.2 and saying Y
746           here, you still can't run any ELF binaries (they just crash), then
747           you'll have to install the newest ELF runtime libraries, including
748           ld.so (check the file <file:Documentation/Changes> for location and
749           latest version).
750
751           If you want to compile this as a module ( = code which can be
752           inserted in and removed from the running kernel whenever you want),
753           say M here and read <file:Documentation/modules.txt>.  The module
754           will be called binfmt_elf. Saying M or N here is dangerous because
755           some crucial programs on your system might be in ELF format.
756
757 config BINFMT_MISC
758         tristate "Kernel support for MISC binaries"
759         ---help---
760           If you say Y here, it will be possible to plug wrapper-driven binary
761           formats into the kernel. You will like this especially when you use
762           programs that need an interpreter to run like Java, Python or
763           Emacs-Lisp. It's also useful if you often run DOS executables under
764           the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
765           <http://www.tldp.org/docs.html#howto>). Once you have
766           registered such a binary class with the kernel, you can start one of
767           those programs simply by typing in its name at a shell prompt; Linux
768           will automatically feed it to the correct interpreter.
769
770           You can do other nice things, too. Read the file
771           <file:Documentation/binfmt_misc.txt> to learn how to use this
772           feature, and <file:Documentation/java.txt> for information about how
773           to include Java support.
774
775           You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
776           use this part of the kernel.
777
778           You may say M here for module support and later load the module when
779           you have use for it; the module is called binfmt_misc. If you
780           don't know what to answer at this point, say Y.
781
782 source "drivers/pci/Kconfig"
783
784 config HOTPLUG
785         bool "Support for hot-pluggable devices"
786         ---help---
787           Say Y here if you want to plug devices into your computer while
788           the system is running, and be able to use them quickly.  In many
789           cases, the devices can likewise be unplugged at any time too.
790
791           One well known example of this is PCMCIA- or PC-cards, credit-card
792           size devices such as network cards, modems or hard drives which are
793           plugged into slots found on all modern laptop computers.  Another
794           example, used on modern desktops as well as laptops, is USB.
795
796           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
797           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
798           Then your kernel will automatically call out to a user mode "policy
799           agent" (/sbin/hotplug) to load modules and set up software needed
800           to use devices as you hotplug them.
801
802 source "drivers/pcmcia/Kconfig"
803
804 config TC
805         bool "TURBOchannel support"
806         depends on DECSTATION
807         help
808           TurboChannel is a DEC (now Compaq) bus for Alpha and MIPS processors.
809           Documentation on writing device drivers for TurboChannel is available at:
810           <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
811
812 #    if [ "$CONFIG_TC" = "y" ]; then
813 #       bool ' Access.Bus support' CONFIG_ACCESSBUS
814 #    fi
815 endmenu
816
817
818 if ISA
819 source "drivers/pnp/Kconfig"
820 endif
821
822 source "drivers/mtd/Kconfig"
823
824 source "drivers/parport/Kconfig"
825
826 source "drivers/block/Kconfig"
827
828 source "drivers/md/Kconfig"
829
830
831 menu "ATA/ATAPI/MFM/RLL support"
832         depends on !SGI_IP22 && !DECSTATION
833
834 config IDE
835         tristate "ATA/ATAPI/MFM/RLL support"
836         ---help---
837           If you say Y here, your kernel will be able to manage low cost mass
838           storage units such as ATA/(E)IDE and ATAPI units. The most common
839           cases are IDE hard drives and ATAPI CD-ROM drives.
840
841           If your system is pure SCSI and doesn't use these interfaces, you
842           can say N here.
843
844           Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
845           for mass storage units such as hard disks. It was designed by
846           Western Digital and Compaq Computer in 1984. It was then named
847           ST506. Quite a number of disks use the IDE interface.
848
849           AT Attachment (ATA) is the superset of the IDE specifications.
850           ST506 was also called ATA-1.
851
852           Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
853           ATA-3. It provides support for larger disks (up to 8.4GB by means of
854           the LBA standard), more disks (4 instead of 2) and for other mass
855           storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
856           ATA-4 and provides faster (and more CPU friendly) transfer modes
857           than previous PIO (Programmed processor Input/Output) from previous
858           ATA/IDE standards by means of fast DMA controllers.
859
860           ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
861           CD-ROM drives, similar in many respects to the SCSI protocol.
862
863           SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
864           designed in order to prevent data corruption and disk crash by
865           detecting pre hardware failure conditions (heat, access time, and
866           the like...). Disks built since June 1995 may follow this standard.
867           The kernel itself don't manage this; however there are quite a
868           number of user programs such as smart that can query the status of
869           SMART parameters disk.
870
871           If you want to compile this driver as a module ( = code which can be
872           inserted in and removed from the running kernel whenever you want),
873           say M here and read <file:Documentation/modules.txt>. The module
874           will be called ide.
875
876           For further information, please read <file:Documentation/ide.txt>.
877
878           If unsure, say Y.
879
880 source "drivers/ide/Kconfig"
881
882 endmenu
883
884
885 menu "SCSI support"
886
887 config SCSI
888         tristate "SCSI support"
889         ---help---
890           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
891           any other SCSI device under Linux, say Y and make sure that you know
892           the name of your SCSI host adapter (the card inside your computer
893           that "speaks" the SCSI protocol, also called SCSI controller),
894           because you will be asked for it.
895
896           You also need to say Y here if you want support for the parallel
897           port version of the 100 MB IOMEGA ZIP drive.
898
899           This driver is also available as a module ( = code which can be
900           inserted in and removed from the running kernel whenever you want).
901           The module will be called scsi_mod.  If you want to compile it as
902           a module, say M here and read <file:Documentation/modules.txt> and
903           <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
904           module if your root file system (the one containing the directory /)
905           is located on a SCSI device.
906
907 source "drivers/scsi/Kconfig"
908
909 endmenu
910
911
912 if !DECSTATION && !SGI_IP22
913 source "drivers/message/i2o/Kconfig"
914 endif
915
916 source "net/Kconfig"
917
918 source "net/ax25/Kconfig"
919
920 source "net/irda/Kconfig"
921
922 source "drivers/isdn/Kconfig"
923
924 source "drivers/telephony/Kconfig"
925
926
927 menu "Old CD-ROM drivers (not SCSI, not IDE)"
928
929 config CD_NO_IDESCSI
930         bool "Support non-SCSI/IDE/ATAPI CDROM drives"
931         ---help---
932           If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI, say Y
933           here, otherwise N. Read the CD-ROM-HOWTO, available from
934           <http://www.tldp.org/docs.html#howto>.
935
936           Note that the answer to this question doesn't directly affect the
937           kernel: saying N will just cause the configurator to skip all
938           the questions about these CD-ROM drives. If you are unsure what you
939           have, say Y and find out whether you have one of the following
940           drives.
941
942           For each of these drivers, a file Documentation/cdrom/{driver_name}
943           exists. Especially in cases where you do not know exactly which kind
944           of drive you have you should read there. Most of these drivers use a
945           file drivers/cdrom/{driver_name}.h where you can define your
946           interface parameters and switch some internal goodies.
947
948           All these CD-ROM drivers are also usable as a module ( = code which
949           can be inserted in and removed from the running kernel whenever you
950           want). If you want to compile them as module, say M instead of Y and
951           read <file:Documentation/modules.txt>.
952
953           If you want to use any of these CD-ROM drivers, you also have to
954           answer Y or M to "ISO 9660 CD-ROM file system support" below (this
955           answer will get "defaulted" for you if you enable any of the Linux
956           CD-ROM drivers).
957
958 source "drivers/cdrom/Kconfig"
959
960 endmenu
961
962 source "drivers/input/Kconfig"
963
964 source "drivers/char/Kconfig"
965
966 source "drivers/media/Kconfig"
967
968
969 menu "DECStation Character devices"
970         depends on DECSTATION
971
972 config VT
973         bool "Virtual terminal"
974
975 config VT_CONSOLE
976         bool "Support for console on virtual terminal"
977         depends on VT
978
979 config SERIAL
980         tristate "Standard/generic (dumb) serial support"
981         ---help---
982           This selects whether you want to include the driver for the standard
983           serial ports.  The standard answer is Y.  People who might say N
984           here are those that are setting up dedicated Ethernet WWW/FTP
985           servers, or users that have one of the various bus mice instead of a
986           serial mouse and don't intend to use their machine's standard serial
987           port for anything.  (Note that the Cyclades and Stallion multi
988           serial port drivers do not need this driver built in for them to
989           work.)
990
991           If you want to compile this driver as a module, say M here and read
992           <file:Documentation/modules.txt>.  The module will be called
993           serial.
994           [WARNING: Do not compile this driver as a module if you are using
995           non-standard serial ports, since the configuration information will
996           be lost when the driver is unloaded.  This limitation may be lifted
997           in the future.]
998
999           BTW1: If you have a mouseman serial mouse which is not recognized by
1000           the X window system, try running gpm first.
1001
1002           BTW2: If you intend to use a software modem (also called Winmodem)
1003           under Linux, forget it.  These modems are crippled and require
1004           proprietary drivers which are only available under Windows.
1005
1006           Most people will say Y or M here, so that they can use serial mice,
1007           modems and similar devices connecting to the standard serial ports.
1008
1009 config DZ
1010         bool "DZ11 Serial Support"
1011         depends on SERIAL=y
1012         help
1013           DZ11-family serial controllers for VAXstations, including the
1014           DC7085, M7814, and M7819.
1015
1016 config ZS
1017         bool "Z85C30 Serial Support"
1018         depends on SERIAL=y && TC
1019         help
1020           Documentation on the Zilog 85C350 serial communications controller
1021           is downloadable at <http://www.zilog.com/pdfs/serial/z85c30.pdf>.
1022
1023 config SERIAL_CONSOLE
1024         bool "Support for console on serial port"
1025         depends on SERIAL=y
1026         ---help---
1027           If you say Y here, it will be possible to use a serial port as the
1028           system console (the system console is the device which receives all
1029           kernel messages and warnings and which allows logins in single user
1030           mode). This could be useful if some terminal or printer is connected
1031           to that serial port.
1032
1033           Even if you say Y here, the currently visible virtual console
1034           (/dev/tty0) will still be used as the system console by default, but
1035           you can alter that using a kernel command line option such as
1036           "console=ttyS1". (Try "man bootparam" or see the documentation of
1037           your boot loader (lilo or loadlin) about how to pass options to the
1038           kernel at boot time.)
1039
1040           If you don't have a VGA card installed and you say Y here, the
1041           kernel will automatically use the first serial line, /dev/ttyS0, as
1042           system console.
1043
1044           If unsure, say N.
1045
1046 config UNIX98_PTYS
1047         bool "Unix98 PTY support"
1048
1049 config UNIX98_PTY_COUNT
1050         int "Maximum number of Unix98 PTYs in use (0-2048)"
1051         depends on UNIX98_PTYS
1052         default "256"
1053
1054 #   if [ "$CONFIG_ACCESSBUS" = "y" ]; then
1055 #      bool 'MAXINE Access.Bus mouse (VSXXX-BB/GB) support' CONFIG_DTOP_MOUSE
1056 #   fi
1057 config RTC
1058         tristate "Enhanced Real Time Clock Support"
1059
1060 endmenu
1061
1062
1063 menu "SGI Character devices"
1064         depends on SGI_IP22
1065
1066 config VT
1067         bool "Virtual terminal"
1068
1069 config VT_CONSOLE
1070         bool "Support for console on virtual terminal"
1071         depends on VT
1072
1073 config PSMOUSE
1074         bool "PS/2 mouse support (aka \"auxiliary device\")"
1075         ---help---
1076           The PS/2 mouse connects to a special mouse port that looks much like
1077           the keyboard port (small circular connector with 6 pins). This way,
1078           the mouse does not use any serial ports. This port can also be used
1079           for other input devices like light pens, tablets, keypads. Compaq,
1080           AST and IBM all use this as their mouse port on currently shipping
1081           machines. The trackballs of some laptops are PS/2 mice also. In
1082           particular, the C&T 82C710 mouse on TI Travelmates is a PS/2 mouse.
1083
1084           Although PS/2 mice are not technically bus mice, they are explained
1085           in detail in the Busmouse-HOWTO, available from
1086           <http://www.tldp.org/docs.html#howto>.
1087
1088           When using a PS/2 mouse, you can get problems if you want to use the
1089           mouse both on the Linux console and under X. Using the "-R" option
1090           of the Linux mouse managing program gpm (available from
1091           <ftp://gnu.systemy.it/pub/gpm/>) solves this problem, or you can get
1092           the "mconv2" utility from <ftp://ibiblio.org/pub/Linux/system/mouse/>.
1093
1094 config MOUSE
1095         bool
1096         depends on PSMOUSE
1097         default y
1098         ---help---
1099           This is for machines with a mouse which is neither a serial nor a
1100           bus mouse. Examples are PS/2 mice (such as the track balls on some
1101           laptops) and some digitizer pads. Most people have a regular serial
1102           MouseSystem or Microsoft mouse (made by Logitech) that plugs into a
1103           COM port (rectangular with 9 or 25 pins). These people say N here.
1104           If you have something else, read the Busmouse-HOWTO, available from
1105           <http://www.tldp.org/docs.html#howto>. This HOWTO contains
1106           information about all non-serial mice, not just bus mice.
1107
1108           If you have a laptop, you either have to check the documentation or
1109           experiment a bit to find out whether the trackball is a serial mouse
1110           or not; it's best to say Y here for you.
1111
1112           Note that the answer to this question won't directly affect the
1113           kernel: saying N will just cause the configurator to skip all
1114           the questions about non-serial mice. If unsure, say Y.
1115
1116 config UNIX98_PTYS
1117         bool "Unix98 PTY support"
1118
1119 config UNIX98_PTY_COUNT
1120         int "Maximum number of Unix98 PTYs in use (0-2048)"
1121         depends on UNIX98_PTYS
1122         default "256"
1123
1124 endmenu
1125
1126 source "fs/Kconfig"
1127
1128 source "drivers/video/Kconfig"
1129
1130 menu "Sound"
1131         depends on !DECSTATION
1132
1133 config SOUND
1134         tristate "Sound card support"
1135         ---help---
1136           If you have a sound card in your computer, i.e. if it can say more
1137           than an occasional beep, say Y.  Be sure to have all the information
1138           about your sound card and its configuration down (I/O port,
1139           interrupt and DMA channel), because you will be asked for it.
1140
1141           You want to read the Sound-HOWTO, available from
1142           <http://www.tldp.org/docs.html#howto>. General information about
1143           the modular sound system is contained in the files
1144           <file:Documentation/sound/Introduction>.  The file
1145           <file:Documentation/sound/README.OSS> contains some slightly
1146           outdated but still useful information as well.
1147
1148           If you have a PnP sound card and you want to configure it at boot
1149           time using the ISA PnP tools (read
1150           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
1151           compile the sound card support as a module ( = code which can be
1152           inserted in and removed from the running kernel whenever you want)
1153           and load that module after the PnP configuration is finished.  To do
1154           this, say M here and read <file:Documentation/modules.txt> as well
1155           as <file:Documentation/sound/README.modules>; the module will be
1156           called soundcore.
1157
1158           I'm told that even without a sound card, you can make your computer
1159           say more than an occasional beep, by programming the PC speaker.
1160           Kernel patches and supporting utilities to do that are in the pcsp
1161           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
1162
1163 source "sound/Kconfig"
1164
1165 endmenu
1166
1167 source "drivers/sgi/Kconfig"
1168
1169 source "drivers/usb/Kconfig"
1170
1171
1172 menu "Kernel hacking"
1173
1174 config CROSSCOMPILE
1175         bool "Are you using a crosscompiler"
1176         help
1177           Say Y here if you are compiling the kernel on a different
1178           architecture than the one it is intended to run on.
1179
1180 config REMOTE_DEBUG
1181         bool "Remote GDB kernel debugging"
1182         depends on SERIAL=y || AU1000_UART
1183         help
1184           If you say Y here, it will be possible to remotely debug the MIPS
1185           kernel using gdb. This enlarges your kernel image disk size by
1186           several megabytes and requires a machine with more than 16 MB,
1187           better 32 MB RAM to avoid excessive linking time. This is only
1188           useful for kernel hackers. If unsure, say N.
1189
1190 config GDB_CONSOLE
1191         bool "Console output to GDB"
1192         depends on REMOTE_DEBUG
1193         help
1194           If you are using GDB for remote debugging over a serial port and
1195           would like kernel messages to be formatted into GDB $O packets so
1196           that GDB prints them as program output, say 'Y'.
1197
1198 config LL_DEBUG
1199         bool "Low-level debugging"
1200         depends on SERIAL=y
1201         help
1202           Enable low-level debugging assertion macros in the kernel code.
1203           Currently used only by the time services code in the MIPS port.
1204           Don't turn this on unless you know what you are doing.
1205
1206 config MAGIC_SYSRQ
1207         bool "Magic SysRq key"
1208         help
1209           If you say Y here, you will have some control over the system even
1210           if the system crashes for example during kernel debugging (e.g., you
1211           will be able to flush the buffer cache to disk, reboot the system
1212           immediately or dump some status information). This is accomplished
1213           by pressing various keys while holding SysRq (Alt+PrintScreen). It
1214           also works on a serial console (on PC hardware at least), if you
1215           send a BREAK and then within 5 seconds a command keypress. The
1216           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
1217           unless you really know what this hack does.
1218
1219 config MIPS_UNCACHED
1220         bool "Run uncached"
1221         depends on !SMP
1222         help
1223           If you say Y here there kernel will disable all CPU caches.  This will
1224           reduce the system's performance dramatically but can help finding
1225           otherwise hard to track bugs.  It can also useful if you're doing
1226           hardware debugging with a logic analyzer and need to see all traffic
1227           on the bus.
1228
1229 config NR_CPUS
1230         int "Maximum number of CPUs (2-32)"
1231         depends on SMP
1232         default "32"
1233
1234 endmenu
1235
1236 source "security/Kconfig"
1237
1238 source "crypto/Kconfig"
1239
1240 source "lib/Kconfig"
1241
1242 source "suse/Kconfig"
1243