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