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