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