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