xref: /openbmc/linux/arch/arm/Kconfig (revision 22246614)
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config ARM
9	bool
10	default y
11	select HAVE_IDE
12	select RTC_LIB
13	select SYS_SUPPORTS_APM_EMULATION
14	select HAVE_OPROFILE
15	select HAVE_KPROBES if (!XIP_KERNEL)
16	select HAVE_KRETPROBES if (HAVE_KPROBES)
17	help
18	  The ARM series is a line of low-power-consumption RISC chip designs
19	  licensed by ARM Ltd and targeted at embedded applications and
20	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
21	  manufactured, but legacy ARM-based PC hardware remains popular in
22	  Europe.  There is an ARM Linux project with a web page at
23	  <http://www.arm.linux.org.uk/>.
24
25config SYS_SUPPORTS_APM_EMULATION
26	bool
27
28config GENERIC_GPIO
29	bool
30	default n
31
32config GENERIC_TIME
33	bool
34	default n
35
36config GENERIC_CLOCKEVENTS
37	bool
38	default n
39
40config GENERIC_CLOCKEVENTS_BROADCAST
41	bool
42	depends on GENERIC_CLOCKEVENTS
43	default y if SMP && !LOCAL_TIMERS
44
45config MMU
46	bool
47	default y
48
49config NO_IOPORT
50	bool
51	default n
52
53config EISA
54	bool
55	---help---
56	  The Extended Industry Standard Architecture (EISA) bus was
57	  developed as an open alternative to the IBM MicroChannel bus.
58
59	  The EISA bus provided some of the features of the IBM MicroChannel
60	  bus while maintaining backward compatibility with cards made for
61	  the older ISA bus.  The EISA bus saw limited use between 1988 and
62	  1995 when it was made obsolete by the PCI bus.
63
64	  Say Y here if you are building a kernel for an EISA-based machine.
65
66	  Otherwise, say N.
67
68config SBUS
69	bool
70
71config MCA
72	bool
73	help
74	  MicroChannel Architecture is found in some IBM PS/2 machines and
75	  laptops.  It is a bus system similar to PCI or ISA. See
76	  <file:Documentation/mca.txt> (and especially the web page given
77	  there) before attempting to build an MCA bus kernel.
78
79config GENERIC_HARDIRQS
80	bool
81	default y
82
83config STACKTRACE_SUPPORT
84	bool
85	default y
86
87config LOCKDEP_SUPPORT
88	bool
89	default y
90
91config TRACE_IRQFLAGS_SUPPORT
92	bool
93	default y
94
95config HARDIRQS_SW_RESEND
96	bool
97	default y
98
99config GENERIC_IRQ_PROBE
100	bool
101	default y
102
103config GENERIC_LOCKBREAK
104	bool
105	default y
106	depends on SMP && PREEMPT
107
108config RWSEM_GENERIC_SPINLOCK
109	bool
110	default y
111
112config RWSEM_XCHGADD_ALGORITHM
113	bool
114
115config ARCH_HAS_ILOG2_U32
116	bool
117	default n
118
119config ARCH_HAS_ILOG2_U64
120	bool
121	default n
122
123config GENERIC_HWEIGHT
124	bool
125	default y
126
127config GENERIC_CALIBRATE_DELAY
128	bool
129	default y
130
131config ARCH_SUPPORTS_AOUT
132	def_bool y
133
134config ARCH_MAY_HAVE_PC_FDC
135	bool
136
137config ZONE_DMA
138	bool
139	default y
140
141config GENERIC_ISA_DMA
142	bool
143
144config FIQ
145	bool
146
147config ARCH_MTD_XIP
148	bool
149
150if OPROFILE
151
152config OPROFILE_ARMV6
153	def_bool y
154	depends on CPU_V6 && !SMP
155	select OPROFILE_ARM11_CORE
156
157config OPROFILE_MPCORE
158	def_bool y
159	depends on CPU_V6 && SMP
160	select OPROFILE_ARM11_CORE
161
162config OPROFILE_ARM11_CORE
163	bool
164
165endif
166
167config VECTORS_BASE
168	hex
169	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
170	default DRAM_BASE if REMAP_VECTORS_TO_RAM
171	default 0x00000000
172	help
173	  The base address of exception vectors.
174
175source "init/Kconfig"
176
177menu "System Type"
178
179choice
180	prompt "ARM system type"
181	default ARCH_VERSATILE
182
183config ARCH_AAEC2000
184	bool "Agilent AAEC-2000 based"
185	select ARM_AMBA
186	help
187	  This enables support for systems based on the Agilent AAEC-2000
188
189config ARCH_INTEGRATOR
190	bool "ARM Ltd. Integrator family"
191	select ARM_AMBA
192	select ICST525
193	help
194	  Support for ARM's Integrator platform.
195
196config ARCH_REALVIEW
197	bool "ARM Ltd. RealView family"
198	select ARM_AMBA
199	select ICST307
200	select GENERIC_TIME
201	select GENERIC_CLOCKEVENTS
202	help
203	  This enables support for ARM Ltd RealView boards.
204
205config ARCH_VERSATILE
206	bool "ARM Ltd. Versatile family"
207	select ARM_AMBA
208	select ARM_VIC
209	select ICST307
210	select GENERIC_TIME
211	select GENERIC_CLOCKEVENTS
212	help
213	  This enables support for ARM Ltd Versatile board.
214
215config ARCH_AT91
216	bool "Atmel AT91"
217	select GENERIC_GPIO
218	help
219	  This enables support for systems based on the Atmel AT91RM9200,
220	  AT91SAM9 and AT91CAP9 processors.
221
222config ARCH_CLPS7500
223	bool "Cirrus CL-PS7500FE"
224	select TIMER_ACORN
225	select ISA
226	select NO_IOPORT
227	help
228	  Support for the Cirrus Logic PS7500FE system-on-a-chip.
229
230config ARCH_CLPS711X
231	bool "Cirrus Logic CLPS711x/EP721x-based"
232	help
233	  Support for Cirrus Logic 711x/721x based boards.
234
235config ARCH_CO285
236	bool "Co-EBSA285"
237	select FOOTBRIDGE
238	select FOOTBRIDGE_ADDIN
239	help
240	  Support for Intel's EBSA285 companion chip.
241
242config ARCH_EBSA110
243	bool "EBSA-110"
244	select ISA
245	select NO_IOPORT
246	help
247	  This is an evaluation board for the StrongARM processor available
248	  from Digital. It has limited hardware on-board, including an
249	  Ethernet interface, two PCMCIA sockets, two serial ports and a
250	  parallel port.
251
252config ARCH_EP93XX
253	bool "EP93xx-based"
254	select ARM_AMBA
255	select ARM_VIC
256	select GENERIC_GPIO
257	select HAVE_GPIO_LIB
258	help
259	  This enables support for the Cirrus EP93xx series of CPUs.
260
261config ARCH_FOOTBRIDGE
262	bool "FootBridge"
263	select FOOTBRIDGE
264	help
265	  Support for systems based on the DC21285 companion chip
266	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
267
268config ARCH_NETX
269	bool "Hilscher NetX based"
270	select ARM_VIC
271	help
272	  This enables support for systems based on the Hilscher NetX Soc
273
274config ARCH_H720X
275	bool "Hynix HMS720x-based"
276	select ISA_DMA_API
277	help
278	  This enables support for systems based on the Hynix HMS720x
279
280config ARCH_IMX
281	bool "IMX"
282	select GENERIC_GPIO
283	select GENERIC_TIME
284	select GENERIC_CLOCKEVENTS
285	help
286	  Support for Motorola's i.MX family of processors (MX1, MXL).
287
288config ARCH_IOP13XX
289	bool "IOP13xx-based"
290	depends on MMU
291	select PLAT_IOP
292	select PCI
293	select ARCH_SUPPORTS_MSI
294	help
295	  Support for Intel's IOP13XX (XScale) family of processors.
296
297config ARCH_IOP32X
298	bool "IOP32x-based"
299	depends on MMU
300	select PLAT_IOP
301	select PCI
302	help
303	  Support for Intel's 80219 and IOP32X (XScale) family of
304	  processors.
305
306config ARCH_IOP33X
307	bool "IOP33x-based"
308	depends on MMU
309	select PLAT_IOP
310	select PCI
311	help
312	  Support for Intel's IOP33X (XScale) family of processors.
313
314config ARCH_IXP23XX
315 	bool "IXP23XX-based"
316	depends on MMU
317 	select PCI
318	help
319	  Support for Intel's IXP23xx (XScale) family of processors.
320
321config ARCH_IXP2000
322	bool "IXP2400/2800-based"
323	depends on MMU
324	select PCI
325	help
326	  Support for Intel's IXP2400/2800 (XScale) family of processors.
327
328config ARCH_IXP4XX
329	bool "IXP4xx-based"
330	depends on MMU
331	select GENERIC_GPIO
332	select GENERIC_TIME
333	select GENERIC_CLOCKEVENTS
334	help
335	  Support for Intel's IXP4XX (XScale) family of processors.
336
337config ARCH_L7200
338	bool "LinkUp-L7200"
339	select FIQ
340	help
341	  Say Y here if you intend to run this kernel on a LinkUp Systems
342	  L7200 Software Development Board which uses an ARM720T processor.
343	  Information on this board can be obtained at:
344
345	  <http://www.linkupsys.com/>
346
347	  If you have any questions or comments about the Linux kernel port
348	  to this board, send e-mail to <sjhill@cotw.com>.
349
350config ARCH_KS8695
351	bool "Micrel/Kendin KS8695"
352	select GENERIC_GPIO
353	help
354	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
355	  System-on-Chip devices.
356
357config ARCH_NS9XXX
358	bool "NetSilicon NS9xxx"
359	select GENERIC_GPIO
360	select GENERIC_TIME
361	select GENERIC_CLOCKEVENTS
362	help
363	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
364	  System.
365
366	  <http://www.digi.com/products/microprocessors/index.jsp>
367
368config ARCH_MXC
369	bool "Freescale MXC/iMX-based"
370	select ARCH_MTD_XIP
371	help
372	  Support for Freescale MXC/iMX-based family of processors
373
374config ARCH_ORION5X
375	bool "Marvell Orion"
376	depends on MMU
377	select PCI
378	select GENERIC_GPIO
379	select GENERIC_TIME
380	select GENERIC_CLOCKEVENTS
381	select PLAT_ORION
382	help
383	  Support for the following Marvell Orion 5x series SoCs:
384	  Orion-1 (5181), Orion-NAS (5182), Orion-2 (5281.)
385
386config ARCH_PNX4008
387	bool "Philips Nexperia PNX4008 Mobile"
388	help
389	  This enables support for Philips PNX4008 mobile platform.
390
391config ARCH_PXA
392	bool "PXA2xx/PXA3xx-based"
393	depends on MMU
394	select ARCH_MTD_XIP
395	select GENERIC_GPIO
396	select HAVE_GPIO_LIB
397	select GENERIC_TIME
398	select GENERIC_CLOCKEVENTS
399	select TICK_ONESHOT
400	help
401	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
402
403config ARCH_RPC
404	bool "RiscPC"
405	select ARCH_ACORN
406	select FIQ
407	select TIMER_ACORN
408	select ARCH_MAY_HAVE_PC_FDC
409	select ISA_DMA_API
410	select NO_IOPORT
411	help
412	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
413	  CD-ROM interface, serial and parallel port, and the floppy drive.
414
415config ARCH_SA1100
416	bool "SA1100-based"
417	select ISA
418	select ARCH_DISCONTIGMEM_ENABLE
419	select ARCH_SPARSEMEM_ENABLE
420	select ARCH_SELECT_MEMORY_MODEL
421	select ARCH_MTD_XIP
422	select GENERIC_GPIO
423	select GENERIC_TIME
424	select GENERIC_CLOCKEVENTS
425	select TICK_ONESHOT
426	select HAVE_GPIO_LIB
427	help
428	  Support for StrongARM 11x0 based boards.
429
430config ARCH_S3C2410
431	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
432	select GENERIC_GPIO
433	help
434	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
435	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
436	  the Samsung SMDK2410 development board (and derivatives).
437
438config ARCH_SHARK
439	bool "Shark"
440	select ISA
441	select ISA_DMA
442	select PCI
443	help
444	  Support for the StrongARM based Digital DNARD machine, also known
445	  as "Shark" (<http://www.shark-linux.de/shark.html>).
446
447config ARCH_LH7A40X
448	bool "Sharp LH7A40X"
449	help
450	  Say Y here for systems based on one of the Sharp LH7A40X
451	  System on a Chip processors.  These CPUs include an ARM922T
452	  core with a wide array of integrated devices for
453	  hand-held and low-power applications.
454
455config ARCH_DAVINCI
456	bool "TI DaVinci"
457	select GENERIC_TIME
458	select GENERIC_CLOCKEVENTS
459	select GENERIC_GPIO
460	help
461	  Support for TI's DaVinci platform.
462
463config ARCH_OMAP
464	bool "TI OMAP"
465	select GENERIC_GPIO
466	select HAVE_GPIO_LIB
467	select GENERIC_TIME
468	select GENERIC_CLOCKEVENTS
469	help
470	  Support for TI's OMAP platform (OMAP1 and OMAP2).
471
472config ARCH_MSM7X00A
473	bool "Qualcomm MSM7X00A"
474	select GENERIC_TIME
475	select GENERIC_CLOCKEVENTS
476	help
477	  Support for Qualcomm MSM7X00A based systems.  This runs on the ARM11
478	  apps processor of the MSM7X00A and depends on a shared memory
479	  interface to the ARM9 modem processor which runs the baseband stack
480	  and controls some vital subsystems (clock and power control, etc).
481	  <http://www.cdmatech.com/products/msm7200_chipset_solution.jsp>
482
483endchoice
484
485source "arch/arm/mach-clps711x/Kconfig"
486
487source "arch/arm/mach-ep93xx/Kconfig"
488
489source "arch/arm/mach-footbridge/Kconfig"
490
491source "arch/arm/mach-integrator/Kconfig"
492
493source "arch/arm/mach-iop32x/Kconfig"
494
495source "arch/arm/mach-iop33x/Kconfig"
496
497source "arch/arm/mach-iop13xx/Kconfig"
498
499source "arch/arm/mach-ixp4xx/Kconfig"
500
501source "arch/arm/mach-ixp2000/Kconfig"
502
503source "arch/arm/mach-ixp23xx/Kconfig"
504
505source "arch/arm/mach-pxa/Kconfig"
506
507source "arch/arm/mach-sa1100/Kconfig"
508
509source "arch/arm/plat-omap/Kconfig"
510
511source "arch/arm/mach-omap1/Kconfig"
512
513source "arch/arm/mach-omap2/Kconfig"
514
515source "arch/arm/mach-orion5x/Kconfig"
516
517source "arch/arm/plat-s3c24xx/Kconfig"
518source "arch/arm/plat-s3c/Kconfig"
519
520if ARCH_S3C2410
521source "arch/arm/mach-s3c2400/Kconfig"
522source "arch/arm/mach-s3c2410/Kconfig"
523source "arch/arm/mach-s3c2412/Kconfig"
524source "arch/arm/mach-s3c2440/Kconfig"
525source "arch/arm/mach-s3c2442/Kconfig"
526source "arch/arm/mach-s3c2443/Kconfig"
527endif
528
529source "arch/arm/mach-lh7a40x/Kconfig"
530
531source "arch/arm/mach-imx/Kconfig"
532
533source "arch/arm/mach-h720x/Kconfig"
534
535source "arch/arm/mach-versatile/Kconfig"
536
537source "arch/arm/mach-aaec2000/Kconfig"
538
539source "arch/arm/mach-realview/Kconfig"
540
541source "arch/arm/mach-at91/Kconfig"
542
543source "arch/arm/plat-mxc/Kconfig"
544
545source "arch/arm/mach-netx/Kconfig"
546
547source "arch/arm/mach-ns9xxx/Kconfig"
548
549source "arch/arm/mach-davinci/Kconfig"
550
551source "arch/arm/mach-ks8695/Kconfig"
552
553source "arch/arm/mach-msm/Kconfig"
554
555# Definitions to make life easier
556config ARCH_ACORN
557	bool
558
559config PLAT_IOP
560	bool
561
562config PLAT_ORION
563	bool
564
565source arch/arm/mm/Kconfig
566
567config IWMMXT
568	bool "Enable iWMMXt support"
569	depends on CPU_XSCALE || CPU_XSC3
570	default y if PXA27x || PXA3xx
571	help
572	  Enable support for iWMMXt context switching at run time if
573	  running on a CPU that supports it.
574
575#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
576config XSCALE_PMU
577	bool
578	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
579	default y
580
581if !MMU
582source "arch/arm/Kconfig-nommu"
583endif
584
585endmenu
586
587source "arch/arm/common/Kconfig"
588
589config FORCE_MAX_ZONEORDER
590	int
591	depends on SA1111
592	default "9"
593
594menu "Bus support"
595
596config ARM_AMBA
597	bool
598
599config ISA
600	bool
601	help
602	  Find out whether you have ISA slots on your motherboard.  ISA is the
603	  name of a bus system, i.e. the way the CPU talks to the other stuff
604	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
605	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
606	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
607
608# Select ISA DMA controller support
609config ISA_DMA
610	bool
611	select ISA_DMA_API
612
613# Select ISA DMA interface
614config ISA_DMA_API
615	bool
616
617config PCI
618	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
619	help
620	  Find out whether you have a PCI motherboard. PCI is the name of a
621	  bus system, i.e. the way the CPU talks to the other stuff inside
622	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
623	  VESA. If you have PCI, say Y, otherwise N.
624
625config PCI_SYSCALL
626	def_bool PCI
627
628# Select the host bridge type
629config PCI_HOST_VIA82C505
630	bool
631	depends on PCI && ARCH_SHARK
632	default y
633
634config PCI_HOST_ITE8152
635	bool
636	depends on PCI && MACH_ARMCORE
637	default y
638	select DMABOUNCE
639
640source "drivers/pci/Kconfig"
641
642source "drivers/pcmcia/Kconfig"
643
644endmenu
645
646menu "Kernel Features"
647
648source "kernel/time/Kconfig"
649
650config SMP
651	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
652	depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP)
653	help
654	  This enables support for systems with more than one CPU. If you have
655	  a system with only one CPU, like most personal computers, say N. If
656	  you have a system with more than one CPU, say Y.
657
658	  If you say N here, the kernel will run on single and multiprocessor
659	  machines, but will use only one CPU of a multiprocessor machine. If
660	  you say Y here, the kernel will run on many, but not all, single
661	  processor machines. On a single processor machine, the kernel will
662	  run faster if you say N here.
663
664	  See also <file:Documentation/i386/IO-APIC.txt>,
665	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
666	  <http://www.linuxdoc.org/docs.html#howto>.
667
668	  If you don't know what to do here, say N.
669
670config NR_CPUS
671	int "Maximum number of CPUs (2-32)"
672	range 2 32
673	depends on SMP
674	default "4"
675
676config HOTPLUG_CPU
677	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
678	depends on SMP && HOTPLUG && EXPERIMENTAL
679	help
680	  Say Y here to experiment with turning CPUs off and on.  CPUs
681	  can be controlled through /sys/devices/system/cpu.
682
683config LOCAL_TIMERS
684	bool "Use local timer interrupts"
685	depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP)
686	default y
687	help
688	  Enable support for local timers on SMP platforms, rather then the
689	  legacy IPI broadcast method.  Local timers allows the system
690	  accounting to be spread across the timer interval, preventing a
691	  "thundering herd" at every timer tick.
692
693config PREEMPT
694	bool "Preemptible Kernel (EXPERIMENTAL)"
695	depends on EXPERIMENTAL
696	help
697	  This option reduces the latency of the kernel when reacting to
698	  real-time or interactive events by allowing a low priority process to
699	  be preempted even if it is in kernel mode executing a system call.
700	  This allows applications to run more reliably even when the system is
701	  under load.
702
703	  Say Y here if you are building a kernel for a desktop, embedded
704	  or real-time system.  Say N if you are unsure.
705
706config NO_IDLE_HZ
707	bool "Dynamic tick timer"
708	depends on !GENERIC_CLOCKEVENTS
709	help
710	  Select this option if you want to disable continuous timer ticks
711	  and have them programmed to occur as required. This option saves
712	  power as the system can remain in idle state for longer.
713
714	  By default dynamic tick is disabled during the boot, and can be
715	  manually enabled with:
716
717	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
718
719	  Alternatively, if you want dynamic tick automatically enabled
720	  during boot, pass "dyntick=enable" via the kernel command string.
721
722	  Please note that dynamic tick may affect the accuracy of
723	  timekeeping on some platforms depending on the implementation.
724	  Currently at least OMAP, PXA2xx and SA11x0 platforms are known
725	  to have accurate timekeeping with dynamic tick.
726
727config HZ
728	int
729	default 128 if ARCH_L7200
730	default 200 if ARCH_EBSA110 || ARCH_S3C2410
731	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
732	default AT91_TIMER_HZ if ARCH_AT91
733	default 100
734
735config AEABI
736	bool "Use the ARM EABI to compile the kernel"
737	help
738	  This option allows for the kernel to be compiled using the latest
739	  ARM ABI (aka EABI).  This is only useful if you are using a user
740	  space environment that is also compiled with EABI.
741
742	  Since there are major incompatibilities between the legacy ABI and
743	  EABI, especially with regard to structure member alignment, this
744	  option also changes the kernel syscall calling convention to
745	  disambiguate both ABIs and allow for backward compatibility support
746	  (selected with CONFIG_OABI_COMPAT).
747
748	  To use this you need GCC version 4.0.0 or later.
749
750config OABI_COMPAT
751	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
752	depends on AEABI && EXPERIMENTAL
753	default y
754	help
755	  This option preserves the old syscall interface along with the
756	  new (ARM EABI) one. It also provides a compatibility layer to
757	  intercept syscalls that have structure arguments which layout
758	  in memory differs between the legacy ABI and the new ARM EABI
759	  (only for non "thumb" binaries). This option adds a tiny
760	  overhead to all syscalls and produces a slightly larger kernel.
761	  If you know you'll be using only pure EABI user space then you
762	  can say N here. If this option is not selected and you attempt
763	  to execute a legacy ABI binary then the result will be
764	  UNPREDICTABLE (in fact it can be predicted that it won't work
765	  at all). If in doubt say Y.
766
767config ARCH_DISCONTIGMEM_ENABLE
768	bool
769	default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
770	help
771	  Say Y to support efficient handling of discontiguous physical memory,
772	  for architectures which are either NUMA (Non-Uniform Memory Access)
773	  or have huge holes in the physical address space for other reasons.
774	  See <file:Documentation/vm/numa> for more.
775
776config ARCH_SPARSEMEM_ENABLE
777	bool
778
779config ARCH_SELECT_MEMORY_MODEL
780	bool
781
782config NODES_SHIFT
783	int
784	default "4" if ARCH_LH7A40X
785	default "2"
786	depends on NEED_MULTIPLE_NODES
787
788source "mm/Kconfig"
789
790config LEDS
791	bool "Timer and CPU usage LEDs"
792	depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
793		   ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
794		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
795		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
796		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
797		   ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \
798		   ARCH_KS8695 || MACH_RD88F5182
799	help
800	  If you say Y here, the LEDs on your machine will be used
801	  to provide useful information about your current system status.
802
803	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
804	  be able to select which LEDs are active using the options below. If
805	  you are compiling a kernel for the EBSA-110 or the LART however, the
806	  red LED will simply flash regularly to indicate that the system is
807	  still functional. It is safe to say Y here if you have a CATS
808	  system, but the driver will do nothing.
809
810config LEDS_TIMER
811	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
812			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
813			    || MACH_OMAP_PERSEUS2
814	depends on LEDS
815	depends on !GENERIC_CLOCKEVENTS
816	default y if ARCH_EBSA110
817	help
818	  If you say Y here, one of the system LEDs (the green one on the
819	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
820	  will flash regularly to indicate that the system is still
821	  operational. This is mainly useful to kernel hackers who are
822	  debugging unstable kernels.
823
824	  The LART uses the same LED for both Timer LED and CPU usage LED
825	  functions. You may choose to use both, but the Timer LED function
826	  will overrule the CPU usage LED.
827
828config LEDS_CPU
829	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
830			!ARCH_OMAP) \
831			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
832			|| MACH_OMAP_PERSEUS2
833	depends on LEDS
834	help
835	  If you say Y here, the red LED will be used to give a good real
836	  time indication of CPU usage, by lighting whenever the idle task
837	  is not currently executing.
838
839	  The LART uses the same LED for both Timer LED and CPU usage LED
840	  functions. You may choose to use both, but the Timer LED function
841	  will overrule the CPU usage LED.
842
843config ALIGNMENT_TRAP
844	bool
845	depends on CPU_CP15_MMU
846	default y if !ARCH_EBSA110
847	help
848	  ARM processors cannot fetch/store information which is not
849	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
850	  address divisible by 4. On 32-bit ARM processors, these non-aligned
851	  fetch/store instructions will be emulated in software if you say
852	  here, which has a severe performance impact. This is necessary for
853	  correct operation of some network protocols. With an IP-only
854	  configuration it is safe to say N, otherwise say Y.
855
856endmenu
857
858menu "Boot options"
859
860# Compressed boot loader in ROM.  Yes, we really want to ask about
861# TEXT and BSS so we preserve their values in the config files.
862config ZBOOT_ROM_TEXT
863	hex "Compressed ROM boot loader base address"
864	default "0"
865	help
866	  The physical address at which the ROM-able zImage is to be
867	  placed in the target.  Platforms which normally make use of
868	  ROM-able zImage formats normally set this to a suitable
869	  value in their defconfig file.
870
871	  If ZBOOT_ROM is not enabled, this has no effect.
872
873config ZBOOT_ROM_BSS
874	hex "Compressed ROM boot loader BSS address"
875	default "0"
876	help
877	  The base address of an area of read/write memory in the target
878	  for the ROM-able zImage which must be available while the
879	  decompressor is running. It must be large enough to hold the
880	  entire decompressed kernel plus an additional 128 KiB.
881	  Platforms which normally make use of ROM-able zImage formats
882	  normally set this to a suitable value in their defconfig file.
883
884	  If ZBOOT_ROM is not enabled, this has no effect.
885
886config ZBOOT_ROM
887	bool "Compressed boot loader in ROM/flash"
888	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
889	help
890	  Say Y here if you intend to execute your compressed kernel image
891	  (zImage) directly from ROM or flash.  If unsure, say N.
892
893config CMDLINE
894	string "Default kernel command string"
895	default ""
896	help
897	  On some architectures (EBSA110 and CATS), there is currently no way
898	  for the boot loader to pass arguments to the kernel. For these
899	  architectures, you should supply some command-line options at build
900	  time by entering them here. As a minimum, you should specify the
901	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
902
903config XIP_KERNEL
904	bool "Kernel Execute-In-Place from ROM"
905	depends on !ZBOOT_ROM
906	help
907	  Execute-In-Place allows the kernel to run from non-volatile storage
908	  directly addressable by the CPU, such as NOR flash. This saves RAM
909	  space since the text section of the kernel is not loaded from flash
910	  to RAM.  Read-write sections, such as the data section and stack,
911	  are still copied to RAM.  The XIP kernel is not compressed since
912	  it has to run directly from flash, so it will take more space to
913	  store it.  The flash address used to link the kernel object files,
914	  and for storing it, is configuration dependent. Therefore, if you
915	  say Y here, you must know the proper physical address where to
916	  store the kernel image depending on your own flash memory usage.
917
918	  Also note that the make target becomes "make xipImage" rather than
919	  "make zImage" or "make Image".  The final kernel binary to put in
920	  ROM memory will be arch/arm/boot/xipImage.
921
922	  If unsure, say N.
923
924config XIP_PHYS_ADDR
925	hex "XIP Kernel Physical Location"
926	depends on XIP_KERNEL
927	default "0x00080000"
928	help
929	  This is the physical address in your flash memory the kernel will
930	  be linked for and stored to.  This address is dependent on your
931	  own flash usage.
932
933config KEXEC
934	bool "Kexec system call (EXPERIMENTAL)"
935	depends on EXPERIMENTAL
936	help
937	  kexec is a system call that implements the ability to shutdown your
938	  current kernel, and to start another kernel.  It is like a reboot
939	  but it is independent of the system firmware.   And like a reboot
940	  you can start any kernel with it, not just Linux.
941
942	  It is an ongoing process to be certain the hardware in a machine
943	  is properly shutdown, so do not be surprised if this code does not
944	  initially work for you.  It may help to enable device hotplugging
945	  support.
946
947config ATAGS_PROC
948	bool "Export atags in procfs"
949	depends on KEXEC
950	default y
951	help
952	  Should the atags used to boot the kernel be exported in an "atags"
953	  file in procfs. Useful with kexec.
954
955endmenu
956
957if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
958
959menu "CPU Frequency scaling"
960
961source "drivers/cpufreq/Kconfig"
962
963config CPU_FREQ_SA1100
964	bool
965	depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
966	default y
967
968config CPU_FREQ_SA1110
969	bool
970	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
971	default y
972
973config CPU_FREQ_INTEGRATOR
974	tristate "CPUfreq driver for ARM Integrator CPUs"
975	depends on ARCH_INTEGRATOR && CPU_FREQ
976	default y
977	help
978	  This enables the CPUfreq driver for ARM Integrator CPUs.
979
980	  For details, take a look at <file:Documentation/cpu-freq>.
981
982	  If in doubt, say Y.
983
984config CPU_FREQ_IMX
985	tristate "CPUfreq driver for i.MX CPUs"
986	depends on ARCH_IMX && CPU_FREQ
987	default n
988	help
989	  This enables the CPUfreq driver for i.MX CPUs.
990
991	  If in doubt, say N.
992
993config CPU_FREQ_PXA
994	bool
995	depends on CPU_FREQ && ARCH_PXA && PXA25x
996	default y
997	select CPU_FREQ_DEFAULT_GOV_USERSPACE
998
999endmenu
1000
1001endif
1002
1003menu "Floating point emulation"
1004
1005comment "At least one emulation must be selected"
1006
1007config FPE_NWFPE
1008	bool "NWFPE math emulation"
1009	depends on !AEABI || OABI_COMPAT
1010	---help---
1011	  Say Y to include the NWFPE floating point emulator in the kernel.
1012	  This is necessary to run most binaries. Linux does not currently
1013	  support floating point hardware so you need to say Y here even if
1014	  your machine has an FPA or floating point co-processor podule.
1015
1016	  You may say N here if you are going to load the Acorn FPEmulator
1017	  early in the bootup.
1018
1019config FPE_NWFPE_XP
1020	bool "Support extended precision"
1021	depends on FPE_NWFPE
1022	help
1023	  Say Y to include 80-bit support in the kernel floating-point
1024	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
1025	  Note that gcc does not generate 80-bit operations by default,
1026	  so in most cases this option only enlarges the size of the
1027	  floating point emulator without any good reason.
1028
1029	  You almost surely want to say N here.
1030
1031config FPE_FASTFPE
1032	bool "FastFPE math emulation (EXPERIMENTAL)"
1033	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1034	---help---
1035	  Say Y here to include the FAST floating point emulator in the kernel.
1036	  This is an experimental much faster emulator which now also has full
1037	  precision for the mantissa.  It does not support any exceptions.
1038	  It is very simple, and approximately 3-6 times faster than NWFPE.
1039
1040	  It should be sufficient for most programs.  It may be not suitable
1041	  for scientific calculations, but you have to check this for yourself.
1042	  If you do not feel you need a faster FP emulation you should better
1043	  choose NWFPE.
1044
1045config VFP
1046	bool "VFP-format floating point maths"
1047	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1048	help
1049	  Say Y to include VFP support code in the kernel. This is needed
1050	  if your hardware includes a VFP unit.
1051
1052	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
1053	  release notes and additional status information.
1054
1055	  Say N if your target does not have VFP hardware.
1056
1057config VFPv3
1058	bool
1059	depends on VFP
1060	default y if CPU_V7
1061
1062config NEON
1063	bool "Advanced SIMD (NEON) Extension support"
1064	depends on VFPv3 && CPU_V7
1065	help
1066	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1067	  Extension.
1068
1069endmenu
1070
1071menu "Userspace binary formats"
1072
1073source "fs/Kconfig.binfmt"
1074
1075config ARTHUR
1076	tristate "RISC OS personality"
1077	depends on !AEABI
1078	help
1079	  Say Y here to include the kernel code necessary if you want to run
1080	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
1081	  experimental; if this sounds frightening, say N and sleep in peace.
1082	  You can also say M here to compile this support as a module (which
1083	  will be called arthur).
1084
1085endmenu
1086
1087menu "Power management options"
1088
1089source "kernel/power/Kconfig"
1090
1091config ARCH_SUSPEND_POSSIBLE
1092	def_bool y
1093
1094endmenu
1095
1096source "net/Kconfig"
1097
1098menu "Device Drivers"
1099
1100source "drivers/base/Kconfig"
1101
1102source "drivers/connector/Kconfig"
1103
1104if ALIGNMENT_TRAP || !CPU_CP15_MMU
1105source "drivers/mtd/Kconfig"
1106endif
1107
1108source "drivers/parport/Kconfig"
1109
1110source "drivers/pnp/Kconfig"
1111
1112source "drivers/block/Kconfig"
1113
1114# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
1115
1116source "drivers/misc/Kconfig"
1117
1118source "drivers/ide/Kconfig"
1119
1120source "drivers/scsi/Kconfig"
1121
1122source "drivers/ata/Kconfig"
1123
1124source "drivers/md/Kconfig"
1125
1126source "drivers/message/fusion/Kconfig"
1127
1128source "drivers/ieee1394/Kconfig"
1129
1130source "drivers/message/i2o/Kconfig"
1131
1132source "drivers/net/Kconfig"
1133
1134source "drivers/isdn/Kconfig"
1135
1136# input before char - char/joystick depends on it. As does USB.
1137
1138source "drivers/input/Kconfig"
1139
1140source "drivers/char/Kconfig"
1141
1142source "drivers/i2c/Kconfig"
1143
1144source "drivers/spi/Kconfig"
1145
1146source "drivers/gpio/Kconfig"
1147
1148source "drivers/w1/Kconfig"
1149
1150source "drivers/power/Kconfig"
1151
1152source "drivers/hwmon/Kconfig"
1153
1154source "drivers/watchdog/Kconfig"
1155
1156source "drivers/ssb/Kconfig"
1157
1158#source "drivers/l3/Kconfig"
1159
1160source "drivers/mfd/Kconfig"
1161
1162source "drivers/media/Kconfig"
1163
1164source "drivers/video/Kconfig"
1165
1166source "sound/Kconfig"
1167
1168source "drivers/hid/Kconfig"
1169
1170source "drivers/usb/Kconfig"
1171
1172source "drivers/mmc/Kconfig"
1173
1174source "drivers/leds/Kconfig"
1175
1176source "drivers/rtc/Kconfig"
1177
1178source "drivers/dma/Kconfig"
1179
1180source "drivers/dca/Kconfig"
1181
1182source "drivers/uio/Kconfig"
1183
1184endmenu
1185
1186source "fs/Kconfig"
1187
1188source "arch/arm/Kconfig.debug"
1189
1190source "security/Kconfig"
1191
1192source "crypto/Kconfig"
1193
1194source "lib/Kconfig"
1195