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