Merge bk://linux-sam.bkbits.net/kbuild
[linux-flexiantxendom0-3.2.10.git] / arch / arm26 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux Kernel Configuration"
7
8 config ARM
9         bool
10         default y
11         help
12           The ARM series is a line of low-power-consumption RISC chip designs
13           licensed by ARM ltd and targeted at embedded applications and
14           handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
15           manufactured, but  legacy ARM-based PC hardware remains popular in
16           Europe.  There is an ARM Linux project with a web page at
17           <http://www.arm.linux.org.uk/>.
18
19 config ARCH_ARCA5K
20         bool
21         default y
22
23 config MMU
24         bool
25         default y
26
27 config ARCH_ACORN
28         bool
29         default y
30
31 config CPU_26
32         bool
33         default y
34
35 config FIQ
36         bool
37         default y
38
39 # 9 = 512 pages 8 = 256 pages 7 = 128 pages
40 config FORCE_MAX_ZONEORDER
41         int
42         default 9
43
44 config UID16
45         bool
46         default y
47
48 config RWSEM_GENERIC_SPINLOCK
49         bool
50         default y
51
52 config RWSEM_XCHGADD_ALGORITHM
53         bool
54
55 config GENERIC_BUST_SPINLOCK
56         bool
57
58 config GENERIC_ISA_DMA
59         bool
60
61 source "init/Kconfig"
62
63
64 menu "System Type"
65
66 comment "Archimedes/A5000 Implementations (select only ONE)"
67
68 config ARCH_ARC
69         bool "Archimedes"
70         depends on ARCH_ARCA5K
71         help
72           The Acorn Archimedes was an personal computer based on an 8K ARM2
73           processor, released in 1987.  It supported 512K of RAM and 2 800K
74           floppy disks.  Picture and more detailed specifications at
75           <http://www.computingmuseum.com/museum/archi.htm>.
76
77 config ARCH_A5K
78         bool "A5000"
79         depends on ARCH_ARCA5K
80         help
81           Say Y here to to support the Acorn A5000.  Linux can support the
82           internal IDE disk and CD-ROM interface, serial and parallel port,
83           and the floppy drive.  Note that on some A5000s the floppy is
84           plugged into the wrong socket on the motherboard.
85
86 config PAGESIZE_16
87         bool "2MB physical memory"
88         depends on ARCH_ARCA5K
89         help
90           Say Y here if your Archimedes or A5000 system has only 2MB of
91           memory, otherwise say N.  The resulting kernel will not run on a
92           machine with 4MB of memory.
93 endmenu
94
95 menu "General setup"
96
97 # Compressed boot loader in ROM.  Yes, we really want to ask about
98 # TEXT and BSS so we preserve their values in the config files.
99 config ZBOOT_ROM
100         bool "Compressed boot loader in ROM/flash"
101         help
102           Say Y here if you intend to execute your compressed kernel image (zImage)
103           directly from ROM or flash.  If unsure, say N.
104
105 config ZBOOT_ROM_TEXT
106         hex "Compressed ROM boot loader base address"
107         default "0"
108         help
109           The base address for zImage.  Unless you have special requirements, you
110           should not change this value.
111
112 config ZBOOT_ROM_BSS
113         hex "Compressed ROM boot loader BSS address"
114         default "0"
115         help
116           The base address of 64KiB of read/write memory, which must be available
117           while the decompressor is running.  Unless you have special requirements,
118           you should not change this value.
119
120 config HOTPLUG
121         bool "Support for hot-pluggable devices"
122         ---help---
123           Say Y here if you want to plug devices into your computer while
124           the system is running, and be able to use them quickly.  In many
125           cases, the devices can likewise be unplugged at any time too.
126
127           One well known example of this is PCMCIA- or PC-cards, credit-card
128           size devices such as network cards, modems or hard drives which are
129           plugged into slots found on all modern laptop computers.  Another
130           example, used on modern desktops as well as laptops, is USB.
131
132           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
133           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
134           Then your kernel will automatically call out to a user mode "policy
135           agent" (/sbin/hotplug) to load modules and set up software needed
136           to use devices as you hotplug them.
137
138 comment "At least one math emulation must be selected"
139
140 config FPE_NWFPE
141         tristate "NWFPE math emulation"
142         ---help---
143           Say Y to include the NWFPE floating point emulator in the kernel.
144           This is necessary to run most binaries. Linux does not currently
145           support floating point hardware so you need to say Y here even if
146           your machine has an FPA or floating point co-processor podule.
147
148           It is also possible to say M to build the emulator as a module
149           (nwfpe) or indeed to leave it out altogether. However, unless you
150           know what you are doing this can easily render your machine
151           unbootable. Saying Y is the safe option.
152
153           You may say N here if you are going to load the Acorn FPEmulator
154           early in the bootup.
155
156 choice
157         prompt "Kernel core (/proc/kcore) format"
158         default KCORE_ELF
159
160 config KCORE_ELF
161         bool "ELF"
162         ---help---
163           If you enabled support for /proc file system then the file
164           /proc/kcore will contain the kernel core image. This can be used
165           in gdb:
166
167           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
168
169           You have two choices here: ELF and A.OUT. Selecting ELF will make
170           /proc/kcore appear in ELF core format as defined by the Executable
171           and Linking Format specification. Selecting A.OUT will choose the
172           old "a.out" format which may be necessary for some old versions
173           of binutils or on some architectures.
174
175           This is especially useful if you have compiled the kernel with the
176           "-g" option to preserve debugging information. It is mainly used
177           for examining kernel data structures on the live kernel so if you
178           don't understand what this means or are not a kernel hacker, just
179           leave it at its default value ELF.
180
181 config KCORE_AOUT
182         bool "A.OUT"
183         help
184           Not necessary unless you're using a very out-of-date binutils
185           version.  You probably want KCORE_ELF.
186
187 endchoice
188
189 config BINFMT_AOUT
190         tristate "Kernel support for a.out binaries"
191         ---help---
192           A.out (Assembler.OUTput) is a set of formats for libraries and
193           executables used in the earliest versions of UNIX. Linux used the
194           a.out formats QMAGIC and ZMAGIC until they were replaced with the
195           ELF format.
196
197           As more and more programs are converted to ELF, the use for a.out
198           will gradually diminish. If you disable this option it will reduce
199           your kernel by one page. This is not much and by itself does not
200           warrant removing support. However its removal is a good idea if you
201           wish to ensure that absolutely none of your programs will use this
202           older executable format. If you don't know what to answer at this
203           point then answer Y. If someone told you "You need a kernel with
204           QMAGIC support" then you'll have to say Y here. You may answer M to
205           compile a.out support as a module and later load the module when you
206           want to use a program or library in a.out format. The module will be
207           called binfmt_aout. Saying M or N here is dangerous though,
208           because some crucial programs on your system might still be in A.OUT
209           format.
210
211 config BINFMT_ELF
212         tristate "Kernel support for ELF binaries"
213         ---help---
214           ELF (Executable and Linkable Format) is a format for libraries and
215           executables used across different architectures and operating
216           systems. Saying Y here will enable your kernel to run ELF binaries
217           and enlarge it by about 13 KB. ELF support under Linux has now all
218           but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC)
219           because it is portable (this does *not* mean that you will be able
220           to run executables from different architectures or operating systems
221           however) and makes building run-time libraries very easy. Many new
222           executables are distributed solely in ELF format. You definitely
223           want to say Y here.
224
225           Information about ELF is contained in the ELF HOWTO available from
226           <http://www.linuxdoc.org/docs.html#howto>.
227
228           If you find that after upgrading from Linux kernel 1.2 and saying Y
229           here, you still can't run any ELF binaries (they just crash), then
230           you'll have to install the newest ELF runtime libraries, including
231           ld.so (check the file <file:Documentation/Changes> for location and
232           latest version).
233
234           If you want to compile this as a module ( = code which can be
235           inserted in and removed from the running kernel whenever you want),
236           say M here and read <file:Documentation/modules.txt>.  The module
237           will be called binfmt_elf. Saying M or N here is dangerous because
238           some crucial programs on your system might be in ELF format.
239
240 config BINFMT_MISC
241         tristate "Kernel support for MISC binaries"
242         ---help---
243           If you say Y here, it will be possible to plug wrapper-driven binary
244           formats into the kernel. You will like this especially when you use
245           programs that need an interpreter to run like Java, Python or
246           Emacs-Lisp. It's also useful if you often run DOS executables under
247           the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from
248           <http://www.linuxdoc.org/docs.html#howto>). Once you have
249           registered such a binary class with the kernel, you can start one of
250           those programs simply by typing in its name at a shell prompt; Linux
251           will automatically feed it to the correct interpreter.
252
253           You can do other nice things, too. Read the file
254           <file:Documentation/binfmt_misc.txt> to learn how to use this
255           feature, and <file:Documentation/java.txt> for information about how
256           to include Java support.
257
258           You must say Y to "/proc file system support" (CONFIG_PROC_FS) to
259           use this part of the kernel.
260
261           You may say M here for module support and later load the module when
262           you have use for it; the module is called binfmt_misc. If you
263           don't know what to answer at this point, say Y.
264
265 config PREEMPT
266         bool "Preemptible Kernel (EXPERIMENTAL)"
267         depends on CPU_32 && EXPERIMENTAL
268         help
269           This option reduces the latency of the kernel when reacting to
270           real-time or interactive events by allowing a low priority process to
271           be preempted even if it is in kernel mode executing a system call.
272           This allows applications to run more reliably even when the system is
273           under load.
274
275           Say Y here if you are building a kernel for a desktop, embedded
276           or real-time system.  Say N if you are unsure.
277
278 config ARTHUR
279         tristate "RISC OS personality"
280         depends on CPU_32
281         help
282           Say Y here to include the kernel code necessary if you want to run
283           Acorn RISC OS/Arthur binaries under Linux. This code is still very
284           experimental; if this sounds frightening, say N and sleep in peace.
285           You can also say M here to compile this support as a module (which
286           will be called arthur).
287
288 config CMDLINE
289         string "Default kernel command string"
290         default ""
291         help
292           On some architectures (EBSA110 and CATS), there is currently no way
293           for the boot loader to pass arguments to the kernel. For these
294           architectures, you should supply some command-line options at build
295           time by entering them here. As a minimum, you should specify the
296           memory size and the root device (e.g., mem=64M root=/dev/nfs).
297
298 endmenu
299
300 source "drivers/base/Kconfig"
301
302 source "drivers/parport/Kconfig"
303
304 source "drivers/pnp/Kconfig"
305
306 source "drivers/block/Kconfig"
307
308 source "drivers/md/Kconfig"
309
310 source "net/Kconfig"
311
312 source "net/irda/Kconfig"
313
314 menu "ATA/ATAPI/MFM/RLL support"
315
316 config IDE
317         tristate "ATA/ATAPI/MFM/RLL support"
318         ---help---
319           If you say Y here, your kernel will be able to manage low cost mass
320           storage units such as ATA/(E)IDE and ATAPI units. The most common
321           cases are IDE hard drives and ATAPI CD-ROM drives.
322
323           If your system is pure SCSI and doesn't use these interfaces, you
324           can say N here.
325
326           Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
327           for mass storage units such as hard disks. It was designed by
328           Western Digital and Compaq Computer in 1984. It was then named
329           ST506. Quite a number of disks use the IDE interface.
330
331           AT Attachment (ATA) is the superset of the IDE specifications.
332           ST506 was also called ATA-1.
333
334           Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
335           ATA-3. It provides support for larger disks (up to 8.4GB by means of
336           the LBA standard), more disks (4 instead of 2) and for other mass
337           storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
338           ATA-4 and provides faster (and more CPU friendly) transfer modes
339           than previous PIO (Programmed processor Input/Output) from previous
340           ATA/IDE standards by means of fast DMA controllers.
341
342           ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
343           CD-ROM drives, similar in many respects to the SCSI protocol.
344
345           SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
346           designed in order to prevent data corruption and disk crash by
347           detecting pre hardware failure conditions (heat, access time, and
348           the like...). Disks built since June 1995 may follow this standard.
349           The kernel itself don't manage this; however there are quite a
350           number of user programs such as smart that can query the status of
351           SMART parameters disk.
352
353           If you want to compile this driver as a module ( = code which can be
354           inserted in and removed from the running kernel whenever you want),
355           say M here and read <file:Documentation/modules.txt>. The module
356           will be called ide.
357
358           For further information, please read <file:Documentation/ide.txt>.
359
360           If unsure, say Y.
361
362 source "drivers/ide/Kconfig"
363
364 endmenu
365
366
367 menu "SCSI support"
368
369 config SCSI
370         tristate "SCSI support"
371         ---help---
372           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
373           any other SCSI device under Linux, say Y and make sure that you know
374           the name of your SCSI host adapter (the card inside your computer
375           that "speaks" the SCSI protocol, also called SCSI controller),
376           because you will be asked for it.
377
378           You also need to say Y here if you want support for the parallel
379           port version of the 100 MB IOMEGA ZIP drive.
380
381           This driver is also available as a module ( = code which can be
382           inserted in and removed from the running kernel whenever you want).
383           The module will be called scsi_mod.  If you want to compile it as
384           a module, say M here and read <file:Documentation/modules.txt> and
385           <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
386           module if your root file system (the one containing the directory /)
387           is located on a SCSI device.
388
389 source "drivers/scsi/Kconfig"
390
391 endmenu
392
393 source "drivers/isdn/Kconfig"
394
395 #
396 # input before char - char/joystick depends on it. As does USB.
397 #
398 source "drivers/input/Kconfig"
399
400 source "drivers/char/Kconfig"
401
402 config KBDMOUSE
403         bool
404         depends on ARCH_ACORN && BUSMOUSE=y
405         default y
406
407 source "drivers/media/Kconfig"
408
409 source "fs/Kconfig"
410
411 source "drivers/video/Kconfig"
412
413 menu "Sound"
414         depends on ARCH_ACORN
415
416 config SOUND
417         tristate "Sound card support"
418         ---help---
419           If you have a sound card in your computer, i.e. if it can say more
420           than an occasional beep, say Y.  Be sure to have all the information
421           about your sound card and its configuration down (I/O port,
422           interrupt and DMA channel), because you will be asked for it.
423
424           You want to read the Sound-HOWTO, available from
425           <http://www.linuxdoc.org/docs.html#howto>. General information about
426           the modular sound system is contained in the files
427           <file:Documentation/sound/Introduction>.  The file
428           <file:Documentation/sound/README.OSS> contains some slightly
429           outdated but still useful information as well.
430
431           If you have a PnP sound card and you want to configure it at boot
432           time using the ISA PnP tools (read
433           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
434           compile the sound card support as a module ( = code which can be
435           inserted in and removed from the running kernel whenever you want)
436           and load that module after the PnP configuration is finished.  To do
437           this, say M here and read <file:Documentation/modules.txt> as well
438           as <file:Documentation/sound/README.modules>; the module will be
439           called soundcore.
440
441           I'm told that even without a sound card, you can make your computer
442           say more than an occasional beep, by programming the PC speaker.
443           Kernel patches and supporting utilities to do that are in the pcsp
444           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
445
446 source "sound/Kconfig"
447
448 endmenu
449
450 source "drivers/misc/Kconfig"
451
452 source "drivers/usb/Kconfig"
453
454 source "net/bluetooth/Kconfig"
455
456
457 menu "Kernel hacking"
458
459 # RMK wants arm kernels compiled with frame pointers so hardwire this to y.
460 # If you know what you are doing and are willing to live without stack
461 # traces, you can get a slightly smaller kernel by setting this option to
462 # n, but then RMK will have to kill you ;).
463 config FRAME_POINTER
464         bool
465         default y
466         help
467           If you say N here, the resulting kernel will be slightly smaller and
468           faster. However, when a problem occurs with the kernel, the
469           information that is reported is severely limited. Most people
470           should say Y here.
471
472 config DEBUG_USER
473         bool "Verbose user fault messages"
474         help
475           When a user program crashes due to an exception, the kernel can
476           print a brief message explaining what the problem was. This is
477           sometimes helpful for debugging but serves no purpose on a
478           production system. Most people should say N here.
479
480 config DEBUG_INFO
481         bool "Include GDB debugging information in kernel binary"
482         help
483           Say Y here to include source-level debugging information in the
484           `vmlinux' binary image. This is handy if you want to use gdb or
485           addr2line to debug the kernel. It has no impact on the in-memory
486           footprint of the running kernel but it can increase the amount of
487           time and disk space needed for compilation of the kernel. If in
488           doubt say N.
489
490 config DEBUG_KERNEL
491         bool "Kernel debugging"
492         help
493           Say Y here if you are developing drivers or trying to debug and
494           identify kernel problems.
495
496 config DEBUG_SLAB
497         bool "Debug memory allocations"
498         depends on DEBUG_KERNEL
499         help
500           Say Y here to have the kernel do limited verification on memory
501           allocation as well as poisoning memory on free to catch use of freed
502           memory.
503
504 config MAGIC_SYSRQ
505         bool "Magic SysRq key"
506         depends on DEBUG_KERNEL
507         help
508           If you say Y here, you will have some control over the system even
509           if the system crashes for example during kernel debugging (e.g., you
510           will be able to flush the buffer cache to disk, reboot the system
511           immediately or dump some status information). This is accomplished
512           by pressing various keys while holding SysRq (Alt+PrintScreen). It
513           also works on a serial console (on PC hardware at least), if you
514           send a BREAK and then within 5 seconds a command keypress. The
515           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
516           unless you really know what this hack does.
517
518 config DEBUG_SPINLOCK
519         bool "Spinlock debugging"
520         depends on DEBUG_KERNEL
521         help
522           Say Y here and build SMP to catch missing spinlock initialization
523           and certain other kinds of spinlock errors commonly made.  This is
524           best used in conjunction with the NMI watchdog so that spinlock
525           deadlocks are also debuggable.
526
527 config DEBUG_WAITQ
528         bool "Wait queue debugging"
529         depends on DEBUG_KERNEL
530
531 config DEBUG_BUGVERBOSE
532         bool "Verbose BUG() reporting (adds 70K)"
533         depends on DEBUG_KERNEL
534         help
535           Say Y here to make BUG() panics output the file name and line number
536           of the BUG call as well as the EIP and oops trace.  This aids
537           debugging but costs about 70-100K of memory.
538
539 config DEBUG_ERRORS
540         bool "Verbose kernel error messages"
541         depends on DEBUG_KERNEL
542         help
543           This option controls verbose debugging information which can be
544           printed when the kernel detects an internal error. This debugging
545           information is useful to kernel hackers when tracking down problems,
546           but mostly meaningless to other people. It's safe to say Y unless
547           you are concerned with the code size or don't want to see these
548           messages.
549
550 config KALLSYMS
551         bool "Load all symbols for debugging/kksymoops"
552         depends on DEBUG_KERNEL
553         help
554           Say Y here to let the kernel print out symbolic crash information and
555           symbolic stack backtraces. This increases the size of the kernel
556           somewhat, as all symbols have to be loaded into the kernel image.
557
558 config DEBUG_INFO
559         bool "Compile the kernel with debug info"
560         depends on DEBUG_KERNEL
561         help
562           If you say Y here the resulting kernel image will include
563           debugging info resulting in a larger kernel image.
564           Say Y here only if you plan to use gdb to debug the kernel.
565           If you don't debug the kernel, you can say N.
566
567 # These options are only for real kernel hackers who want to get their hands dirty. 
568 config DEBUG_LL
569         bool "Kernel low-level debugging functions"
570         depends on DEBUG_KERNEL
571         help
572           Say Y here to include definitions of printascii, printchar, printhex
573           in the kernel.  This is helpful if you are debugging code that
574           executes before the console is initialized.
575
576 endmenu
577
578 source "security/Kconfig"
579
580 source "crypto/Kconfig"
581
582 source "lib/Kconfig"
583