96b91982805316769128ac8e5a00791b5b4cf8bf
[linux-3.10.git] / arch / m68k / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 config M68K
6         bool
7         default y
8
9 config MMU
10         bool
11         default y
12
13 config RWSEM_GENERIC_SPINLOCK
14         bool
15         default y
16
17 config RWSEM_XCHGADD_ALGORITHM
18         bool
19
20 config GENERIC_CALIBRATE_DELAY
21         bool
22         default y
23
24 config ARCH_MAY_HAVE_PC_FDC
25         bool
26         depends on Q40 || (BROKEN && SUN3X)
27         default y
28
29 mainmenu "Linux/68k Kernel Configuration"
30
31 source "init/Kconfig"
32
33 menu "Platform dependent setup"
34
35 config EISA
36         bool
37         ---help---
38           The Extended Industry Standard Architecture (EISA) bus was
39           developed as an open alternative to the IBM MicroChannel bus.
40
41           The EISA bus provided some of the features of the IBM MicroChannel
42           bus while maintaining backward compatibility with cards made for
43           the older ISA bus.  The EISA bus saw limited use between 1988 and
44           1995 when it was made obsolete by the PCI bus.
45
46           Say Y here if you are building a kernel for an EISA-based machine.
47
48           Otherwise, say N.
49
50 config MCA
51         bool
52         help
53           MicroChannel Architecture is found in some IBM PS/2 machines and
54           laptops.  It is a bus system similar to PCI or ISA. See
55           <file:Documentation/mca.txt> (and especially the web page given
56           there) before attempting to build an MCA bus kernel.
57
58 config PCMCIA
59         tristate
60         ---help---
61           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
62           computer.  These are credit-card size devices such as network cards,
63           modems or hard drives often used with laptops computers.  There are
64           actually two varieties of these cards: the older 16 bit PCMCIA cards
65           and the newer 32 bit CardBus cards.  If you want to use CardBus
66           cards, you need to say Y here and also to "CardBus support" below.
67
68           To use your PC-cards, you will need supporting software from David
69           Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
70           for location).  Please also read the PCMCIA-HOWTO, available from
71           <http://www.tldp.org/docs.html#howto>.
72
73           To compile this driver as modules, choose M here: the
74           modules will be called pcmcia_core and ds.
75
76 config SUN3
77         bool "Sun3 support"
78         select M68020
79         select MMU_SUN3 if MMU
80         help
81           This option enables support for the Sun 3 series of workstations
82           (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
83           that all other hardware types must be disabled, as Sun 3 kernels
84           are incompatible with all other m68k targets (including Sun 3x!).
85
86           If you don't want to compile a kernel exclusively for a Sun 3, say N.
87
88 config AMIGA
89         bool "Amiga support"
90         depends on !MMU_SUN3
91         help
92           This option enables support for the Amiga series of computers. If
93           you plan to use this kernel on an Amiga, say Y here and browse the
94           material available in <file:Documentation/m68k>; otherwise say N.
95
96 config ATARI
97         bool "Atari support"
98         depends on !MMU_SUN3
99         help
100           This option enables support for the 68000-based Atari series of
101           computers (including the TT, Falcon and Medusa). If you plan to use
102           this kernel on an Atari, say Y here and browse the material
103           available in <file:Documentation/m68k>; otherwise say N.
104
105 config HADES
106         bool "Hades support"
107         depends on ATARI && BROKEN
108         help
109           This option enables support for the Hades Atari clone. If you plan
110           to use this kernel on a Hades, say Y here; otherwise say N.
111
112 config PCI
113         bool
114         depends on HADES
115         default y
116         help
117           Find out whether you have a PCI motherboard. PCI is the name of a
118           bus system, i.e. the way the CPU talks to the other stuff inside
119           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
120           VESA. If you have PCI, say Y, otherwise N.
121
122           The PCI-HOWTO, available from
123           <http://www.tldp.org/docs.html#howto>, contains valuable
124           information about which PCI hardware does work under Linux and which
125           doesn't.
126
127 config MAC
128         bool "Macintosh support"
129         depends on !MMU_SUN3
130         help
131           This option enables support for the Apple Macintosh series of
132           computers (yes, there is experimental support now, at least for part
133           of the series).
134
135           Say N unless you're willing to code the remaining necessary support.
136           ;)
137
138 config NUBUS
139         bool
140         depends on MAC
141         default y
142
143 config M68K_L2_CACHE
144         bool
145         depends on MAC
146         default y
147
148 config APOLLO
149         bool "Apollo support"
150         depends on !MMU_SUN3
151         help
152           Say Y here if you want to run Linux on an MC680x0-based Apollo
153           Domain workstation such as the DN3500.
154
155 config VME
156         bool "VME (Motorola and BVM) support"
157         depends on !MMU_SUN3
158         help
159           Say Y here if you want to build a kernel for a 680x0 based VME
160           board.  Boards currently supported include Motorola boards MVME147,
161           MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
162           BVME6000 boards from BVM Ltd are also supported.
163
164 config MVME147
165         bool "MVME147 support"
166         depends on VME
167         help
168           Say Y to include support for early Motorola VME boards.  This will
169           build a kernel which can run on MVME147 single-board computers.  If
170           you select this option you will have to select the appropriate
171           drivers for SCSI, Ethernet and serial ports later on.
172
173 config MVME16x
174         bool "MVME162, 166 and 167 support"
175         depends on VME
176         help
177           Say Y to include support for Motorola VME boards.  This will build a
178           kernel which can run on MVME162, MVME166, MVME167, MVME172, and
179           MVME177 boards.  If you select this option you will have to select
180           the appropriate drivers for SCSI, Ethernet and serial ports later
181           on.
182
183 config BVME6000
184         bool "BVME4000 and BVME6000 support"
185         depends on VME
186         help
187           Say Y to include support for VME boards from BVM Ltd.  This will
188           build a kernel which can run on BVME4000 and BVME6000 boards.  If
189           you select this option you will have to select the appropriate
190           drivers for SCSI, Ethernet and serial ports later on.
191
192 config HP300
193         bool "HP9000/300 and HP9000/400 support"
194         depends on !MMU_SUN3
195         help
196           This option enables support for the HP9000/300 and HP9000/400 series
197           of workstations. Support for these machines is still somewhat
198           experimental. If you plan to try to use the kernel on such a machine
199           say Y here.
200           Everybody else says N.
201
202 config DIO
203         bool "DIO bus support"
204         depends on HP300
205         default y
206         help
207           Say Y here to enable support for the "DIO" expansion bus used in
208           HP300 machines. If you are using such a system you almost certainly
209           want this.
210
211 config SUN3X
212         bool "Sun3x support"
213         depends on !MMU_SUN3
214         select M68030
215         help
216           This option enables support for the Sun 3x series of workstations.
217           Be warned that this support is very experimental.
218           Note that Sun 3x kernels are not compatible with Sun 3 hardware.
219           General Linux information on the Sun 3x series (now discontinued)
220           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
221
222           If you don't want to compile a kernel for a Sun 3x, say N.
223
224 config Q40
225         bool "Q40/Q60 support"
226         depends on !MMU_SUN3
227         help
228           The Q40 is a Motorola 68040-based successor to the Sinclair QL
229           manufactured in Germany.  There is an official Q40 home page at
230           <http://www.q40.de/>.  This option enables support for the Q40 and
231           Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
232           emulation.
233
234 comment "Processor type"
235
236 config M68020
237         bool "68020 support"
238         help
239           If you anticipate running this kernel on a computer with a MC68020
240           processor, say Y. Otherwise, say N. Note that the 68020 requires a
241           68851 MMU (Memory Management Unit) to run Linux/m68k, except on the
242           Sun 3, which provides its own version.
243
244 config M68030
245         bool "68030 support"
246         depends on !MMU_SUN3
247         help
248           If you anticipate running this kernel on a computer with a MC68030
249           processor, say Y. Otherwise, say N. Note that a MC68EC030 will not
250           work, as it does not include an MMU (Memory Management Unit).
251
252 config M68040
253         bool "68040 support"
254         depends on !MMU_SUN3
255         help
256           If you anticipate running this kernel on a computer with a MC68LC040
257           or MC68040 processor, say Y. Otherwise, say N. Note that an
258           MC68EC040 will not work, as it does not include an MMU (Memory
259           Management Unit).
260
261 config M68060
262         bool "68060 support"
263         depends on !MMU_SUN3
264         help
265           If you anticipate running this kernel on a computer with a MC68060
266           processor, say Y. Otherwise, say N.
267
268 config MMU_MOTOROLA
269         bool
270         depends on MMU && !MMU_SUN3
271         default y
272
273 config MMU_SUN3
274         bool
275
276 config M68KFPU_EMU
277         bool "Math emulation support (EXPERIMENTAL)"
278         depends on EXPERIMENTAL
279         help
280           At some point in the future, this will cause floating-point math
281           instructions to be emulated by the kernel on machines that lack a
282           floating-point math coprocessor.  Thrill-seekers and chronically
283           sleep-deprived psychotic hacker types can say Y now, everyone else
284           should probably wait a while.
285
286 config M68KFPU_EMU_EXTRAPREC
287         bool "Math emulation extra precision"
288         depends on M68KFPU_EMU
289         help
290           The fpu uses normally a few bit more during calculations for
291           correct rounding, the emulator can (often) do the same but this
292           extra calculation can cost quite some time, so you can disable
293           it here. The emulator will then "only" calculate with a 64 bit
294           mantissa and round slightly incorrect, what is more then enough
295           for normal usage.
296
297 config M68KFPU_EMU_ONLY
298         bool "Math emulation only kernel"
299         depends on M68KFPU_EMU
300         help
301           This option prevents any floating-point instructions from being
302           compiled into the kernel, thereby the kernel doesn't save any
303           floating point context anymore during task switches, so this
304           kernel will only be usable on machines without a floating-point
305           math coprocessor. This makes the kernel a bit faster as no tests
306           needs to be executed whether a floating-point instruction in the
307           kernel should be executed or not.
308
309 config ADVANCED
310         bool "Advanced configuration options"
311         ---help---
312           This gives you access to some advanced options for the CPU. The
313           defaults should be fine for most users, but these options may make
314           it possible for you to improve performance somewhat if you know what
315           you are doing.
316
317           Note that the answer to this question won't directly affect the
318           kernel: saying N will just cause the configurator to skip all
319           the questions about these options.
320
321           Most users should say N to this question.
322
323 config RMW_INSNS
324         bool "Use read-modify-write instructions"
325         depends on ADVANCED
326         ---help---
327           This allows to use certain instructions that work with indivisible
328           read-modify-write bus cycles. While this is faster than the
329           workaround of disabling interrupts, it can conflict with DMA
330           ( = direct memory access) on many Amiga systems, and it is also said
331           to destabilize other machines. It is very likely that this will
332           cause serious problems on any Amiga or Atari Medusa if set. The only
333           configuration where it should work are 68030-based Ataris, where it
334           apparently improves performance. But you've been warned! Unless you
335           really know what you are doing, say N. Try Y only if you're quite
336           adventurous.
337
338 config SINGLE_MEMORY_CHUNK
339         bool "Use one physical chunk of memory only"
340         depends on ADVANCED && !SUN3
341         help
342           Ignore all but the first contiguous chunk of physical memory for VM
343           purposes.  This will save a few bytes kernel size and may speed up
344           some operations.  Say N if not sure.
345
346 config 060_WRITETHROUGH
347         bool "Use write-through caching for 68060 supervisor accesses"
348         depends on ADVANCED && M68060
349         ---help---
350           The 68060 generally uses copyback caching of recently accessed data.
351           Copyback caching means that memory writes will be held in an on-chip
352           cache and only written back to memory some time later.  Saying Y
353           here will force supervisor (kernel) accesses to use writethrough
354           caching.  Writethrough caching means that data is written to memory
355           straight away, so that cache and memory data always agree.
356           Writethrough caching is less efficient, but is needed for some
357           drivers on 68060 based systems where the 68060 bus snooping signal
358           is hardwired on.  The 53c710 SCSI driver is known to suffer from
359           this problem.
360
361 source "mm/Kconfig"
362
363 endmenu
364
365 menu "General setup"
366
367 source "fs/Kconfig.binfmt"
368
369 config ZORRO
370         bool "Amiga Zorro (AutoConfig) bus support"
371         depends on AMIGA
372         help
373           This enables support for the Zorro bus in the Amiga. If you have
374           expansion cards in your Amiga that conform to the Amiga
375           AutoConfig(tm) specification, say Y, otherwise N. Note that even
376           expansion cards that do not fit in the Zorro slots but fit in e.g.
377           the CPU slot may fall in this category, so you have to say Y to let
378           Linux use these.
379
380 config AMIGA_PCMCIA
381         bool "Amiga 1200/600 PCMCIA support (EXPERIMENTAL)"
382         depends on AMIGA && EXPERIMENTAL
383         help
384           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
385           600. If you intend to use pcmcia cards say Y; otherwise say N.
386
387 config STRAM_PROC
388         bool "ST-RAM statistics in /proc"
389         depends on ATARI
390         help
391           Say Y here to report ST-RAM usage statistics in /proc/stram.
392
393 config HEARTBEAT
394         bool "Use power LED as a heartbeat" if AMIGA || APOLLO || ATARI || MAC ||Q40
395         default y if !AMIGA && !APOLLO && !ATARI && !MAC && !Q40 && HP300
396         help
397           Use the power-on LED on your machine as a load meter.  The exact
398           behavior is platform-dependent, but normally the flash frequency is
399           a hyperbolic function of the 5-minute load average.
400
401 # We have a dedicated heartbeat LED. :-)
402 config PROC_HARDWARE
403         bool "/proc/hardware support"
404         help
405           Say Y here to support the /proc/hardware file, which gives you
406           access to information about the machine you're running on,
407           including the model, CPU, MMU, clock speed, BogoMIPS rating,
408           and memory size.
409
410 config ISA
411         bool
412         depends on Q40 || AMIGA_PCMCIA || GG2
413         default y
414         help
415           Find out whether you have ISA slots on your motherboard.  ISA is the
416           name of a bus system, i.e. the way the CPU talks to the other stuff
417           inside your box.  Other bus systems are PCI, EISA, MicroChannel
418           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
419           newer boards don't support it.  If you have ISA, say Y, otherwise N.
420
421 config GENERIC_ISA_DMA
422         bool
423         depends on Q40 || AMIGA_PCMCIA || GG2
424         default y
425
426 source "drivers/pci/Kconfig"
427
428 source "drivers/zorro/Kconfig"
429
430 endmenu
431
432 source "net/Kconfig"
433
434 source "drivers/Kconfig"
435
436 menu "Character devices"
437
438 config ATARI_MFPSER
439         tristate "Atari MFP serial support"
440         depends on ATARI
441         ---help---
442           If you like to use the MFP serial ports ("Modem1", "Serial1") under
443           Linux, say Y. The driver equally supports all kinds of MFP serial
444           ports and automatically detects whether Serial1 is available.
445
446           To compile this driver as a module, choose M here.
447
448           Note for Falcon users: You also have an MFP port, it's just not
449           wired to the outside... But you could use the port under Linux.
450
451 config ATARI_SCC
452         tristate "Atari SCC serial support"
453         depends on ATARI
454         ---help---
455           If you have serial ports based on a Zilog SCC chip (Modem2, Serial2,
456           LAN) and like to use them under Linux, say Y. All built-in SCC's are
457           supported (TT, MegaSTE, Falcon), and also the ST-ESCC. If you have
458           two connectors for channel A (Serial2 and LAN), they are visible as
459           two separate devices.
460
461           To compile this driver as a module, choose M here.
462
463 config ATARI_SCC_DMA
464         bool "Atari SCC serial DMA support"
465         depends on ATARI_SCC
466         help
467           This enables DMA support for receiving data on channel A of the SCC.
468           If you have a TT you may say Y here and read
469           drivers/char/atari_SCC.README. All other users should say N here,
470           because only the TT has SCC-DMA, even if your machine keeps claiming
471           so at boot time.
472
473 config ATARI_MIDI
474         tristate "Atari MIDI serial support"
475         depends on ATARI
476         help
477           If you want to use your Atari's MIDI port in Linux, say Y.
478
479           To compile this driver as a module, choose M here.
480
481 config ATARI_DSP56K
482         tristate "Atari DSP56k support (EXPERIMENTAL)"
483         depends on ATARI && EXPERIMENTAL
484         help
485           If you want to be able to use the DSP56001 in Falcons, say Y. This
486           driver is still experimental, and if you don't know what it is, or
487           if you don't have this processor, just say N.
488
489           To compile this driver as a module, choose M here.
490
491 config AMIGA_BUILTIN_SERIAL
492         tristate "Amiga builtin serial support"
493         depends on AMIGA
494         help
495           If you want to use your Amiga's built-in serial port in Linux,
496           answer Y.
497
498           To compile this driver as a module, choose M here.
499
500 config WHIPPET_SERIAL
501         tristate "Hisoft Whippet PCMCIA serial support"
502         depends on AMIGA_PCMCIA
503         help
504           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
505           is no listing for the Whippet in their Amiga section.
506
507 config MULTIFACE_III_TTY
508         tristate "Multiface Card III serial support"
509         depends on AMIGA
510         help
511           If you want to use a Multiface III card's serial port in Linux,
512           answer Y.
513
514           To compile this driver as a module, choose M here.
515
516 config GVPIOEXT
517         tristate "GVP IO-Extender support"
518         depends on PARPORT=n && ZORRO
519         help
520           If you want to use a GVP IO-Extender serial card in Linux, say Y.
521           Otherwise, say N.
522
523 config GVPIOEXT_LP
524         tristate "GVP IO-Extender parallel printer support"
525         depends on GVPIOEXT
526         help
527           Say Y to enable driving a printer from the parallel port on your
528           GVP IO-Extender card, N otherwise.
529
530 config GVPIOEXT_PLIP
531         tristate "GVP IO-Extender PLIP support"
532         depends on GVPIOEXT
533         help
534           Say Y to enable doing IP over the parallel port on your GVP
535           IO-Extender card, N otherwise.
536
537 config MAC_SCC
538         tristate "Macintosh serial support"
539         depends on MAC
540
541 config MAC_HID
542         bool
543         depends on INPUT_ADBHID
544         default y
545
546 config MAC_ADBKEYCODES
547         bool "Support for ADB raw keycodes"
548         depends on INPUT_ADBHID
549         help
550           This provides support for sending raw ADB keycodes to console
551           devices.  This is the default up to 2.4.0, but in future this may be
552           phased out in favor of generic Linux keycodes.  If you say Y here,
553           you can dynamically switch via the
554           /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
555           sysctl and with the "keyboard_sends_linux_keycodes=" kernel
556           argument.
557
558           If unsure, say Y here.
559
560 config ADB_KEYBOARD
561         bool "Support for ADB keyboard (old driver)"
562         depends on MAC && !INPUT_ADBHID
563         help
564           This option allows you to use an ADB keyboard attached to your
565           machine. Note that this disables any other (ie. PS/2) keyboard
566           support, even if your machine is physically capable of using both at
567           the same time.
568
569           If you use an ADB keyboard (4 pin connector), say Y here.
570           If you use a PS/2 keyboard (6 pin connector), say N here.
571
572 config HPDCA
573         tristate "HP DCA serial support"
574         depends on DIO && SERIAL_8250
575         help
576           If you want to use the internal "DCA" serial ports on an HP300
577           machine, say Y here.
578
579 config HPAPCI
580         tristate "HP APCI serial support"
581         depends on HP300 && SERIAL_8250 && EXPERIMENTAL
582         help
583           If you want to use the internal "APCI" serial ports on an HP400
584           machine, say Y here.
585
586 config MVME147_SCC
587         bool "SCC support for MVME147 serial ports"
588         depends on MVME147
589         help
590           This is the driver for the serial ports on the Motorola MVME147
591           boards.  Everyone using one of these boards should say Y here.
592
593 config SERIAL167
594         bool "CD2401 support for MVME166/7 serial ports"
595         depends on MVME16x && BROKEN
596         help
597           This is the driver for the serial ports on the Motorola MVME166,
598           167, and 172 boards.  Everyone using one of these boards should say
599           Y here.
600
601 config MVME162_SCC
602         bool "SCC support for MVME162 serial ports"
603         depends on MVME16x
604         help
605           This is the driver for the serial ports on the Motorola MVME162 and
606           172 boards.  Everyone using one of these boards should say Y here.
607
608 config BVME6000_SCC
609         bool "SCC support for BVME6000 serial ports"
610         depends on BVME6000
611         help
612           This is the driver for the serial ports on the BVME4000 and BVME6000
613           boards from BVM Ltd.  Everyone using one of these boards should say
614           Y here.
615
616 config DN_SERIAL
617         bool "Support for DN serial port (dummy)"
618         depends on APOLLO
619
620 config SERIAL_CONSOLE
621         bool "Support for serial port console"
622         depends on (AMIGA || ATARI || MAC || SUN3 || SUN3X || VME || APOLLO) && (ATARI_MFPSER=y || ATARI_SCC=y || ATARI_MIDI=y || MAC_SCC=y || AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y || MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL)
623         ---help---
624           If you say Y here, it will be possible to use a serial port as the
625           system console (the system console is the device which receives all
626           kernel messages and warnings and which allows logins in single user
627           mode). This could be useful if some terminal or printer is connected
628           to that serial port.
629
630           Even if you say Y here, the currently visible virtual console
631           (/dev/tty0) will still be used as the system console by default, but
632           you can alter that using a kernel command line option such as
633           "console=ttyS1". (Try "man bootparam" or see the documentation of
634           your boot loader (lilo or loadlin) about how to pass options to the
635           kernel at boot time.)
636
637           If you don't have a VGA card installed and you say Y here, the
638           kernel will automatically use the first serial line, /dev/ttyS0, as
639           system console.
640
641           If unsure, say N.
642
643 endmenu
644
645 source "fs/Kconfig"
646
647 source "arch/m68k/Kconfig.debug"
648
649 source "security/Kconfig"
650
651 source "crypto/Kconfig"
652
653 source "lib/Kconfig"