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