12053ca0422a0b281a5cc8f878c08794733be5bc
[linux-flexiantxendom0-3.2.10.git] / arch / sh / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/SuperH Kernel Configuration"
7
8 config SUPERH
9         bool
10         default y
11         help
12           The SuperH is a RISC processor targeted for use in embedded systems
13           and consumer electronics; it was also used in the Sega Dreamcast
14           gaming console.  The SuperH port has a home page at
15           <http://www.sh-linux.org/>.
16
17 config MMU
18         bool
19         default y
20
21 config UID16
22         bool
23         default y
24
25 config RWSEM_GENERIC_SPINLOCK
26         bool
27         default y
28
29 config RWSEM_XCHGADD_ALGORITHM
30         bool
31
32 config GENERIC_ISA_DMA
33         bool
34         default y
35
36 source "init/Kconfig"
37
38
39 menu "Processor type and features"
40
41 choice
42         prompt "SuperH system type"
43         default SH_GENERIC
44
45 config SH_GENERIC
46         bool "Generic"
47         ---help---
48           Select Generic if configuring for a generic SuperH system.
49           The "generic" option compiles in *all* the possible hardware
50           support and relies on the sh_mv= kernel commandline option to choose
51           at runtime which routines to use.  "MV" stands for "machine vector";
52           each of the machines below is described by a machine vector.
53
54           Select SolutionEngine if configuring for a Hitachi SH7709
55           or SH7750/7750S evalutation board.
56
57           Select Overdrive if configuring for a ST407750 Overdrive board.
58           More information at
59           <http://linuxsh.sourceforge.net/docs/7750overdrive.php3>.
60
61           Select HP620 if configuring for a HP Jornada HP620.
62           More information (hardware only) at
63           <http://www.hp.com/jornada/>.
64
65           Select HP680 if configuring for a HP Jornada HP680.
66           More information (hardware only) at
67           <http://www.hp.com/jornada/products/680/>.
68
69           Select HP690 if configuring for a HP Jornada HP690.
70           More information (hardware only) at
71           <http://www.hp.com/jornada/products/680/>.
72
73           Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
74           More information at
75           <http://sources.redhat.com/ecos/hardware.html#SuperH>.
76
77           Select DMIDA if configuring for a DataMyte 4000 Industrial
78           Digital Assistant. More information at <http://www.dmida.com/>.
79
80           Select EC3104 if configuring for a system with an Eclipse
81           International EC3104 chip, e.g. the Harris AD2000 or Compaq Aero 8000.
82
83           Select Dreamcast if configuring for a SEGA Dreamcast.
84           More information at
85           <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
86           Dreamcast project is at <http://linuxdc.sourceforge.net/>.
87
88           Select BareCPU if you know what this means, and it applies
89           to your system.
90
91 config SH_SOLUTION_ENGINE
92         bool "SolutionEngine"
93         help
94           Select SolutionEngine if configuring for a Hitachi SH7709
95           or SH7750 evalutation board.
96
97 config SH_7751_SOLUTION_ENGINE
98         bool "SolutionEngine7751"
99         help
100           Select 7751 SolutionEngine if configuring for a Hitachi SH7751
101           evalutation board.
102
103 config SH_STB1_HARP
104         bool "STB1_Harp"
105
106 config SH_STB1_OVERDRIVE
107         bool "STB1_Overdrive"
108
109 config SH_HP620
110         bool "HP620"
111         help
112           Select HP620 if configuring for a HP jornada HP620.
113           More information (hardware only) at
114           <http://www.hp.com/jornada/>.
115
116 config SH_HP680
117         bool "HP680"
118         help
119           Select HP680 if configuring for a HP Jornada HP680.
120           More information (hardware only) at
121           <http://www.hp.com/jornada/products/680/>.
122
123 config SH_HP690
124         bool "HP690"
125         help
126           Select HP690 if configuring for a HP Jornada HP690.
127           More information (hardware only)
128           at <http://www.hp.com/jornada/products/680/>.
129
130 config SH_CQREEK
131         bool "CqREEK"
132         help
133           Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
134           More information at
135           <http://sources.redhat.com/ecos/hardware.html#SuperH>.
136
137 config SH_DMIDA
138         bool "DMIDA"
139         help
140           Select DMIDA if configuring for a DataMyte 4000 Industrial
141           Digital Assistant. More information at <http://www.dmida.com/>.
142
143 config SH_EC3104
144         bool "EC3104"
145         help
146           Select EC3104 if configuring for a system with an Eclipse
147           International EC3104 chip, e.g. the Harris AD2000.
148
149 config SH_DREAMCAST
150         bool "Dreamcast"
151         help
152           Select Dreamcast if configuring for a SEGA Dreamcast.
153           More information at
154           <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
155           Dreamcast project is at <http://linuxdc.sourceforge.net/>.
156
157 config SH_CAT68701
158         bool "CAT68701"
159
160 config SH_BIGSUR
161         bool "BigSur"
162
163 config SH_SH2000
164         bool "SH2000"
165
166 config SH_ADX
167         bool "ADX"
168
169 config SH_UNKNOWN
170         bool "BareCPU"
171         help
172           "Bare CPU" aka "unknown" means an SH-based system which is not one
173           of the specific ones mentioned above, which means you need to enter
174           all sorts of stuff like CONFIG_MEMORY_START because the config
175           system doesn't already know what it is.  You get a machine vector
176           without any platform-specific code in it, so things like the RTC may
177           not work.
178
179           This option is for the early stages of porting to a new machine.
180
181 endchoice
182
183 # The SH7750 RTC module is disabled in the Dreamcast
184 config SH_RTC
185         bool
186         depends on !SH_DREAMCAST
187         default y
188         help
189           Selecting this option will allow the Linux kernel to emulate
190           PC's RTC.
191
192           If unsure, say N.
193
194 config SH_HP600
195         bool
196         depends on SH_HP620 || SH_HP680 || SH_HP690
197         default y
198
199 choice
200         prompt "Processor type"
201         default CPU_SUBTYPE_SH7708
202
203 config CPU_SUBTYPE_SH7707
204         bool "SH7707"
205         ---help---
206           Select the type of SuperH processor you have. This information is
207           used for optimizing and configuration purposes.
208
209           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
210
211           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
212           if you have a 100 Mhz SH-3 HD6417708R CPU.
213
214           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
215
216           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
217
218           Select SH7751 if you have a SH7751
219
220           Select ST40STB1 if you have a ST40STB1
221
222 config CPU_SUBTYPE_SH7708
223         bool "SH7708"
224         help
225           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
226           if you have a 100 Mhz SH-3 HD6417708R CPU.
227
228 config CPU_SUBTYPE_SH7709
229         bool "SH7709"
230         help
231           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
232
233 config CPU_SUBTYPE_SH7750
234         bool "SH7750"
235         help
236           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
237
238 config CPU_SUBTYPE_SH7751
239         bool "SH7751"
240
241 config CPU_SUBTYPE_ST40STB1
242         bool "ST40STB1"
243
244 endchoice
245
246 config CPU_SH3
247         bool
248         depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7708 || CPU_SUBTYPE_SH7707
249         default y
250
251 config CPU_SH4
252         bool
253         depends on CPU_SUBTYPE_ST40STB1 || CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7750
254         default y
255
256 config CPU_LITTLE_ENDIAN
257         bool "Little Endian"
258         help
259           Some MIPS machines can be configured for either little or big endian
260           byte order. These modes require different kernels. Say Y if your
261           machine is little endian, N if it's a big endian machine.
262
263 # Platform-specific memory start and size definitions
264 config MEMORY_START
265         hex "Physical memory start address" if !MEMORY_SET
266         default "08000000" if !MEMORY_SET || SH_ADX || CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
267         default "0c000000" if SH_HP600 || SH_BIGSUR || SH_DREAMCAST || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE
268         ---help---
269           Computers built with Hitachi SuperH processors always
270           map the ROM starting at address zero.  But the processor
271           does not specify the range that RAM takes.  
272
273           The physical memory (RAM) start address will be automatically
274           set to 08000000, unless you selected one of the following
275           processor types: SolutionEngine, Overdrive, HP620, HP680, HP690,
276           in which case the start address will be set to 0c000000.
277
278           Tweak this only when porting to a new machine which is not already
279           known by the config system.  Changing it from the known correct
280           value on any of the known systems will only lead to disaster.
281
282 config MEMORY_SIZE
283         hex "Physical memory size" if !MEMORY_SET
284         default "00400000" if !MEMORY_SET || SH_ADX || CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY || SH_HP600 || SH_BIGSUR || SH_DREAMCAST || SH_SH2000
285         default "04000000" if SH_7751_SOLUTION_ENGINE
286         default "02000000" if SH_SOLUTION_ENGINE
287         help
288           This sets the default memory size assumed by your SH kernel. It can
289           be overridden as normal by the 'mem=' argument on the kernel command
290           line. If unsure, consult your board specifications or just leave it
291           as 0x00400000 which was the default value before this became
292           configurable.
293
294 config MEMORY_SET
295         bool
296         depends on SH_ADX || CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY || SH_HP600 || SH_BIGSUR || SH_DREAMCAST || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE
297         default y
298         help
299           This is an option about which you will never be asked a question.
300           Therefore, I conclude that you do not exist - go away.
301
302           There is a grue here.
303
304 config ST40_LMI_MEMORY
305         bool "Memory on LMI"
306         depends on CPU_SUBTYPE_ST40STB1
307
308 # If none of the above have set memory start/size, ask the user.
309 endmenu
310
311 config DISCONTIGMEM
312         bool
313         depends on SH_HP690
314         default y
315         help
316           Say Y to upport efficient handling of discontiguous physical memory,
317           for architectures which are either NUMA (Non-Uniform Memory Access)
318           or have huge holes in the physical address space for other reasons.
319           See <file:Documentation/vm/numa> for more.
320
321
322 menu "General setup"
323
324 # Even on SuperH devices which don't have an ISA bus,
325 # this variable helps the PCMCIA modules handle
326 # IRQ requesting properly -- Greg Banks.
327 config ISA
328         bool
329         default y
330         help
331           Find out whether you have ISA slots on your motherboard.  ISA is the
332           name of a bus system, i.e. the way the CPU talks to the other stuff
333           inside your box.  Other bus systems are PCI, EISA, MicroChannel
334           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
335           newer boards don't support it.  If you have ISA, say Y, otherwise N.
336
337 config EISA
338         bool
339         ---help---
340           The Extended Industry Standard Architecture (EISA) bus was
341           developed as an open alternative to the IBM MicroChannel bus.
342
343           The EISA bus provided some of the features of the IBM MicroChannel
344           bus while maintaining backward compatibility with cards made for
345           the older ISA bus.  The EISA bus saw limited use between 1988 and
346           1995 when it was made obsolete by the PCI bus.
347
348           Say Y here if you are building a kernel for an EISA-based machine.
349
350           Otherwise, say N.
351
352 config MCA
353         bool
354         help
355           MicroChannel Architecture is found in some IBM PS/2 machines and
356           laptops.  It is a bus system similar to PCI or ISA. See
357           <file:Documentation/mca.txt> (and especially the web page given
358           there) before attempting to build an MCA bus kernel.
359
360 config SBUS
361         bool
362
363 config CF_ENABLER
364         bool "Compact Flash Enabler support"
365         depends on SH_GENERIC || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_ADX
366         ---help---
367           Compact Flash is a small, removable mass storage device introduced
368           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
369           compile in support for Compact Flash devices directly connected to
370           a SuperH processor.  A Compact Flash FAQ is available at
371           <http://www.compactflash.org/faqs/faq.htm>.
372
373           If your board has "Directly Connected" CompactFlash at area 5 or 6,
374           you may want to enable this option.  Then, you can use CF as
375           primary IDE drive (only tested for SanDisk).
376
377           If in doubt, select 'N'.
378
379 choice
380         prompt "Compact Flash Connection Area"
381         depends on CF_ENABLER
382         default CF_AREA6
383
384 config CF_AREA5
385         bool "Area5"
386         help
387           If your board has "Directly Connected" CompactFlash, You should
388           select the area where your CF is connected to.
389
390           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
391           - "Area6" if it is connected to Area 6 (0x18000000)
392
393           "Area6" will work for most boards. For ADX, select "Area5".
394
395 config CF_AREA6
396         bool "Area6"
397
398 endchoice
399
400 config CF_BASE_ADDR
401         hex
402         depends on CF_ENABLER
403         default "b8000000" if CF_AREA6
404         default "b4000000" if CF_AREA5
405
406 config HD64461
407         bool "Hitachi HD64461 companion chip support"
408         ---help---
409           The Hitachi HD64461 provides an interface for
410           the SH7709 CPU, supporting a LCD controller,
411           CRT color controller, IrDA up to 4 Mbps, and a
412           PCMCIA controller supporting 2 slots.
413
414           More information is available at
415           <http://semiconductor.hitachi.com/windowsce/superh/sld013.htm>.
416
417           Say Y if you want support for the HD64461.
418           Otherwise, say N.
419
420 config HD64461_IRQ
421         int "HD64461 IRQ"
422         depends on HD64461
423         default "36"
424         help
425           The default setting of the HD64461 IRQ is 36.
426
427           Do not change this unless you know what you are doing.
428
429 config HD64461_ENABLER
430         bool "HD64461 PCMCIA enabler"
431         depends on HD64461
432         help
433           Say Y here if you want to enable PCMCIA support
434           via the HD64461 companion chip.
435           Otherwise, say N.
436
437 config HD64465
438         bool "Hitachi HD64465 companion chip support"
439         ---help---
440           The Hitachi HD64465 provides an interface for
441           the SH7750 CPU, supporting a LCD controller,
442           CRT color controller, IrDA, USB, PCMCIA,
443           keyboard controller, and a printer interface.
444
445           More information is available at
446           <http://global.hitachi.com/New/cnews/E/1998/981019B.html>.
447
448           Say Y if you want support for the HD64465.
449           Otherwise, say N.
450
451 config HD64465_IOBASE
452         hex "HD64465 start address"
453         depends on HD64465
454         default "b0000000"
455         help
456           The default setting of the HD64465 IO base address is 0xb0000000.
457
458           Do not change this unless you know what you are doing.
459
460 config HD64465_IRQ
461         int "HD64465 IRQ"
462         depends on HD64465
463         default "5"
464         help
465           The default setting of the HD64465 IRQ is 5.
466
467           Do not change this unless you know what you are doing.
468
469 config SH_DMA
470         bool "DMA controller (DMAC) support"
471         help
472           Selecting this option will provide same API as PC's Direct Memory
473           Access Controller(8237A) for SuperH DMAC.
474
475           If unsure, say N.
476
477 config PCI
478         bool "PCI support"
479         help
480           Find out whether you have a PCI motherboard. PCI is the name of a
481           bus system, i.e. the way the CPU talks to the other stuff inside
482           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
483           VESA. If you have PCI, say Y, otherwise N.
484
485           The PCI-HOWTO, available from
486           <http://www.tldp.org/docs.html#howto>, contains valuable
487           information about which PCI hardware does work under Linux and which
488           doesn't.
489
490 choice
491         prompt "PCI access mode"
492         depends on PCI
493         default PCI_GOANY
494
495 config PCI_GOBIOS
496         bool "BIOS"
497         ---help---
498           On PCI systems, the BIOS can be used to detect the PCI devices and
499           determine their configuration. However, some old PCI motherboards
500           have BIOS bugs and may crash if this is done. Also, some embedded
501           PCI-based systems don't have any BIOS at all. Linux can also try to
502           detect the PCI hardware directly without using the BIOS.
503
504           With this option, you can specify how Linux should detect the PCI
505           devices. If you choose "BIOS", the BIOS will be used, if you choose
506           "Direct", the BIOS won't be used, and if you choose "Any", the
507           kernel will try the direct access method and falls back to the BIOS
508           if that doesn't work. If unsure, go with the default, which is
509           "Any".
510
511 config PCI_GODIRECT
512         bool "Direct"
513
514 config PCI_GOANY
515         bool "Any"
516
517 endchoice
518
519 config PCI_BIOS
520         bool
521         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
522         default y
523
524 config PCI_DIRECT
525         bool
526         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
527         default y
528
529 config SH_PCIDMA_NONCOHERENT
530         bool "Cache and PCI noncoherent"
531         depends on PCI
532         help
533           Enable this option if your platform does not have a CPU cache which
534           remains coherent with PCI DMA. It is safest to say 'Y', although you
535           will see better performance if you can say 'N', because the PCI DMA
536           code will not have to flush the CPU's caches. If you have a PCI host
537           bridge integrated with your SH CPU, refer carefully to the chip specs
538           to see if you can say 'N' here. Otherwise, leave it as 'Y'.
539
540 source "drivers/pci/Kconfig"
541
542 config HOTPLUG
543         bool "Support for hot-pluggable devices"
544         ---help---
545           Say Y here if you want to plug devices into your computer while
546           the system is running, and be able to use them quickly.  In many
547           cases, the devices can likewise be unplugged at any time too.
548
549           One well known example of this is PCMCIA- or PC-cards, credit-card
550           size devices such as network cards, modems or hard drives which are
551           plugged into slots found on all modern laptop computers.  Another
552           example, used on modern desktops as well as laptops, is USB.
553
554           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
555           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
556           Then your kernel will automatically call out to a user mode "policy
557           agent" (/sbin/hotplug) to load modules and set up software needed
558           to use devices as you hotplug them.
559
560 source "drivers/pcmcia/Kconfig"
561
562 choice
563         prompt "Kernel core (/proc/kcore) format"
564         depends on PROC_FS
565         default KCORE_ELF
566
567 config KCORE_ELF
568         bool "ELF"
569         ---help---
570           If you enabled support for /proc file system then the file
571           /proc/kcore will contain the kernel core image. This can be used
572           in gdb:
573
574           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
575
576           You have two choices here: ELF and A.OUT. Selecting ELF will make
577           /proc/kcore appear in ELF core format as defined by the Executable
578           and Linking Format specification. Selecting A.OUT will choose the
579           old "a.out" format which may be necessary for some old versions
580           of binutils or on some architectures.
581
582           This is especially useful if you have compiled the kernel with the
583           "-g" option to preserve debugging information. It is mainly used
584           for examining kernel data structures on the live kernel so if you
585           don't understand what this means or are not a kernel hacker, just
586           leave it at its default value ELF.
587
588 config KCORE_AOUT
589         bool "A.OUT"
590         help
591           Not necessary unless you're using a very out-of-date binutils
592           version.  You probably want KCORE_ELF.
593
594 endchoice
595
596 config BINFMT_ELF
597         tristate "Kernel support for ELF binaries"
598         ---help---
599           ELF (Executable and Linkable Format) is a format for libraries and
600           executables used across different architectures and operating
601           systems. Saying Y here will enable your kernel to run ELF binaries
602           and enlarge it by about 13 KB. ELF support under Linux has now all
603           but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
604           because it is portable (this does *not* mean that you will be able
605           to run executables from different architectures or operating systems
606           however) and makes building run-time libraries very easy. Many new
607           executables are distributed solely in ELF format. You definitely
608           want to say Y here.
609
610           Information about ELF is contained in the ELF HOWTO available from
611           <http://www.tldp.org/docs.html#howto>.
612
613           If you find that after upgrading from Linux kernel 1.2 and saying Y
614           here, you still can't run any ELF binaries (they just crash), then
615           you'll have to install the newest ELF runtime libraries, including
616           ld.so (check the file <file:Documentation/Changes> for location and
617           latest version).
618
619           If you want to compile this as a module ( = code which can be
620           inserted in and removed from the running kernel whenever you want),
621           say M here and read <file:Documentation/modules.txt>.  The module
622           will be called binfmt_elf. Saying M or N here is dangerous because
623           some crucial programs on your system might be in ELF format.
624
625 config BINFMT_MISC
626         tristate "Kernel support for MISC binaries"
627         ---help---
628           If you say Y here, it will be possible to plug wrapper-driven binary
629           formats into the kernel. You will like this especially when you use
630           programs that need an interpreter to run like Java, Python or
631           Emacs-Lisp. It's also useful if you often run DOS executables under
632           the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
633           <http://www.tldp.org/docs.html#howto>). Once you have
634           registered such a binary class with the kernel, you can start one of
635           those programs simply by typing in its name at a shell prompt; Linux
636           will automatically feed it to the correct interpreter.
637
638           You can do other nice things, too. Read the file
639           <file:Documentation/binfmt_misc.txt> to learn how to use this
640           feature, and <file:Documentation/java.txt> for information about how
641           to include Java support.
642
643           You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
644           use this part of the kernel.
645
646           You may say M here for module support and later load the module when
647           you have use for it; the module is called binfmt_misc. If you
648           don't know what to answer at this point, say Y.
649
650 source "drivers/parport/Kconfig"
651
652 endmenu
653
654 source "drivers/mtd/Kconfig"
655
656 source "drivers/block/Kconfig"
657
658 source "drivers/md/Kconfig"
659
660
661 menu "ATA/ATAPI/MFM/RLL support"
662
663 config IDE
664         tristate "ATA/ATAPI/MFM/RLL support"
665         ---help---
666           If you say Y here, your kernel will be able to manage low cost mass
667           storage units such as ATA/(E)IDE and ATAPI units. The most common
668           cases are IDE hard drives and ATAPI CD-ROM drives.
669
670           If your system is pure SCSI and doesn't use these interfaces, you
671           can say N here.
672
673           Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
674           for mass storage units such as hard disks. It was designed by
675           Western Digital and Compaq Computer in 1984. It was then named
676           ST506. Quite a number of disks use the IDE interface.
677
678           AT Attachment (ATA) is the superset of the IDE specifications.
679           ST506 was also called ATA-1.
680
681           Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
682           ATA-3. It provides support for larger disks (up to 8.4GB by means of
683           the LBA standard), more disks (4 instead of 2) and for other mass
684           storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
685           ATA-4 and provides faster (and more CPU friendly) transfer modes
686           than previous PIO (Programmed processor Input/Output) from previous
687           ATA/IDE standards by means of fast DMA controllers.
688
689           ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
690           CD-ROM drives, similar in many respects to the SCSI protocol.
691
692           SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
693           designed in order to prevent data corruption and disk crash by
694           detecting pre hardware failure conditions (heat, access time, and
695           the like...). Disks built since June 1995 may follow this standard.
696           The kernel itself don't manage this; however there are quite a
697           number of user programs such as smart that can query the status of
698           SMART parameters disk.
699
700           If you want to compile this driver as a module ( = code which can be
701           inserted in and removed from the running kernel whenever you want),
702           say M here and read <file:Documentation/modules.txt>. The module
703           will be called ide.
704
705           For further information, please read <file:Documentation/ide.txt>.
706
707           If unsure, say Y.
708
709 source "drivers/ide/Kconfig"
710
711 endmenu
712
713
714 menu "SCSI support"
715
716 config SCSI
717         tristate "SCSI support"
718         ---help---
719           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
720           any other SCSI device under Linux, say Y and make sure that you know
721           the name of your SCSI host adapter (the card inside your computer
722           that "speaks" the SCSI protocol, also called SCSI controller),
723           because you will be asked for it.
724
725           You also need to say Y here if you want support for the parallel
726           port version of the 100 MB IOMEGA ZIP drive.
727
728           This driver is also available as a module ( = code which can be
729           inserted in and removed from the running kernel whenever you want).
730           The module will be called scsi_mod.  If you want to compile it as
731           a module, say M here and read <file:Documentation/modules.txt> and
732           <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
733           module if your root file system (the one containing the directory /)
734           is located on a SCSI device.
735
736 source "drivers/scsi/Kconfig"
737
738 endmenu
739
740 source "drivers/ieee1394/Kconfig"
741
742 source "net/Kconfig"
743
744 menu "Old CD-ROM drivers (not SCSI, not IDE)"
745
746 config CD_NO_IDESCSI
747         bool "Support non-SCSI/IDE/ATAPI CDROM drives"
748         ---help---
749           If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI, say Y
750           here, otherwise N. Read the CD-ROM-HOWTO, available from
751           <http://www.tldp.org/docs.html#howto>.
752
753           Note that the answer to this question doesn't directly affect the
754           kernel: saying N will just cause the configurator to skip all
755           the questions about these CD-ROM drives. If you are unsure what you
756           have, say Y and find out whether you have one of the following
757           drives.
758
759           For each of these drivers, a file Documentation/cdrom/{driver_name}
760           exists. Especially in cases where you do not know exactly which kind
761           of drive you have you should read there. Most of these drivers use a
762           file drivers/cdrom/{driver_name}.h where you can define your
763           interface parameters and switch some internal goodies.
764
765           All these CD-ROM drivers are also usable as a module ( = code which
766           can be inserted in and removed from the running kernel whenever you
767           want). If you want to compile them as module, say M instead of Y and
768           read <file:Documentation/modules.txt>.
769
770           If you want to use any of these CD-ROM drivers, you also have to
771           answer Y or M to "ISO 9660 CD-ROM file system support" below (this
772           answer will get "defaulted" for you if you enable any of the Linux
773           CD-ROM drivers).
774
775 source "drivers/cdrom/Kconfig"
776
777 endmenu
778
779 #
780 # input before char - char/joystick depends on it. As does USB.
781 #
782 source "drivers/input/Kconfig"
783
784 #if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then
785 #   source drivers/maple/Config.in
786 #fi
787
788 menu "Character devices"
789
790 config VT
791         bool "Virtual terminal"
792         ---help---
793           If you say Y here, you will get support for terminal devices with
794           display and keyboard devices. These are called "virtual" because you
795           can run several virtual terminals (also called virtual consoles) on
796           one physical terminal. This is rather useful, for example one
797           virtual terminal can collect system messages and warnings, another
798           one can be used for a text-mode user session, and a third could run
799           an X session, all in parallel. Switching between virtual terminals
800           is done with certain key combinations, usually Alt-<function key>.
801
802           The setterm command ("man setterm") can be used to change the
803           properties (such as colors or beeping) of a virtual terminal. The
804           man page console_codes(4) ("man console_codes") contains the special
805           character sequences that can be used to change those properties
806           directly. The fonts used on virtual terminals can be changed with
807           the setfont ("man setfont") command and the key bindings are defined
808           with the loadkeys ("man loadkeys") command.
809
810           You need at least one virtual terminal device in order to make use
811           of your keyboard and monitor. Therefore, only people configuring an
812           embedded system would want to say N here in order to save some
813           memory; the only way to log into such a system is then via a serial
814           or network connection.
815
816           If unsure, say Y, or else you won't be able to do much with your new
817           shiny Linux system :-)
818
819 config VT_CONSOLE
820         bool "Support for console on virtual terminal"
821         depends on VT
822         ---help---
823           The system console is the device which receives all kernel messages
824           and warnings and which allows logins in single user mode. If you
825           answer Y here, a virtual terminal (the device used to interact with
826           a physical terminal) can be used as system console. This is the most
827           common mode of operations, so you should say Y here unless you want
828           the kernel messages be output only to a serial port (in which case
829           you should say Y to "Console on serial port", below).
830
831           If you do say Y here, by default the currently visible virtual
832           terminal (/dev/tty0) will be used as system console. You can change
833           that with a kernel command line option such as "console=tty3" which
834           would use the third virtual terminal as system console. (Try "man
835           bootparam" or see the documentation of your boot loader (lilo or
836           loadlin) about how to pass options to the kernel at boot time.)
837
838           If unsure, say Y.
839
840 config SERIAL
841         tristate "Serial (8250, 16450, 16550 or compatible) support"
842         ---help---
843           This selects whether you want to include the driver for the standard
844           serial ports.  The standard answer is Y.  People who might say N
845           here are those that are setting up dedicated Ethernet WWW/FTP
846           servers, or users that have one of the various bus mice instead of a
847           serial mouse and don't intend to use their machine's standard serial
848           port for anything.  (Note that the Cyclades and Stallion multi
849           serial port drivers do not need this driver built in for them to
850           work.)
851
852           If you want to compile this driver as a module, say M here and read
853           <file:Documentation/modules.txt>.  The module will be called
854           serial.
855           [WARNING: Do not compile this driver as a module if you are using
856           non-standard serial ports, since the configuration information will
857           be lost when the driver is unloaded.  This limitation may be lifted
858           in the future.]
859
860           BTW1: If you have a mouseman serial mouse which is not recognized by
861           the X window system, try running gpm first.
862
863           BTW2: If you intend to use a software modem (also called Winmodem)
864           under Linux, forget it.  These modems are crippled and require
865           proprietary drivers which are only available under Windows.
866
867           Most people will say Y or M here, so that they can use serial mice,
868           modems and similar devices connecting to the standard serial ports.
869
870 config SH_SCI
871         tristate "Serial (SCI, SCIF) support"
872         help
873           Selecting this option will allow the Linux kernel to transfer data
874           over SCI (Serial Communication Interface) and/or SCIF (Serial
875           Communication Interface with FIFO) which are built into the Hitachi
876           SuperH processor.  The option provides 1 to 3 (depending
877           on the CPU model) standard Linux tty devices, /dev/ttySC[012]; one
878           of these is normally used as the system console.
879
880           If in doubt, press "y".
881
882 config SERIAL_CONSOLE
883         bool "Support for console on serial port"
884         depends on SERIAL=y || SH_SCI=y
885         ---help---
886           If you say Y here, it will be possible to use a serial port as the
887           system console (the system console is the device which receives all
888           kernel messages and warnings and which allows logins in single user
889           mode). This could be useful if some terminal or printer is connected
890           to that serial port.
891
892           Even if you say Y here, the currently visible virtual console
893           (/dev/tty0) will still be used as the system console by default, but
894           you can alter that using a kernel command line option such as
895           "console=ttyS1". (Try "man bootparam" or see the documentation of
896           your boot loader (lilo or loadlin) about how to pass options to the
897           kernel at boot time.)
898
899           If you don't have a VGA card installed and you say Y here, the
900           kernel will automatically use the first serial line, /dev/ttyS0, as
901           system console.
902
903           If unsure, say N.
904
905 comment "Unix 98 PTY support"
906
907 config UNIX98_PTYS
908         bool "Unix98 PTY support"
909         ---help---
910           A pseudo terminal (PTY) is a software device consisting of two
911           halves: a master and a slave. The slave device behaves identical to
912           a physical terminal; the master device is used by a process to
913           read data from and write data to the slave, thereby emulating a
914           terminal. Typical programs for the master side are telnet servers
915           and xterms.
916
917           Linux has traditionally used the BSD-like names /dev/ptyxx for
918           masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
919           has a number of problems. The GNU C library glibc 2.1 and later,
920           however, supports the Unix98 naming standard: in order to acquire a
921           pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
922           terminal is then made available to the process and the pseudo
923           terminal slave can be accessed as /dev/pts/<number>. What was
924           traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
925
926           The entries in /dev/pts/ are created on the fly by a virtual
927           file system; therefore, if you say Y here you should say Y to
928           "/dev/pts file system for Unix98 PTYs" as well.
929
930           If you want to say Y here, you need to have the C library glibc 2.1
931           or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
932           Read the instructions in <file:Documentation/Changes> pertaining to
933           pseudo terminals. It's safe to say N.
934
935 config UNIX98_PTY_COUNT
936         int "Maximum number of Unix98 PTYs in use (0-2048)"
937         depends on UNIX98_PTYS
938         default "256"
939         help
940           The maximum number of Unix98 PTYs that can be used at any one time.
941           The default is 256, and should be enough for desktop systems. Server
942           machines which support incoming telnet/rlogin/ssh connections and/or
943           serve several X terminals may want to increase this: every incoming
944           connection and every xterm uses up one PTY.
945
946           When not in use, each additional set of 256 PTYs occupy
947           approximately 8 KB of kernel memory on 32-bit architectures.
948
949 config HEARTBEAT
950         bool "Heartbeat LED"
951         depends on SH_GENERIC || SH_CAT68701 || SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE
952         help
953           Use the power-on LED on your machine as a load meter.  The exact
954           behavior is platform-dependent, but normally the flash frequency is
955           a hyperbolic function of the 5-minute load average.
956
957
958 menu "Maple Bus input peripherals"
959         depends on SH_DREAMCAST && MAPLE
960
961 config MAPLE_KEYBOARD
962         tristate "Maple Bus keyboard support"
963         depends on INPUT
964
965 config MAPLE_MOUSE
966         tristate "Maple Bus mouse support"
967         depends on INPUT
968
969 comment "Input core support is required for Maple input peripherals"
970         depends on INPUT=n
971
972 endmenu
973
974 #source drivers/char/joystick/Config.in
975 config PRINTER
976         tristate "Parallel printer support"
977         depends on PARPORT
978         ---help---
979           If you intend to attach a printer to the parallel port of your Linux
980           box (as opposed to using a serial printer; if the connector at the
981           printer has 9 or 25 holes ["female"], then it's serial), say Y.
982           Also read the Printing-HOWTO, available from
983           <http://www.tldp.org/docs.html#howto>.
984
985           It is possible to share one parallel port among several devices
986           (e.g. printer and ZIP drive) and it is safe to compile the
987           corresponding drivers into the kernel.  If you want to compile this
988           driver as a module however ( = code which can be inserted in and
989           removed from the running kernel whenever you want), say M here and
990           read <file:Documentation/modules.txt> and
991           <file:Documentation/parport.txt>.  The module will be called lp.
992
993           If you have several parallel ports, you can specify which ports to
994           use with the "lp" kernel command line option.  (Try "man bootparam"
995           or see the documentation of your boot loader (lilo or loadlin) about
996           how to pass options to the kernel at boot time.)  The syntax of the
997           "lp" command line option can be found in <file:drivers/char/lp.c>.
998
999           If you have more than 8 printers, you need to increase the LP_NO
1000           macro in lp.c and the PARPORT_MAX macro in parport.h.
1001
1002 config LP_CONSOLE
1003         bool "Support for console on line printer"
1004         depends on PRINTER
1005         ---help---
1006           If you want kernel messages to be printed out as they occur, you
1007           can have a console on the printer. This option adds support for
1008           doing that; to actually get it to happen you need to pass the
1009           option "console=lp0" to the kernel at boot time.
1010
1011           If the printer is out of paper (or off, or unplugged, or too
1012           busy..) the kernel will stall until the printer is ready again.
1013           By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
1014           can make the kernel continue when this happens,
1015           but it'll lose the kernel messages.
1016
1017           If unsure, say N.
1018
1019 config PPDEV
1020         tristate "Support for user-space parallel port device drivers"
1021         depends on PARPORT
1022         ---help---
1023           Saying Y to this adds support for /dev/parport device nodes.  This
1024           is needed for programs that want portable access to the parallel
1025           port, for instance deviceid (which displays Plug-and-Play device
1026           IDs).
1027
1028           This is the parallel port equivalent of SCSI generic support (sg).
1029           It is safe to say N to this -- it is not needed for normal printing
1030           or parallel port CD-ROM/disk support.
1031
1032           This support is also available as a module.  If you want to compile
1033           it as a module, say M here and read
1034           <file:Documentation/modules.txt>.  The module will be called
1035           ppdev.
1036
1037           If unsure, say N.
1038
1039 config PSMOUSE
1040         bool "PS/2 mouse (aka \"auxiliary device\") support"
1041         ---help---
1042           The PS/2 mouse connects to a special mouse port that looks much like
1043           the keyboard port (small circular connector with 6 pins). This way,
1044           the mouse does not use any serial ports. This port can also be used
1045           for other input devices like light pens, tablets, keypads. Compaq,
1046           AST and IBM all use this as their mouse port on currently shipping
1047           machines. The trackballs of some laptops are PS/2 mice also. In
1048           particular, the C&T 82C710 mouse on TI Travelmates is a PS/2 mouse.
1049
1050           Although PS/2 mice are not technically bus mice, they are explained
1051           in detail in the Busmouse-HOWTO, available from
1052           <http://www.tldp.org/docs.html#howto>.
1053
1054           When using a PS/2 mouse, you can get problems if you want to use the
1055           mouse both on the Linux console and under X. Using the "-R" option
1056           of the Linux mouse managing program gpm (available from
1057           <ftp://gnu.systemy.it/pub/gpm/>) solves this problem, or you can get
1058           the "mconv2" utility from <ftp://ibiblio.org/pub/Linux/system/mouse/>.
1059
1060
1061 menu "Watchdog Cards"
1062
1063 config WATCHDOG
1064         bool "Watchdog Timer Support"
1065         ---help---
1066           If you say Y here (and to one of the following options) and create a
1067           character special file /dev/watchdog with major number 10 and minor
1068           number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
1069           subsequently opening the file and then failing to write to it for
1070           longer than 1 minute will result in rebooting the machine. This
1071           could be useful for a networked machine that needs to come back
1072           online as fast as possible after a lock-up. There's both a watchdog
1073           implementation entirely in software (which can sometimes fail to
1074           reboot the machine) and a driver for hardware watchdog boards, which
1075           are more robust and can also keep track of the temperature inside
1076           your computer. For details, read <file:Documentation/watchdog.txt>
1077           in the kernel source.
1078
1079           The watchdog is usually used together with the watchdog daemon
1080           which is available from
1081           <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
1082           also monitor NFS connections and can reboot the machine when the process
1083           table is full.
1084
1085           If unsure, say N.
1086
1087 config WATCHDOG_NOWAYOUT
1088         bool "Disable watchdog shutdown on close"
1089         depends on WATCHDOG
1090         help
1091           The default watchdog behaviour (which you get if you say N here) is
1092           to stop the timer if the process managing it closes the file
1093           /dev/watchdog. It's always remotely possible that this process might
1094           get killed. If you say Y here, the watchdog cannot be stopped once
1095           it has been started.
1096
1097 config SH_WDT
1098         tristate "SH 3/4 Watchdog"
1099         depends on WATCHDOG
1100         help
1101           This driver adds watchdog support for the integrated watchdog in the
1102           SuperH 3 and 4 processors. If you have one of these processors, say Y,
1103           otherwise say N.
1104
1105           This driver is also available as a module ( = code which can be
1106           inserted in and removed from the running kernel whenever you want).
1107           The module is called shwdt. If you want to compile it as a module,
1108           say M here and read Documentation/modules.txt.
1109
1110 endmenu
1111
1112 config RTC
1113         tristate "Enhanced Real Time Clock Support"
1114         ---help---
1115           If you say Y here and create a character special file /dev/rtc with
1116           major number 10 and minor number 135 using mknod ("man mknod"), you
1117           will get access to the real time clock (or hardware clock) built
1118           into your computer.
1119
1120           Every PC has such a clock built in. It can be used to generate
1121           signals from as low as 1Hz up to 8192Hz, and can also be used
1122           as a 24 hour alarm. It reports status information via the file
1123           /proc/driver/rtc and its behaviour is set by various ioctls on
1124           /dev/rtc.
1125
1126           If you run Linux on a multiprocessor machine and said Y to
1127           "Symmetric Multi Processing" above, you should say Y here to read
1128           and set the RTC in an SMP compatible fashion.
1129
1130           If you think you have a use for such a device (such as periodic data
1131           sampling), then say Y here, and read <file:Documentation/rtc.txt>
1132           for details.
1133
1134           This driver is also available as a module ( = code which can be
1135           inserted in and removed from the running kernel whenever you want).
1136           The module is called rtc. If you want to compile it as a module,
1137           say M here and read <file:Documentation/modules.txt>.
1138
1139 source "drivers/char/pcmcia/Kconfig"
1140
1141 endmenu
1142
1143 source "fs/Kconfig"
1144
1145 source "drivers/media/Kconfig"
1146
1147 source "drivers/video/Kconfig"
1148
1149 menu "Sound"
1150
1151 config SOUND
1152         tristate "Sound card support"
1153         ---help---
1154           If you have a sound card in your computer, i.e. if it can say more
1155           than an occasional beep, say Y.  Be sure to have all the information
1156           about your sound card and its configuration down (I/O port,
1157           interrupt and DMA channel), because you will be asked for it.
1158
1159           You want to read the Sound-HOWTO, available from
1160           <http://www.tldp.org/docs.html#howto>. General information about
1161           the modular sound system is contained in the files
1162           <file:Documentation/sound/Introduction>.  The file
1163           <file:Documentation/sound/README.OSS> contains some slightly
1164           outdated but still useful information as well.
1165
1166           If you have a PnP sound card and you want to configure it at boot
1167           time using the ISA PnP tools (read
1168           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
1169           compile the sound card support as a module ( = code which can be
1170           inserted in and removed from the running kernel whenever you want)
1171           and load that module after the PnP configuration is finished.  To do
1172           this, say M here and read <file:Documentation/modules.txt> as well
1173           as <file:Documentation/sound/README.modules>; the module will be
1174           called soundcore.
1175
1176           I'm told that even without a sound card, you can make your computer
1177           say more than an occasional beep, by programming the PC speaker.
1178           Kernel patches and supporting utilities to do that are in the pcsp
1179           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
1180
1181 source "sound/Kconfig"
1182
1183 endmenu
1184
1185
1186 menu "Kernel hacking"
1187
1188 config MAGIC_SYSRQ
1189         bool "Magic SysRq key"
1190         help
1191           If you say Y here, you will have some control over the system even
1192           if the system crashes for example during kernel debugging (e.g., you
1193           will be able to flush the buffer cache to disk, reboot the system
1194           immediately or dump some status information). This is accomplished
1195           by pressing various keys while holding SysRq (Alt+PrintScreen). It
1196           also works on a serial console (on PC hardware at least), if you
1197           send a BREAK and then within 5 seconds a command keypress. The
1198           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
1199           unless you really know what this hack does.
1200
1201 config SH_STANDARD_BIOS
1202         bool "Use LinuxSH standard BIOS"
1203         help
1204           Say Y here if your target has the gdb-sh-stub
1205           package from www.m17n.org (or any conforming standard LinuxSH BIOS)
1206           in FLASH or EPROM.  The kernel will use standard BIOS calls during
1207           boot for various housekeeping tasks (including calls to read and
1208           write characters to a system console, get a MAC address from an
1209           on-board Ethernet interface, and shut down the hardware).  Note this
1210           does not work with machines with an existing operating system in
1211           mask ROM and no flash (WindowsCE machines fall in this category).
1212           If unsure, say N.
1213
1214 config SH_EARLY_PRINTK
1215         bool "Early printk support"
1216         depends on SH_STANDARD_BIOS
1217         help
1218           Say Y here to redirect kernel printk messages to the serial port
1219           used by the SH-IPL bootloader, starting very early in the boot
1220           process and ending when the kernel's serial console is initialised.
1221           This option is only useful porting the kernel to a new machine,
1222           when the kernel may crash or hang before the serial console is
1223           initialised. If unsure, say N.
1224
1225 endmenu
1226
1227 source "security/Kconfig"
1228
1229 source "crypto/Kconfig"
1230
1231 source "lib/Kconfig"
1232