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