patch-2.6.6-vs1.9.0
[linux-2.6.git] / arch / arm / 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 MMU
20         bool
21         default y
22
23 config EISA
24         bool
25         ---help---
26           The Extended Industry Standard Architecture (EISA) bus was
27           developed as an open alternative to the IBM MicroChannel bus.
28
29           The EISA bus provided some of the features of the IBM MicroChannel
30           bus while maintaining backward compatibility with cards made for
31           the older ISA bus.  The EISA bus saw limited use between 1988 and
32           1995 when it was made obsolete by the PCI bus.
33
34           Say Y here if you are building a kernel for an EISA-based machine.
35
36           Otherwise, say N.
37
38 config SBUS
39         bool
40
41 config MCA
42         bool
43         help
44           MicroChannel Architecture is found in some IBM PS/2 machines and
45           laptops.  It is a bus system similar to PCI or ISA. See
46           <file:Documentation/mca.txt> (and especially the web page given
47           there) before attempting to build an MCA bus kernel.
48
49 config UID16
50         bool
51         default y
52
53 config RWSEM_GENERIC_SPINLOCK
54         bool
55         default y
56
57 config RWSEM_XCHGADD_ALGORITHM
58         bool
59
60 config GENERIC_BUST_SPINLOCK
61         bool
62
63 config GENERIC_ISA_DMA
64         bool
65
66 source "init/Kconfig"
67
68
69 menu "System Type"
70
71 choice
72         prompt "ARM system type"
73         default ARCH_RPC
74
75 config ARCH_ADIFCC
76         bool "ADIFCC-based"
77
78 config ARCH_CLPS7500
79         bool "Cirrus-CL-PS7500FE"
80
81 config ARCH_CLPS711X
82         bool "CLPS711x/EP721x-based"
83
84 config ARCH_CO285
85         bool "Co-EBSA285"
86
87 config ARCH_PXA
88         bool "PXA250/210-based"
89
90 config ARCH_EBSA110
91         bool "EBSA-110"
92         help
93           This is an evaluation board for the StrongARM processor available
94           from Digital. It has limited hardware on-board, including an onboard
95           Ethernet interface, two PCMCIA sockets, two serial ports and a
96           parallel port.
97
98 config ARCH_CAMELOT
99         bool "Epxa10db"
100         help
101           This enables support for Altera's Excalibur XA10 development board.
102           If you would like to build your kernel to run on one of these boards
103           then you must say 'Y' here. Otherwise say 'N'
104
105 config ARCH_FOOTBRIDGE
106         bool "FootBridge"
107
108 config ARCH_INTEGRATOR
109         bool "Integrator"
110
111 config ARCH_IOP3XX
112         bool "IOP3xx-based"
113
114 config ARCH_L7200
115         bool "LinkUp-L7200"
116         help
117           Say Y here if you intend to run this kernel on a LinkUp Systems
118           L7200 Software Development Board which uses an ARM720T processor.
119           Information on this board can be obtained at:
120
121           <http://www.linkupsys.com/>
122
123           If you have any questions or comments about the Linux kernel port
124           to this board, send e-mail to sjhill@cotw.com.
125
126 config ARCH_RPC
127         bool "RiscPC"
128         help
129           On the Acorn Risc-PC, Linux can support the internal IDE disk and
130           CD-ROM interface, serial and parallel port, and the floppy drive.
131
132 config ARCH_SA1100
133         bool "SA1100-based"
134
135 config ARCH_SHARK
136         bool "Shark"
137
138 config ARCH_S3C2410
139         bool "Samsung S3C2410"
140         help
141           Samsung S3C2410X CPU based systems, such as the Simtec Electronics
142           BAST (http://www.simtec.co.uk/products/EB110ITX/), the IPAQ 1940 or
143           the Samsung SMDK2410 development board (and derviatives).
144
145 config ARCH_OMAP
146         bool "TI OMAP"
147
148 config ARCH_LH7A40X
149         bool "Sharp LH7A40X"
150         help
151           Say Y here for systems based on one of the Sharp LH7A40X
152           System on a Chip processors.  These CPUs include an ARM922T
153           core with a wide array of integrated devices for
154           hand-held and low-power applications.
155
156 config ARCH_VERSATILE_PB
157         bool "Versatile PB"
158         help
159           This enables support for ARM Ltd Versatile PB board.
160
161 endchoice
162
163 source "arch/arm/mach-clps711x/Kconfig"
164
165 source "arch/arm/mach-epxa10db/Kconfig"
166
167 source "arch/arm/mach-footbridge/Kconfig"
168
169 source "arch/arm/mach-integrator/Kconfig"
170
171 source "arch/arm/mach-iop3xx/Kconfig"
172
173 source "arch/arm/mach-pxa/Kconfig"
174
175 source "arch/arm/mach-sa1100/Kconfig"
176
177 source "arch/arm/mach-omap/Kconfig"
178
179 source "arch/arm/mach-s3c2410/Kconfig"
180
181 source "arch/arm/mach-lh7a40x/Kconfig"
182
183 # Definitions to make life easier
184 config ARCH_ACORN
185         bool
186         depends on ARCH_RPC
187         default y
188
189 #####################################################################
190 # Footbridge support
191 config FOOTBRIDGE
192         bool
193         depends on ARCH_CO285 || ARCH_FOOTBRIDGE
194         default y
195
196 config FOOTBRIDGE_HOST
197         bool
198         depends on ARCH_CATS || ARCH_EBSA285_HOST || ARCH_NETWINDER || ARCH_PERSONAL_SERVER
199         default y
200
201 config FOOTBRIDGE_ADDIN
202         bool
203         depends on ARCH_CO285 || ARCH_EBSA285_ADDIN
204         default y
205
206 config ARCH_EBSA285
207         bool
208         depends on ARCH_EBSA285_HOST || ARCH_EBSA285_ADDIN
209         default y
210
211 #####################################################################
212 # SA1111 support
213 config SA1111
214         bool
215         depends on ASSABET_NEPONSET || SA1100_ADSBITSY || SA1100_BADGE4 || SA1100_CONSUS || SA1100_GRAPHICSMASTER || SA1100_JORNADA720 || ARCH_LUBBOCK || SA1100_PFS168 || SA1100_PT_SYSTEM3 || SA1100_XP860
216         default y
217
218 config FORCE_MAX_ZONEORDER
219         int
220         depends on SA1111
221         default "9"
222
223 config DMABOUNCE
224         bool
225         depends on SA1111
226         default y
227
228 source arch/arm/mm/Kconfig
229
230 #  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
231 config XSCALE_PMU
232         bool
233         depends on CPU_XSCALE && !XSCALE_PMU_TIMER
234         default y
235
236 endmenu
237
238
239 menu "General setup"
240
241 # Select various configuration options depending on the machine type
242 config DISCONTIGMEM
243         bool
244         depends on ARCH_EDB7211 || ARCH_SA1100 || ARCH_LH7A40X
245         default y
246         help
247           Say Y to upport efficient handling of discontiguous physical memory,
248           for architectures which are either NUMA (Non-Uniform Memory Access)
249           or have huge holes in the physical address space for other reasons.
250           See <file:Documentation/vm/numa> for more.
251
252 # Now handle the bus types
253 config PCI
254         bool "PCI support" if ARCH_INTEGRATOR_AP
255         default y if ARCH_FTVPCI || ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX
256         help
257           Find out whether you have a PCI motherboard. PCI is the name of a
258           bus system, i.e. the way the CPU talks to the other stuff inside
259           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
260           VESA. If you have PCI, say Y, otherwise N.
261
262           The PCI-HOWTO, available from
263           <http://www.tldp.org/docs.html#howto>, contains valuable
264           information about which PCI hardware does work under Linux and which
265           doesn't.
266
267 # Select the host bridge type
268 config PCI_HOST_PLX90X0
269         bool
270         depends on PCI && ARCH_FTVPCI
271         default y
272
273 config PCI_HOST_VIA82C505
274         bool
275         depends on PCI && ARCH_SHARK
276         default y
277
278 config ICST525
279         bool
280         depends on ARCH_INTEGRATOR
281         default y
282
283 config ARM_AMBA
284         bool
285         depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB
286         default y
287
288 config ISA
289         bool
290         depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100
291         default y
292         help
293           Find out whether you have ISA slots on your motherboard.  ISA is the
294           name of a bus system, i.e. the way the CPU talks to the other stuff
295           inside your box.  Other bus systems are PCI, EISA, MicroChannel
296           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
297           newer boards don't support it.  If you have ISA, say Y, otherwise N.
298
299 config ISA_DMA
300         bool
301         depends on FOOTBRIDGE_HOST || ARCH_SHARK
302         default y
303
304 config FIQ
305         bool
306         depends on ARCH_ACORN || ARCH_L7200 || ARCH_LH7A400
307         default y
308
309 # Compressed boot loader in ROM.  Yes, we really want to ask about
310 # TEXT and BSS so we preserve their values in the config files.
311 config ZBOOT_ROM
312         bool "Compressed boot loader in ROM/flash"
313         help
314           Say Y here if you intend to execute your compressed kernel image (zImage)
315           directly from ROM or flash.  If unsure, say N.
316
317 config ZBOOT_ROM_TEXT
318         hex "Compressed ROM boot loader base address"
319         default "0"
320         help
321           The base address for zImage.  Unless you have special requirements, you
322           should not change this value.
323
324 config ZBOOT_ROM_BSS
325         hex "Compressed ROM boot loader BSS address"
326         default "0"
327         help
328           The base address of 64KiB of read/write memory, which must be available
329           while the decompressor is running.  Unless you have special requirements,
330           you should not change this value.
331
332 config CPU_FREQ
333         bool "Support CPU clock change (EXPERIMENTAL)"
334         depends on (ARCH_SA1100 || ARCH_INTEGRATOR) && EXPERIMENTAL
335         help
336           CPU clock scaling allows you to change the clock speed of the
337           running CPU on the fly. This is a nice method to save battery power,
338           because the lower the clock speed, the less power the CPU
339           consumes. Note that this driver doesn't automatically change the CPU
340           clock speed, you need some userland tools (which still have to be
341           written) to implement the policy. If you don't understand what this
342           is all about, it's safe to say 'N'.
343
344
345 # CPUfreq on SA11x0 is special -- it _needs_ the userspace governor
346
347 config CPU_FREQ_SA1100
348         bool
349         depends on CPU_FREQ && SA1100_LART
350         default y
351         select CPU_FREQ_24_API if SYSCTL
352
353 config CPU_FREQ_SA1110
354         bool
355         depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
356         default y
357         select CPU_FREQ_24_API if SYSCTL
358
359 config CPU_FREQ_INTEGRATOR
360         tristate "CPUfreq driver for ARM Integrator CPUs"
361         depends on ARCH_INTEGRATOR && ICST525 && CPU_FREQ
362         default y
363         help
364           This enables the CPUfreq driver for ARM Integrator CPUs.
365
366           For details, take a look at linux/Documentation/cpu-freq.
367
368           If in doubt, say Y.
369
370 if (CPU_FREQ_INTEGRATOR) || (CPU_FREQ_SA1110) || (CPU_FREQ_SA1100)
371
372 source "drivers/cpufreq/Kconfig"
373
374 endif
375
376 source "drivers/pci/Kconfig"
377
378 source "drivers/pcmcia/Kconfig"
379
380 comment "At least one math emulation must be selected"
381
382 config FPE_NWFPE
383         bool "NWFPE math emulation"
384         ---help---
385           Say Y to include the NWFPE floating point emulator in the kernel.
386           This is necessary to run most binaries. Linux does not currently
387           support floating point hardware so you need to say Y here even if
388           your machine has an FPA or floating point co-processor podule.
389
390           You may say N here if you are going to load the Acorn FPEmulator
391           early in the bootup.
392
393 config FPE_NWFPE_XP
394         bool "Support extended precision"
395         depends on FPE_NWFPE
396         help
397           Say Y to include 80-bit support in the kernel floating-point
398           emulator.  Otherwise, only 32 and 64-bit support is compiled in.
399           Note that gcc does not generate 80-bit operations by default,
400           so in most cases this option only enlarges the size of the
401           floating point emulator without any good reason.
402
403           You almost surely want to say N here.
404
405 config FPE_FASTFPE
406         bool "FastFPE math emulation (EXPERIMENTAL)"
407         depends on !CPU_32v3 && EXPERIMENTAL
408         ---help---
409           Say Y here to include the FAST floating point emulator in the kernel.
410           This is an experimental much faster emulator which now also has full
411           precision for the mantissa.  It does not support any exceptions.
412           It is very simple, and approximately 3-6 times faster than NWFPE.
413
414           It should be sufficient for most programs.  It may be not suitable
415           for scientific calculations, but you have to check this for yourself.
416           If you do not feel you need a faster FP emulation you should better
417           choose NWFPE.
418
419 source "fs/Kconfig.binfmt"
420
421 source "drivers/base/Kconfig"
422
423 config PM
424         bool "Power Management support"
425         ---help---
426           "Power Management" means that parts of your computer are shut
427           off or put into a power conserving "sleep" mode if they are not
428           being used.  There are two competing standards for doing this: APM
429           and ACPI.  If you want to use either one, say Y here and then also
430           to the requisite support below.
431
432           Power Management is most important for battery powered laptop
433           computers; if you have a laptop, check out the Linux Laptop home
434           page on the WWW at <http://www.linux-on-laptops.com/> or
435           Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
436           and the Battery Powered Linux mini-HOWTO, available from
437           <http://www.tldp.org/docs.html#howto>.
438
439           Note that, even if you say N here, Linux on the x86 architecture
440           will issue the hlt instruction if nothing is to be done, thereby
441           sending the processor to sleep and saving power.
442
443 config PREEMPT
444         bool "Preemptible Kernel (EXPERIMENTAL)"
445         depends on CPU_32 && EXPERIMENTAL
446         help
447           This option reduces the latency of the kernel when reacting to
448           real-time or interactive events by allowing a low priority process to
449           be preempted even if it is in kernel mode executing a system call.
450           This allows applications to run more reliably even when the system is
451           under load.
452
453           Say Y here if you are building a kernel for a desktop, embedded
454           or real-time system.  Say N if you are unsure.
455
456 config APM
457         tristate "Advanced Power Management Emulation"
458         depends on PM
459         ---help---
460           APM is a BIOS specification for saving power using several different
461           techniques. This is mostly useful for battery powered laptops with
462           APM compliant BIOSes. If you say Y here, the system time will be
463           reset after a RESUME operation, the /proc/apm device will provide
464           battery status information, and user-space programs will receive
465           notification of APM "events" (e.g. battery status change).
466
467           If you select "Y" here, you can disable actual use of the APM
468           BIOS by passing the "apm=off" option to the kernel at boot time.
469
470           Note that the APM support is almost completely disabled for
471           machines with more than one CPU.
472
473           In order to use APM, you will need supporting software. For location
474           and more information, read <file:Documentation/pm.txt> and the
475           Battery Powered Linux mini-HOWTO, available from
476           <http://www.tldp.org/docs.html#howto>.
477
478           This driver does not spin down disk drives (see the hdparm(8)
479           manpage ("man 8 hdparm") for that), and it doesn't turn off
480           VESA-compliant "green" monitors.
481
482           This driver does not support the TI 4000M TravelMate and the ACER
483           486/DX4/75 because they don't have compliant BIOSes. Many "green"
484           desktop machines also don't have compliant BIOSes, and this driver
485           may cause those machines to panic during the boot phase.
486
487           Generally, if you don't have a battery in your machine, there isn't
488           much point in using this driver and you should say N. If you get
489           random kernel OOPSes or reboots that don't seem to be related to
490           anything, try disabling/enabling this option (or disabling/enabling
491           APM in your BIOS).
492
493           Some other things you should try when experiencing seemingly random,
494           "weird" problems:
495
496           1) make sure that you have enough swap space and that it is
497           enabled.
498           2) pass the "no-hlt" option to the kernel
499           3) switch on floating point emulation in the kernel and pass
500           the "no387" option to the kernel
501           4) pass the "floppy=nodma" option to the kernel
502           5) pass the "mem=4M" option to the kernel (thereby disabling
503           all but the first 4 MB of RAM)
504           6) make sure that the CPU is not over clocked.
505           7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
506           8) disable the cache from your BIOS settings
507           9) install a fan for the video card or exchange video RAM
508           10) install a better fan for the CPU
509           11) exchange RAM chips
510           12) exchange the motherboard.
511
512           To compile this driver as a module, choose M here: the
513           module will be called apm.
514
515 config ARTHUR
516         tristate "RISC OS personality"
517         depends on CPU_32
518         help
519           Say Y here to include the kernel code necessary if you want to run
520           Acorn RISC OS/Arthur binaries under Linux. This code is still very
521           experimental; if this sounds frightening, say N and sleep in peace.
522           You can also say M here to compile this support as a module (which
523           will be called arthur).
524
525 config CMDLINE
526         string "Default kernel command string"
527         default ""
528         help
529           On some architectures (EBSA110 and CATS), there is currently no way
530           for the boot loader to pass arguments to the kernel. For these
531           architectures, you should supply some command-line options at build
532           time by entering them here. As a minimum, you should specify the
533           memory size and the root device (e.g., mem=64M root=/dev/nfs).
534
535 config LEDS
536         bool "Timer and CPU usage LEDs"
537         depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB
538         help
539           If you say Y here, the LEDs on your machine will be used
540           to provide useful information about your current system status.
541
542           If you are compiling a kernel for a NetWinder or EBSA-285, you will
543           be able to select which LEDs are active using the options below. If
544           you are compiling a kernel for the EBSA-110 or the LART however, the
545           red LED will simply flash regularly to indicate that the system is
546           still functional. It is safe to say Y here if you have a CATS
547           system, but the driver will do nothing.
548
549 config LEDS_TIMER
550         bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB)
551         depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB
552         default y if ARCH_EBSA110
553         help
554           If you say Y here, one of the system LEDs (the green one on the
555           NetWinder, the amber one on the EBSA285, or the red one on the LART)
556           will flash regularly to indicate that the system is still
557           operational. This is mainly useful to kernel hackers who are
558           debugging unstable kernels.
559
560           The LART uses the same LED for both Timer LED and CPU usage LED
561           functions. You may choose to use both, but the Timer LED function
562           will overrule the CPU usage LED.
563
564 config LEDS_CPU
565         bool "CPU usage LED"
566         depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB)
567         help
568           If you say Y here, the red LED will be used to give a good real
569           time indication of CPU usage, by lighting whenever the idle task
570           is not currently executing.
571
572           The LART uses the same LED for both Timer LED and CPU usage LED
573           functions. You may choose to use both, but the Timer LED function
574           will overrule the CPU usage LED.
575
576 config ALIGNMENT_TRAP
577         bool
578         depends on CPU_32
579         default y
580         help
581           ARM processors can not fetch/store information which is not
582           naturally aligned on the bus, i.e., a 4 byte fetch must start at an
583           address divisible by 4. On 32-bit ARM processors, these non-aligned
584           fetch/store instructions will be emulated in software if you say
585           here, which has a severe performance impact. This is necessary for
586           correct operation of some network protocols. With an IP-only
587           configuration it is safe to say N, otherwise say Y.
588
589 endmenu
590
591 source "drivers/parport/Kconfig"
592
593 if ALIGNMENT_TRAP
594 source "drivers/mtd/Kconfig"
595 endif
596
597 source "drivers/pnp/Kconfig"
598
599 source "drivers/block/Kconfig"
600
601 source "drivers/md/Kconfig"
602
603 source "drivers/acorn/block/Kconfig"
604
605 source "net/Kconfig"
606
607 source "drivers/ide/Kconfig"
608
609 source "drivers/scsi/Kconfig"
610
611 source "drivers/message/fusion/Kconfig"
612
613 source "drivers/ieee1394/Kconfig"
614
615 source "drivers/message/i2o/Kconfig"
616
617 source "drivers/isdn/Kconfig"
618
619 #
620 # input before char - char/joystick depends on it. As does USB.
621 #
622 source "drivers/input/Kconfig"
623
624 source "drivers/char/Kconfig"
625
626 source "drivers/i2c/Kconfig"
627
628 #source "drivers/l3/Kconfig"
629
630 source "drivers/media/Kconfig"
631
632 source "fs/Kconfig"
633
634 source "arch/arm/oprofile/Kconfig"
635
636 source "drivers/video/Kconfig"
637
638 source "sound/Kconfig"
639
640 source "drivers/misc/Kconfig"
641
642 source "drivers/usb/Kconfig"
643
644
645 menu "Kernel hacking"
646
647 # RMK wants arm kernels compiled with frame pointers so hardwire this to y.
648 # If you know what you are doing and are willing to live without stack
649 # traces, you can get a slightly smaller kernel by setting this option to
650 # n, but then RMK will have to kill you ;).
651 config FRAME_POINTER
652         bool
653         default y
654         help
655           If you say N here, the resulting kernel will be slightly smaller and
656           faster. However, when a problem occurs with the kernel, the
657           information that is reported is severely limited. Most people
658           should say Y here.
659
660 config DEBUG_USER
661         bool "Verbose user fault messages"
662         help
663           When a user program crashes due to an exception, the kernel can
664           print a brief message explaining what the problem was. This is
665           sometimes helpful for debugging but serves no purpose on a
666           production system. Most people should say N here.
667
668           In addition, you need to pass user_debug=N on the kernel command
669           line to enable this feature.  N consists of the sum of:
670
671               1 - undefined instruction events
672               2 - system calls
673               4 - invalid data aborts
674               8 - SIGSEGV faults
675              16 - SIGBUS faults
676
677 config DEBUG_INFO
678         bool "Include GDB debugging information in kernel binary"
679         help
680           Say Y here to include source-level debugging information in the
681           `vmlinux' binary image. This is handy if you want to use gdb or
682           addr2line to debug the kernel. It has no impact on the in-memory
683           footprint of the running kernel but it can increase the amount of
684           time and disk space needed for compilation of the kernel. If in
685           doubt say N.
686
687 config DEBUG_KERNEL
688         bool "Kernel debugging"
689         help
690           Say Y here if you are developing drivers or trying to debug and
691           identify kernel problems.
692
693 config DEBUG_SLAB
694         bool "Debug memory allocations"
695         depends on DEBUG_KERNEL
696         help
697           Say Y here to have the kernel do limited verification on memory
698           allocation as well as poisoning memory on free to catch use of freed
699           memory.
700
701 config MAGIC_SYSRQ
702         bool "Magic SysRq key"
703         depends on DEBUG_KERNEL
704         help
705           If you say Y here, you will have some control over the system even
706           if the system crashes for example during kernel debugging (e.g., you
707           will be able to flush the buffer cache to disk, reboot the system
708           immediately or dump some status information). This is accomplished
709           by pressing various keys while holding SysRq (Alt+PrintScreen). It
710           also works on a serial console (on PC hardware at least), if you
711           send a BREAK and then within 5 seconds a command keypress. The
712           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
713           unless you really know what this hack does.
714
715 config DEBUG_SPINLOCK
716         bool "Spinlock debugging"
717         depends on DEBUG_KERNEL
718         help
719           Say Y here and build SMP to catch missing spinlock initialization
720           and certain other kinds of spinlock errors commonly made.  This is
721           best used in conjunction with the NMI watchdog so that spinlock
722           deadlocks are also debuggable.
723
724 config DEBUG_WAITQ
725         bool "Wait queue debugging"
726         depends on DEBUG_KERNEL
727
728 config DEBUG_BUGVERBOSE
729         bool "Verbose BUG() reporting (adds 70K)"
730         depends on DEBUG_KERNEL
731         help
732           Say Y here to make BUG() panics output the file name and line number
733           of the BUG call as well as the EIP and oops trace.  This aids
734           debugging but costs about 70-100K of memory.
735
736 config DEBUG_ERRORS
737         bool "Verbose kernel error messages"
738         depends on DEBUG_KERNEL
739         help
740           This option controls verbose debugging information which can be
741           printed when the kernel detects an internal error. This debugging
742           information is useful to kernel hackers when tracking down problems,
743           but mostly meaningless to other people. It's safe to say Y unless
744           you are concerned with the code size or don't want to see these
745           messages.
746
747 # These options are only for real kernel hackers who want to get their hands dirty. 
748 config DEBUG_LL
749         bool "Kernel low-level debugging functions"
750         depends on DEBUG_KERNEL
751         help
752           Say Y here to include definitions of printascii, printchar, printhex
753           in the kernel.  This is helpful if you are debugging code that
754           executes before the console is initialized.
755
756 config DEBUG_ICEDCC
757         bool "Kernel low-level debugging via EmbeddedICE DCC channel"
758         depends on DEBUG_LL
759         help
760           Say Y here if you want the debug print routines to direct their
761           output to the EmbeddedICE macrocell's DCC channel using
762           co-processor 14. This is known to work on the ARM9 style ICE
763           channel.
764
765           It does include a timeout to ensure that the system does not
766           totally freeze when there is nothing connected to read.
767
768 config DEBUG_DC21285_PORT
769         bool "Kernel low-level debugging messages via footbridge serial port"
770         depends on DEBUG_LL && FOOTBRIDGE
771         help
772           Say Y here if you want the debug print routines to direct their
773           output to the serial port in the DC21285 (Footbridge). Saying N
774           will cause the debug messages to appear on the first 16550
775           serial port.
776
777 config DEBUG_CLPS711X_UART2
778         bool "Kernel low-level debugging messages via UART2"
779         depends on DEBUG_LL && ARCH_CLPS711X
780         help
781           Say Y here if you want the debug print routines to direct their
782           output to the second serial port on these devices.  Saying N will
783           cause the debug messages to appear on the first serial port.
784
785 config DEBUG_S3C2410_PORT
786         depends on DEBUG_LL && ARCH_S3C2410
787         bool "Kernel low-level debugging messages via S3C2410 UART"
788         help
789           Say Y here if you want debug print routines to go to one of the
790           S3C2410 internal UARTs. The chosen UART must have been configured
791           before it is used.
792
793 config DEBUG_S3C2410_UART
794         int
795         depends on DEBUG_LL && ARCH_S3C2410
796         default "0"
797         help
798           Choice for UART for kernel low-level using S3C2410 UARTS,
799           should be between zero and two. The port must have been
800           initalised by the boot-loader before use.
801
802 endmenu
803
804 source "kernel/vserver/Kconfig"
805
806 source "security/Kconfig"
807
808 source "crypto/Kconfig"
809
810 source "lib/Kconfig"
811