MOXA linux-2.6.x / linux-2.6.19-uc1 from UC-7110-LX-BOOTLOADER-1.9_VERSION-4.2.tgz
[linux-2.6.19-moxart.git] / arch / arm / Kconfig
blob7b9750ee33922603f99b1358c96b0fdf7e3cd06c
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
8 config ARM
9         bool
10         default y
11         select RTC_LIB
12         help
13           The ARM series is a line of low-power-consumption RISC chip designs
14           licensed by ARM Ltd and targeted at embedded applications and
15           handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
16           manufactured, but legacy ARM-based PC hardware remains popular in
17           Europe.  There is an ARM Linux project with a web page at
18           <http://www.arm.linux.org.uk/>.
20 config GENERIC_TIME
21         bool
22         default n
24 config MMU
25         bool "MMU-based Paged Memory Management Support"
26         default y
27         help
28           Select if you want MMU-based virtualised addressing space
29           support by paged memory management. If unsure, say 'Y'.
31 config EISA
32         bool
33         ---help---
34           The Extended Industry Standard Architecture (EISA) bus was
35           developed as an open alternative to the IBM MicroChannel bus.
37           The EISA bus provided some of the features of the IBM MicroChannel
38           bus while maintaining backward compatibility with cards made for
39           the older ISA bus.  The EISA bus saw limited use between 1988 and
40           1995 when it was made obsolete by the PCI bus.
42           Say Y here if you are building a kernel for an EISA-based machine.
44           Otherwise, say N.
46 config SBUS
47         bool
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.
57 config GENERIC_HARDIRQS
58         bool
59         default y
61 config TRACE_IRQFLAGS_SUPPORT
62         bool
63         default y
65 config HARDIRQS_SW_RESEND
66         bool
67         default y
69 config GENERIC_IRQ_PROBE
70         bool
71         default y
73 config RWSEM_GENERIC_SPINLOCK
74         bool
75         default y
77 config RWSEM_XCHGADD_ALGORITHM
78         bool
80 config GENERIC_HWEIGHT
81         bool
82         default y
84 config GENERIC_CALIBRATE_DELAY
85         bool
86         default y
88 config GENERIC_BUST_SPINLOCK
89         bool
91 config ARCH_MAY_HAVE_PC_FDC
92         bool
94 config GENERIC_ISA_DMA
95         bool
97 config FIQ
98         bool
100 config ARCH_MTD_XIP
101         bool
103 config VECTORS_BASE
104         hex
105         default 0xffff0000 if MMU || CPU_HIGH_VECTOR
106         default DRAM_BASE if REMAP_VECTORS_TO_RAM
107         default 0x00000000
108         help
109           The base address of exception vectors.
111 source "init/Kconfig"
113 menu "System Type"
115 choice
116         prompt "ARM system type"
117         default ARCH_VERSATILE
118         default ARCH_S3C2500 if !MMU
119         default ARCH_ATMEL if !MMU
121 config ARCH_AAEC2000
122         bool "Agilent AAEC-2000 based"
123         select ARM_AMBA
124         help
125           This enables support for systems based on the Agilent AAEC-2000
127 config ARCH_INTEGRATOR
128         bool "ARM Ltd. Integrator family"
129         select ARM_AMBA
130         select ICST525
131         help
132           Support for ARM's Integrator platform.
134 config ARCH_REALVIEW
135         bool "ARM Ltd. RealView family"
136         select ARM_AMBA
137         select ICST307
138         help
139           This enables support for ARM Ltd RealView boards.
141 config ARCH_VERSATILE
142         bool "ARM Ltd. Versatile family"
143         select ARM_AMBA
144         select ARM_VIC
145         select ICST307
146         help
147           This enables support for ARM Ltd Versatile board.
149 config ARCH_AT91
150         bool "Atmel AT91"
151         help
152           This enables support for systems based on the Atmel AT91RM9200
153           and AT91SAM9xxx processors.
155 config ARCH_CLPS7500
156         bool "Cirrus CL-PS7500FE"
157         select TIMER_ACORN
158         select ISA
159         help
160           Support for the Cirrus Logic PS7500FE system-on-a-chip.
162 config ARCH_CLPS711X
163         bool "Cirrus Logic CLPS711x/EP721x-based"
164         help
165           Support for Cirrus Logic 711x/721x based boards.
167 config ARCH_CO285
168         bool "Co-EBSA285"
169         select FOOTBRIDGE
170         select FOOTBRIDGE_ADDIN
171         help
172           Support for Intel's EBSA285 companion chip.
174 config ARCH_EBSA110
175         bool "EBSA-110"
176         select ISA
177         help
178           This is an evaluation board for the StrongARM processor available
179           from Digital. It has limited hardware on-board, including an
180           Ethernet interface, two PCMCIA sockets, two serial ports and a
181           parallel port.
183 config ARCH_EP93XX
184         bool "EP93xx-based"
185         select ARM_AMBA
186         select ARM_VIC
187         help
188           This enables support for the Cirrus EP93xx series of CPUs.
190 config ARCH_FOOTBRIDGE
191         bool "FootBridge"
192         select FOOTBRIDGE
193         help
194           Support for systems based on the DC21285 companion chip
195           ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
197 config ARCH_NETX
198         bool "Hilscher NetX based"
199         select ARM_VIC
200         help
201           This enables support for systems based on the Hilscher NetX Soc
203 config ARCH_H720X
204         bool "Hynix HMS720x-based"
205         select ISA_DMA_API
206         help
207           This enables support for systems based on the Hynix HMS720x
209 config ARCH_IMX
210         bool "IMX"
211         help
212           Support for Motorola's i.MX family of processors (MX1, MXL).
214 config ARCH_IOP32X
215         bool "IOP32x-based"
216         depends on MMU
217         select PLAT_IOP
218         select PCI
219         help
220           Support for Intel's 80219 and IOP32X (XScale) family of
221           processors.
223 config ARCH_IOP33X
224         bool "IOP33x-based"
225         depends on MMU
226         select PLAT_IOP
227         select PCI
228         help
229           Support for Intel's IOP33X (XScale) family of processors.
231 config ARCH_IXP4XX
232         bool "IXP4xx-based"
233         depends on MMU
234         select GENERIC_TIME
235         help
236           Support for Intel's IXP4XX (XScale) family of processors.
238 config ARCH_IXP2000
239         bool "IXP2400/2800-based"
240         depends on MMU
241         select PCI
242         help
243           Support for Intel's IXP2400/2800 (XScale) family of processors.
245 config ARCH_KS8695
246         bool "Kendin-Micrel KS8695"
247         help
248           The Kendin-Micrel KS8695 "Centaur" family is an ARM920 based
249           System-On-Chip device. It is commonly used on small routers and
250           other small scale embedded devices.
252 config ARCH_IXP23XX
253         bool "IXP23XX-based"
254         depends on MMU
255         select PCI
256         help
257           Support for Intel's IXP23xx (XScale) family of processors.
259 config ARCH_L7200
260         bool "LinkUp-L7200"
261         select FIQ
262         help
263           Say Y here if you intend to run this kernel on a LinkUp Systems
264           L7200 Software Development Board which uses an ARM720T processor.
265           Information on this board can be obtained at:
267           <http://www.linkupsys.com/>
269           If you have any questions or comments about the Linux kernel port
270           to this board, send e-mail to <sjhill@cotw.com>.
272 config ARCH_PNX4008
273         bool "Philips Nexperia PNX4008 Mobile"
274         help
275           This enables support for Philips PNX4008 mobile platform.
277 config ARCH_PXA
278         bool "PXA2xx-based"
279         depends on MMU
280         select ARCH_MTD_XIP
281         help
282           Support for Intel's PXA2XX processor line.
284 config ARCH_RPC
285         bool "RiscPC"
286         select ARCH_ACORN
287         select FIQ
288         select TIMER_ACORN
289         select ARCH_MAY_HAVE_PC_FDC
290         select ISA_DMA_API
291         help
292           On the Acorn Risc-PC, Linux can support the internal IDE disk and
293           CD-ROM interface, serial and parallel port, and the floppy drive.
295 config ARCH_SA1100
296         bool "SA1100-based"
297         select ISA
298         select ARCH_DISCONTIGMEM_ENABLE
299         select ARCH_MTD_XIP
300         help
301           Support for StrongARM 11x0 based boards.
303 config ARCH_S3C2410
304         bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442"
305         help
306           Samsung S3C2410X CPU based systems, such as the Simtec Electronics
307           BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
308           the Samsung SMDK2410 development board (and derivatives).
310 config ARCH_SHARK
311         bool "Shark"
312         select ISA
313         select ISA_DMA
314         select PCI
315         help
316           Support for the StrongARM based Digital DNARD machine, also known
317           as "Shark" (<http://www.shark-linux.de/shark.html>).
319 config ARCH_LH7A40X
320         bool "Sharp LH7A40X"
321         help
322           Say Y here for systems based on one of the Sharp LH7A40X
323           System on a Chip processors.  These CPUs include an ARM922T
324           core with a wide array of integrated devices for
325           hand-held and low-power applications.
327 config ARCH_OMAP
328         bool "TI OMAP"
329         help
330           Support for TI's OMAP platform (OMAP1 and OMAP2).
332 config ARCH_S5C7375
333         bool "Samsung S5C7375"
334         depends !MMU
335         help
336           Samsung's S5C7375 16/32-bit SOC(ARM920T) for internal use.
337           It can be supported for memory management type MMU(Linux) and
340 config ARCH_S3C24A0 
341         bool "Samsung S3C24A0"
342         depends !MMU
343         help 
344           Samsung's S3C24A0 media processor based on ARM926EJ core.
346 config ARCH_S3C2500
347         bool "Samsung S3C2500"
348         help
349           Samsung's S3C2500 SOC(ARM940T).
351 config ARCH_ATMEL
352         bool "Atmel AT91xxx"
353         depends on !MMU
354         help
355           The AT91xxx Series is a subset of the Atmel AT91 16/32-bit
356           microcontroller family, which is based on the ARM7TDMI
357           processor core.
358           refer <http://www.atmel.com>
360           You can also choose this architecture for The GDB/Armulator.
361           It emulates AT91F40, include ARM7TDMI core and timers/serial.
362           refer <http://www.uclinux.org/pub/uClinux/utilities/armulator/>.
364 config ARCH_S3C3410
365         bool "Samsung S3C3410X"
366         depends on !MMU
367         help
368           Samsung's S3C3410X(KS17C40100) 16/32-bit RISC MCU
369           is a cost-effective and high-performance MCU solution for PDA and
370           general purpose application. The core is ARM7TDMI. 
371           
372           refer <http://www.samsungsemi.com>.
374 config ARCH_MOXART
375         bool "Moxa ART CPU"
376         depends on !MMU
377         help
378           Moxa's ART 16/32-bit RISC MCU
379           
380           refer <http://www.moxa.com>.
382 config ARCH_ESPD_4510B
383         bool "ESPD 4510B / Samsung S3C4510B"
384         depends on !MMU
385         help
386           ESPD 4510B evaluation board built on Samsung's
387           S3C4510B(KS32C50100) 16/32-bit RISC MCU
388           is a high performance network controller based
389           on the ARM7TDMI core.
390           
391           refer to  <http://www.espd-inc.com/prod01-arm-samsung4510.htm>
393 config ARCH_S3C44B0
394         bool "Samsung S3C44B0"
395         depends on !MMU
396         help
397           Samsung's S3C44B0X 16/32-bit SOC(ARM7TDMI) without coprocessor 
399 config ARCH_P2001
400         bool "P2001"
401         depends on !MMU
402         help
403           The LPEC P2001 evaluation board has an P2001 processor from
404           MAZ Brandenburg GmbH, which is based an ARM9TDMI processor core.
406 config ARCH_LPC22xx
407         bool "Philips LPC22xx"
408         depends on !MMU
409         help
410           Philips LPC22xx series are based on ARM7TDMI-S core,
411           housed in LQFP144 packages, equipped with 
412           16/64KB on-chip RAM and up to 256KB of on-chip Flash, 
413           operating at up to 60MHz together with 
414           a wide range of peripherals and external bus options.
416 endchoice
418 source "arch/arm/mach-clps711x/Kconfig"
420 source "arch/arm/mach-ep93xx/Kconfig"
422 source "arch/arm/mach-footbridge/Kconfig"
424 source "arch/arm/mach-integrator/Kconfig"
426 source "arch/arm/mach-iop32x/Kconfig"
428 source "arch/arm/mach-iop33x/Kconfig"
430 source "arch/arm/mach-ixp4xx/Kconfig"
432 source "arch/arm/mach-ks8695/Kconfig"
434 source "arch/arm/mach-ixp2000/Kconfig"
436 source "arch/arm/mach-ixp23xx/Kconfig"
438 source "arch/arm/mach-pxa/Kconfig"
440 source "arch/arm/mach-sa1100/Kconfig"
442 source "arch/arm/plat-omap/Kconfig"
444 source "arch/arm/mach-omap1/Kconfig"
446 source "arch/arm/mach-omap2/Kconfig"
448 source "arch/arm/mach-s3c2410/Kconfig"
450 source "arch/arm/mach-lh7a40x/Kconfig"
452 source "arch/arm/mach-imx/Kconfig"
454 source "arch/arm/mach-h720x/Kconfig"
456 source "arch/arm/mach-versatile/Kconfig"
458 source "arch/arm/mach-atmel/Kconfig"
460 source "arch/arm/mach-s3c3410/Kconfig"
462 source "arch/arm/mach-s3c44b0x/Kconfig"
464 source "arch/arm/mach-s5c7375/Kconfig"
466 source "arch/arm/mach-espd_4510b/Kconfig"
468 source "arch/arm/mach-lpc22xx/Kconfig"
470 source "arch/arm/mach-s3c24a0/Kconfig" 
472 source "arch/arm/mach-p2001/Kconfig"
474 source "arch/arm/mach-aaec2000/Kconfig"
476 source "arch/arm/mach-realview/Kconfig"
478 source "arch/arm/mach-at91rm9200/Kconfig"
480 source "arch/arm/mach-netx/Kconfig"
482 source "arch/arm/mach-moxart/Kconfig"
484 # Definitions to make life easier
485 config ARCH_ACORN
486         bool
488 config PLAT_IOP
489         bool
491 source arch/arm/mm/Kconfig
493 #  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
494 config XSCALE_PMU
495         bool
496         depends on CPU_XSCALE && !XSCALE_PMU_TIMER
497         default y
499 if !MMU
500 source "arch/arm/Kconfig-nommu"
501 endif
503 endmenu
505 source "arch/arm/common/Kconfig"
507 config FORCE_MAX_ZONEORDER
508         int
509         depends on SA1111
510         default "9"
512 menu "Bus support"
514 config ARM_AMBA
515         bool
517 config ISA
518         bool
519         help
520           Find out whether you have ISA slots on your motherboard.  ISA is the
521           name of a bus system, i.e. the way the CPU talks to the other stuff
522           inside your box.  Other bus systems are PCI, EISA, MicroChannel
523           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
524           newer boards don't support it.  If you have ISA, say Y, otherwise N.
526 # Select ISA DMA controller support
527 config ISA_DMA
528         bool
529         select ISA_DMA_API
531 # Select ISA DMA interface
532 config ISA_DMA_API
533         bool
535 config PCI
536         bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695
537         help
538           Find out whether you have a PCI motherboard. PCI is the name of a
539           bus system, i.e. the way the CPU talks to the other stuff inside
540           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
541           VESA. If you have PCI, say Y, otherwise N.
543           The PCI-HOWTO, available from
544           <http://www.tldp.org/docs.html#howto>, contains valuable
545           information about which PCI hardware does work under Linux and which
546           doesn't.
548 # Select the host bridge type
549 config PCI_HOST_VIA82C505
550         bool
551         depends on PCI && ARCH_SHARK
552         default y
554 source "drivers/pci/Kconfig"
556 source "drivers/pcmcia/Kconfig"
558 endmenu
560 menu "Kernel Features"
562 config SMP
563         bool "Symmetric Multi-Processing (EXPERIMENTAL)"
564         depends on EXPERIMENTAL && REALVIEW_MPCORE
565         help
566           This enables support for systems with more than one CPU. If you have
567           a system with only one CPU, like most personal computers, say N. If
568           you have a system with more than one CPU, say Y.
570           If you say N here, the kernel will run on single and multiprocessor
571           machines, but will use only one CPU of a multiprocessor machine. If
572           you say Y here, the kernel will run on many, but not all, single
573           processor machines. On a single processor machine, the kernel will
574           run faster if you say N here.
576           See also the <file:Documentation/smp.txt>,
577           <file:Documentation/i386/IO-APIC.txt>,
578           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
579           <http://www.linuxdoc.org/docs.html#howto>.
581           If you don't know what to do here, say N.
583 config NR_CPUS
584         int "Maximum number of CPUs (2-32)"
585         range 2 32
586         depends on SMP
587         default "4"
589 config HOTPLUG_CPU
590         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
591         depends on SMP && HOTPLUG && EXPERIMENTAL
592         help
593           Say Y here to experiment with turning CPUs off and on.  CPUs
594           can be controlled through /sys/devices/system/cpu.
596 config LOCAL_TIMERS
597         bool "Use local timer interrupts"
598         depends on SMP && REALVIEW_MPCORE
599         default y
600         help
601           Enable support for local timers on SMP platforms, rather then the
602           legacy IPI broadcast method.  Local timers allows the system
603           accounting to be spread across the timer interval, preventing a
604           "thundering herd" at every timer tick.
606 config PREEMPT
607         bool "Preemptible Kernel (EXPERIMENTAL)"
608         depends on EXPERIMENTAL
609         help
610           This option reduces the latency of the kernel when reacting to
611           real-time or interactive events by allowing a low priority process to
612           be preempted even if it is in kernel mode executing a system call.
613           This allows applications to run more reliably even when the system is
614           under load.
616           Say Y here if you are building a kernel for a desktop, embedded
617           or real-time system.  Say N if you are unsure.
619 config NO_IDLE_HZ
620         bool "Dynamic tick timer"
621         help
622           Select this option if you want to disable continuous timer ticks
623           and have them programmed to occur as required. This option saves
624           power as the system can remain in idle state for longer.
626           By default dynamic tick is disabled during the boot, and can be
627           manually enabled with:
629             echo 1 > /sys/devices/system/timer/timer0/dyn_tick
631           Alternatively, if you want dynamic tick automatically enabled
632           during boot, pass "dyntick=enable" via the kernel command string.
634           Please note that dynamic tick may affect the accuracy of
635           timekeeping on some platforms depending on the implementation.
636           Currently at least OMAP, PXA2xx and SA11x0 platforms are known
637           to have accurate timekeeping with dynamic tick.
639 config HZ
640         int
641         default 128 if ARCH_L7200
642         default 200 if ARCH_EBSA110 || ARCH_S3C2410
643         default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
644         default 100
646 config AEABI
647         bool "Use the ARM EABI to compile the kernel"
648         help
649           This option allows for the kernel to be compiled using the latest
650           ARM ABI (aka EABI).  This is only useful if you are using a user
651           space environment that is also compiled with EABI.
653           Since there are major incompatibilities between the legacy ABI and
654           EABI, especially with regard to structure member alignment, this
655           option also changes the kernel syscall calling convention to
656           disambiguate both ABIs and allow for backward compatibility support
657           (selected with CONFIG_OABI_COMPAT).
659           To use this you need GCC version 4.0.0 or later.
661 config OABI_COMPAT
662         bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
663         depends on AEABI && EXPERIMENTAL
664         default y
665         help
666           This option preserves the old syscall interface along with the
667           new (ARM EABI) one. It also provides a compatibility layer to
668           intercept syscalls that have structure arguments which layout
669           in memory differs between the legacy ABI and the new ARM EABI
670           (only for non "thumb" binaries). This option adds a tiny
671           overhead to all syscalls and produces a slightly larger kernel.
672           If you know you'll be using only pure EABI user space then you
673           can say N here. If this option is not selected and you attempt
674           to execute a legacy ABI binary then the result will be
675           UNPREDICTABLE (in fact it can be predicted that it won't work
676           at all). If in doubt say Y.
678 config ARCH_DISCONTIGMEM_ENABLE
679         bool
680         default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
681         help
682           Say Y to support efficient handling of discontiguous physical memory,
683           for architectures which are either NUMA (Non-Uniform Memory Access)
684           or have huge holes in the physical address space for other reasons.
685           See <file:Documentation/vm/numa> for more.
687 config NODES_SHIFT
688         int
689         default "4" if ARCH_LH7A40X
690         default "2"
691         depends on NEED_MULTIPLE_NODES
693 source "mm/Kconfig"
695 config LEDS
696         bool "Timer and CPU usage LEDs"
697         depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
698                    ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
699                    ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
700                    ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
701                    ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
702                    ARCH_AT91RM9200 || MACH_TRIZEPS4
703         help
704           If you say Y here, the LEDs on your machine will be used
705           to provide useful information about your current system status.
707           If you are compiling a kernel for a NetWinder or EBSA-285, you will
708           be able to select which LEDs are active using the options below. If
709           you are compiling a kernel for the EBSA-110 or the LART however, the
710           red LED will simply flash regularly to indicate that the system is
711           still functional. It is safe to say Y here if you have a CATS
712           system, but the driver will do nothing.
714 config LEDS_TIMER
715         bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
716                             MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
717         depends on LEDS
718         default y if ARCH_EBSA110
719         help
720           If you say Y here, one of the system LEDs (the green one on the
721           NetWinder, the amber one on the EBSA285, or the red one on the LART)
722           will flash regularly to indicate that the system is still
723           operational. This is mainly useful to kernel hackers who are
724           debugging unstable kernels.
726           The LART uses the same LED for both Timer LED and CPU usage LED
727           functions. You may choose to use both, but the Timer LED function
728           will overrule the CPU usage LED.
730 config LEDS_CPU
731         bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
732                         !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
733         depends on LEDS
734         help
735           If you say Y here, the red LED will be used to give a good real
736           time indication of CPU usage, by lighting whenever the idle task
737           is not currently executing.
739           The LART uses the same LED for both Timer LED and CPU usage LED
740           functions. You may choose to use both, but the Timer LED function
741           will overrule the CPU usage LED.
743 config ALIGNMENT_TRAP
744         bool
745         depends on CPU_CP15_MMU
746         default y if !ARCH_EBSA110 && !ARCH_S3C3410 && !ARCH_ATMEL && !ARCH_ESPD_4510B && !ARCH_MOXART
747         help
748           ARM processors cannot fetch/store information which is not
749           naturally aligned on the bus, i.e., a 4 byte fetch must start at an
750           address divisible by 4. On 32-bit ARM processors, these non-aligned
751           fetch/store instructions will be emulated in software if you say
752           here, which has a severe performance impact. This is necessary for
753           correct operation of some network protocols. With an IP-only
754           configuration it is safe to say N, otherwise say Y.
756 endmenu
758 menu "Boot options"
760 # Compressed boot loader in ROM.  Yes, we really want to ask about
761 # TEXT and BSS so we preserve their values in the config files.
762 config ZBOOT_ROM_TEXT
763         hex "Compressed ROM boot loader base address"
764         default "0"
765         help
766           The physical address at which the ROM-able zImage is to be
767           placed in the target.  Platforms which normally make use of
768           ROM-able zImage formats normally set this to a suitable
769           value in their defconfig file.
771           If ZBOOT_ROM is not enabled, this has no effect.
773 config ZBOOT_ROM_BSS
774         hex "Compressed ROM boot loader BSS address"
775         default "0"
776         help
777           The base address of an area of read/write memory in the target
778           for the ROM-able zImage which must be available while the
779           decompressor is running. It must be large enough to hold the
780           entire decompressed kernel plus an additional 128 KiB.
781           Platforms which normally make use of ROM-able zImage formats
782           normally set this to a suitable value in their defconfig file.
784           If ZBOOT_ROM is not enabled, this has no effect.
786 config ZBOOT_ROM
787         bool "Compressed boot loader in ROM/flash"
788         depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
789         help
790           Say Y here if you intend to execute your compressed kernel image
791           (zImage) directly from ROM or flash.  If unsure, say N.
793 config CMDLINE
794         string "Default kernel command string"
795         default ""
796         help
797           On some architectures (EBSA110 and CATS), there is currently no way
798           for the boot loader to pass arguments to the kernel. For these
799           architectures, you should supply some command-line options at build
800           time by entering them here. As a minimum, you should specify the
801           memory size and the root device (e.g., mem=64M root=/dev/nfs).
803 config CMDLINE_FORCE
804         bool "Force default kernel command string"
805         help
806           Set this to have arguments from the default kernel command string
807           override those passed by the boot loader.
809 config XIP_KERNEL
810         bool "Kernel Execute-In-Place from ROM"
811         depends on !ZBOOT_ROM
812         help
813           Execute-In-Place allows the kernel to run from non-volatile storage
814           directly addressable by the CPU, such as NOR flash. This saves RAM
815           space since the text section of the kernel is not loaded from flash
816           to RAM.  Read-write sections, such as the data section and stack,
817           are still copied to RAM.  The XIP kernel is not compressed since
818           it has to run directly from flash, so it will take more space to
819           store it.  The flash address used to link the kernel object files,
820           and for storing it, is configuration dependent. Therefore, if you
821           say Y here, you must know the proper physical address where to
822           store the kernel image depending on your own flash memory usage.
824           Also note that the make target becomes "make xipImage" rather than
825           "make zImage" or "make Image".  The final kernel binary to put in
826           ROM memory will be arch/arm/boot/xipImage.
828           If unsure, say N.
830 config XIP_PHYS_ADDR
831         hex "XIP Kernel Physical Location"
832         depends on XIP_KERNEL
833         default "0x00080000"
834         help
835           This is the physical address in your flash memory the kernel will
836           be linked for and stored to.  This address is dependent on your
837           own flash usage.
839 config INITRD_MTD
840         bool "Use initrd as MTD RAM root filesystem"
841         depends on MTD_PLATRAM && !BLK_DEV_INITRD
842         help
843           Create an MTD RAM device at the memory range specified by the
844           initrd parameters, and mount this as the root filesystem.
846 endmenu
848 if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP1 || ARCH_P2001)
850 menu "CPU Frequency scaling"
852 source "drivers/cpufreq/Kconfig"
854 config CPU_FREQ_SA1100
855         bool
856         depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
857         default y
859 config CPU_FREQ_SA1110
860         bool
861         depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
862         default y
864 config CPU_FREQ_INTEGRATOR
865         tristate "CPUfreq driver for ARM Integrator CPUs"
866         depends on ARCH_INTEGRATOR && CPU_FREQ
867         default y
868         help
869           This enables the CPUfreq driver for ARM Integrator CPUs.
871           For details, take a look at <file:Documentation/cpu-freq>.
873           If in doubt, say Y.
875 config CPU_FREQ_P2001
876         tristate 'P2001 cpufreq support'
877         depends on ARCH_P2001 && CPU_FREQ && CPU_FREQ_TABLE
878         default n
879         help
880           Compiles P2001 cpu frequency scaling module.
882 endmenu
884 endif
886 menu "Floating point emulation"
888 comment "At least one emulation must be selected"
890 config FPE_NWFPE
891         bool "NWFPE math emulation"
892         depends on !AEABI || OABI_COMPAT
893         ---help---
894           Say Y to include the NWFPE floating point emulator in the kernel.
895           This is necessary to run most binaries. Linux does not currently
896           support floating point hardware so you need to say Y here even if
897           your machine has an FPA or floating point co-processor podule.
899           You may say N here if you are going to load the Acorn FPEmulator
900           early in the bootup.
902 config FPE_NWFPE_XP
903         bool "Support extended precision"
904         depends on FPE_NWFPE
905         help
906           Say Y to include 80-bit support in the kernel floating-point
907           emulator.  Otherwise, only 32 and 64-bit support is compiled in.
908           Note that gcc does not generate 80-bit operations by default,
909           so in most cases this option only enlarges the size of the
910           floating point emulator without any good reason.
912           You almost surely want to say N here.
914 config FPE_FASTFPE
915         bool "FastFPE math emulation (EXPERIMENTAL)"
916         depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
917         ---help---
918           Say Y here to include the FAST floating point emulator in the kernel.
919           This is an experimental much faster emulator which now also has full
920           precision for the mantissa.  It does not support any exceptions.
921           It is very simple, and approximately 3-6 times faster than NWFPE.
923           It should be sufficient for most programs.  It may be not suitable
924           for scientific calculations, but you have to check this for yourself.
925           If you do not feel you need a faster FP emulation you should better
926           choose NWFPE.
928 config VFP
929         bool "VFP-format floating point maths"
930         depends on CPU_V6 || CPU_ARM926T
931         help
932           Say Y to include VFP support code in the kernel. This is needed
933           if your hardware includes a VFP unit.
935           Please see <file:Documentation/arm/VFP/release-notes.txt> for
936           release notes and additional status information.
938           Say N if your target does not have VFP hardware.
940 endmenu
942 menu "Userspace binary formats"
944 source "fs/Kconfig.binfmt"
946 config ARTHUR
947         tristate "RISC OS personality"
948         depends on !AEABI
949         help
950           Say Y here to include the kernel code necessary if you want to run
951           Acorn RISC OS/Arthur binaries under Linux. This code is still very
952           experimental; if this sounds frightening, say N and sleep in peace.
953           You can also say M here to compile this support as a module (which
954           will be called arthur).
956 endmenu
958 menu "Power management options"
960 source "kernel/power/Kconfig"
962 config APM
963         tristate "Advanced Power Management Emulation"
964         ---help---
965           APM is a BIOS specification for saving power using several different
966           techniques. This is mostly useful for battery powered laptops with
967           APM compliant BIOSes. If you say Y here, the system time will be
968           reset after a RESUME operation, the /proc/apm device will provide
969           battery status information, and user-space programs will receive
970           notification of APM "events" (e.g. battery status change).
972           In order to use APM, you will need supporting software. For location
973           and more information, read <file:Documentation/pm.txt> and the
974           Battery Powered Linux mini-HOWTO, available from
975           <http://www.tldp.org/docs.html#howto>.
977           This driver does not spin down disk drives (see the hdparm(8)
978           manpage ("man 8 hdparm") for that), and it doesn't turn off
979           VESA-compliant "green" monitors.
981           Generally, if you don't have a battery in your machine, there isn't
982           much point in using this driver and you should say N. If you get
983           random kernel OOPSes or reboots that don't seem to be related to
984           anything, try disabling/enabling this option (or disabling/enabling
985           APM in your BIOS).
987 endmenu
989 source "net/Kconfig"
991 menu "Device Drivers"
993 source "drivers/base/Kconfig"
995 source "drivers/connector/Kconfig"
997 if ALIGNMENT_TRAP || !CPU_CP15_MMU
998 source "drivers/mtd/Kconfig"
999 endif
1001 source "drivers/parport/Kconfig"
1003 source "drivers/pnp/Kconfig"
1005 source "drivers/block/Kconfig"
1007 source "drivers/acorn/block/Kconfig"
1009 if PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
1010         || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
1011         || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
1012         || ARCH_IXP23XX
1013 source "drivers/ide/Kconfig"
1014 endif
1016 source "drivers/scsi/Kconfig"
1018 source "drivers/ata/Kconfig"
1020 source "drivers/md/Kconfig"
1022 source "drivers/message/fusion/Kconfig"
1024 source "drivers/ieee1394/Kconfig"
1026 source "drivers/message/i2o/Kconfig"
1028 source "drivers/net/Kconfig"
1030 source "drivers/isdn/Kconfig"
1032 # input before char - char/joystick depends on it. As does USB.
1034 source "drivers/input/Kconfig"
1036 source "drivers/char/Kconfig"
1038 source "drivers/i2c/Kconfig"
1040 source "drivers/w1/Kconfig"
1042 source "drivers/hwmon/Kconfig"
1044 #source "drivers/l3/Kconfig"
1046 source "drivers/misc/Kconfig"
1048 source "drivers/mfd/Kconfig"
1050 source "drivers/leds/Kconfig"
1052 source "drivers/media/Kconfig"
1054 source "drivers/video/Kconfig"
1056 source "sound/Kconfig"
1058 source "drivers/usb/Kconfig"
1060 source "drivers/mmc/Kconfig"
1062 source "drivers/rtc/Kconfig"
1064 endmenu
1066 source "fs/Kconfig"
1068 source "arch/arm/oprofile/Kconfig"
1070 source "arch/arm/Kconfig.debug"
1072 source "security/Kconfig"
1074 source "crypto/Kconfig"
1076 source "lib/Kconfig"