]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/arm/Kconfig
ARM: convert arm to arch_gettimeoffset()
[net-next-2.6.git] / arch / arm / Kconfig
CommitLineData
1da177e4
LT
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
e17c6d56 11 select HAVE_AOUT
2064c946 12 select HAVE_IDE
12b824fb 13 select RTC_LIB
75e7153a 14 select SYS_SUPPORTS_APM_EMULATION
24b44a66 15 select GENERIC_ATOMIC64 if (!CPU_32v6K)
42d4b839 16 select HAVE_OPROFILE
5cbad0eb 17 select HAVE_ARCH_KGDB
3f550096 18 select HAVE_KPROBES if (!XIP_KERNEL)
9edddaa2 19 select HAVE_KRETPROBES if (HAVE_KPROBES)
606576ce 20 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
1fe53268 21 select HAVE_GENERIC_DMA_COHERENT
e7db7b42
AT
22 select HAVE_KERNEL_GZIP
23 select HAVE_KERNEL_LZO
7ada189f
JI
24 select HAVE_PERF_EVENTS
25 select PERF_USE_VMALLOC
1da177e4
LT
26 help
27 The ARM series is a line of low-power-consumption RISC chip designs
f6c8965a 28 licensed by ARM Ltd and targeted at embedded applications and
1da177e4 29 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
f6c8965a 30 manufactured, but legacy ARM-based PC hardware remains popular in
1da177e4
LT
31 Europe. There is an ARM Linux project with a web page at
32 <http://www.arm.linux.org.uk/>.
33
1a189b97
RK
34config HAVE_PWM
35 bool
36
75e7153a
RB
37config SYS_SUPPORTS_APM_EMULATION
38 bool
39
0a938b97
DB
40config GENERIC_GPIO
41 bool
0a938b97 42
746140c7
KH
43config GENERIC_TIME
44 bool
5cfc8ee0
JS
45 default y
46
47config ARCH_USES_GETTIMEOFFSET
48 bool
49 default n
746140c7 50
0567a0c0
KH
51config GENERIC_CLOCKEVENTS
52 bool
0567a0c0 53
a8655e83
CM
54config GENERIC_CLOCKEVENTS_BROADCAST
55 bool
56 depends on GENERIC_CLOCKEVENTS
57 default y if SMP && !LOCAL_TIMERS
58
bc581770
LW
59config HAVE_TCM
60 bool
61 select GENERIC_ALLOCATOR
62
e119bfff
RK
63config HAVE_PROC_CPU
64 bool
65
5ea81769
AV
66config NO_IOPORT
67 bool
5ea81769 68
1da177e4
LT
69config EISA
70 bool
71 ---help---
72 The Extended Industry Standard Architecture (EISA) bus was
73 developed as an open alternative to the IBM MicroChannel bus.
74
75 The EISA bus provided some of the features of the IBM MicroChannel
76 bus while maintaining backward compatibility with cards made for
77 the older ISA bus. The EISA bus saw limited use between 1988 and
78 1995 when it was made obsolete by the PCI bus.
79
80 Say Y here if you are building a kernel for an EISA-based machine.
81
82 Otherwise, say N.
83
84config SBUS
85 bool
86
87config MCA
88 bool
89 help
90 MicroChannel Architecture is found in some IBM PS/2 machines and
91 laptops. It is a bus system similar to PCI or ISA. See
92 <file:Documentation/mca.txt> (and especially the web page given
93 there) before attempting to build an MCA bus kernel.
94
4a2581a0
TG
95config GENERIC_HARDIRQS
96 bool
97 default y
98
f16fb1ec
RK
99config STACKTRACE_SUPPORT
100 bool
101 default y
102
f76e9154
NP
103config HAVE_LATENCYTOP_SUPPORT
104 bool
105 depends on !SMP
106 default y
107
f16fb1ec
RK
108config LOCKDEP_SUPPORT
109 bool
110 default y
111
7ad1bcb2
RK
112config TRACE_IRQFLAGS_SUPPORT
113 bool
114 default y
115
4a2581a0
TG
116config HARDIRQS_SW_RESEND
117 bool
118 default y
119
120config GENERIC_IRQ_PROBE
121 bool
122 default y
123
95c354fe
NP
124config GENERIC_LOCKBREAK
125 bool
126 default y
127 depends on SMP && PREEMPT
128
1da177e4
LT
129config RWSEM_GENERIC_SPINLOCK
130 bool
131 default y
132
133config RWSEM_XCHGADD_ALGORITHM
134 bool
135
f0d1b0b3
DH
136config ARCH_HAS_ILOG2_U32
137 bool
f0d1b0b3
DH
138
139config ARCH_HAS_ILOG2_U64
140 bool
f0d1b0b3 141
89c52ed4
BD
142config ARCH_HAS_CPUFREQ
143 bool
144 help
145 Internal node to signify that the ARCH has CPUFREQ support
146 and that the relevant menu configurations are displayed for
147 it.
148
b89c3b16
AM
149config GENERIC_HWEIGHT
150 bool
151 default y
152
1da177e4
LT
153config GENERIC_CALIBRATE_DELAY
154 bool
155 default y
156
a08b6b79
AV
157config ARCH_MAY_HAVE_PC_FDC
158 bool
159
5ac6da66
CL
160config ZONE_DMA
161 bool
5ac6da66 162
ccd7ab7f
FT
163config NEED_DMA_MAP_STATE
164 def_bool y
165
1da177e4
LT
166config GENERIC_ISA_DMA
167 bool
168
1da177e4
LT
169config FIQ
170 bool
171
034d2f5a
AV
172config ARCH_MTD_XIP
173 bool
174
60a752ef 175config GENERIC_HARDIRQS_NO__DO_IRQ
60a752ef
PZ
176 def_bool y
177
d6d502fa
KK
178config ARM_L1_CACHE_SHIFT_6
179 bool
180 help
181 Setting ARM L1 cache line size to 64 Bytes.
182
c0ffa3a9
MD
183if OPROFILE
184
185config OPROFILE_ARMV6
186 def_bool y
187 depends on CPU_V6 && !SMP
188 select OPROFILE_ARM11_CORE
189
190config OPROFILE_MPCORE
191 def_bool y
192 depends on CPU_V6 && SMP
193 select OPROFILE_ARM11_CORE
194
195config OPROFILE_ARM11_CORE
196 bool
197
d7ac4e28
JP
198config OPROFILE_ARMV7
199 def_bool y
200 depends on CPU_V7 && !SMP
201 bool
202
c0ffa3a9
MD
203endif
204
c760fc19
HC
205config VECTORS_BASE
206 hex
6afd6fae 207 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
c760fc19
HC
208 default DRAM_BASE if REMAP_VECTORS_TO_RAM
209 default 0x00000000
210 help
211 The base address of exception vectors.
212
1da177e4
LT
213source "init/Kconfig"
214
dc52ddc0
MH
215source "kernel/Kconfig.freezer"
216
1da177e4
LT
217menu "System Type"
218
3c427975
HC
219config MMU
220 bool "MMU-based Paged Memory Management Support"
221 default y
222 help
223 Select if you want MMU-based virtualised addressing space
224 support by paged memory management. If unsure, say 'Y'.
225
ccf50e23
RK
226#
227# The "ARM system type" choice list is ordered alphabetically by option
228# text. Please add new entries in the option alphabetic order.
229#
1da177e4
LT
230choice
231 prompt "ARM system type"
6a0e2430 232 default ARCH_VERSATILE
1da177e4 233
4af6fee1
DS
234config ARCH_AAEC2000
235 bool "Agilent AAEC-2000 based"
c750815e 236 select CPU_ARM920T
4af6fee1 237 select ARM_AMBA
9483a578 238 select HAVE_CLK
5cfc8ee0 239 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
240 help
241 This enables support for systems based on the Agilent AAEC-2000
242
243config ARCH_INTEGRATOR
244 bool "ARM Ltd. Integrator family"
245 select ARM_AMBA
89c52ed4 246 select ARCH_HAS_CPUFREQ
d72fbdf0 247 select COMMON_CLKDEV
4af6fee1
DS
248 select ICST525
249 help
250 Support for ARM's Integrator platform.
251
252config ARCH_REALVIEW
253 bool "ARM Ltd. RealView family"
254 select ARM_AMBA
cf30fb4a 255 select COMMON_CLKDEV
4af6fee1 256 select ICST307
85802afe 257 select GENERIC_TIME
ae30ceac 258 select GENERIC_CLOCKEVENTS
eb7fffa3 259 select ARCH_WANT_OPTIONAL_GPIOLIB
4af6fee1
DS
260 help
261 This enables support for ARM Ltd RealView boards.
262
263config ARCH_VERSATILE
264 bool "ARM Ltd. Versatile family"
265 select ARM_AMBA
266 select ARM_VIC
71a06da0 267 select COMMON_CLKDEV
4af6fee1 268 select ICST307
b49c87c2 269 select GENERIC_TIME
89df1272 270 select GENERIC_CLOCKEVENTS
bbeddc43 271 select ARCH_WANT_OPTIONAL_GPIOLIB
4af6fee1
DS
272 help
273 This enables support for ARM Ltd Versatile board.
274
8fc5ffa0
AV
275config ARCH_AT91
276 bool "Atmel AT91"
0a938b97 277 select GENERIC_GPIO
f373e8c0 278 select ARCH_REQUIRE_GPIOLIB
93686ae8 279 select HAVE_CLK
5cfc8ee0 280 select ARCH_USES_GETTIMEOFFSET
4af6fee1 281 help
2b3b3516
AV
282 This enables support for systems based on the Atmel AT91RM9200,
283 AT91SAM9 and AT91CAP9 processors.
4af6fee1 284
ccf50e23
RK
285config ARCH_BCMRING
286 bool "Broadcom BCMRING"
287 depends on MMU
288 select CPU_V6
289 select ARM_AMBA
290 select COMMON_CLKDEV
291 select GENERIC_TIME
292 select GENERIC_CLOCKEVENTS
293 select ARCH_WANT_OPTIONAL_GPIOLIB
294 help
295 Support for Broadcom's BCMRing platform.
296
1da177e4 297config ARCH_CLPS711X
4af6fee1 298 bool "Cirrus Logic CLPS711x/EP721x-based"
c750815e 299 select CPU_ARM720T
5cfc8ee0 300 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
301 help
302 Support for Cirrus Logic 711x/721x based boards.
1da177e4 303
788c9700
RK
304config ARCH_GEMINI
305 bool "Cortina Systems Gemini"
306 select CPU_FA526
307 select GENERIC_GPIO
308 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 309 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
310 help
311 Support for the Cortina Systems Gemini family SoCs
312
1da177e4
LT
313config ARCH_EBSA110
314 bool "EBSA-110"
c750815e 315 select CPU_SA110
f7e68bbf 316 select ISA
c5eb2a2b 317 select NO_IOPORT
5cfc8ee0 318 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
319 help
320 This is an evaluation board for the StrongARM processor available
f6c8965a 321 from Digital. It has limited hardware on-board, including an
1da177e4
LT
322 Ethernet interface, two PCMCIA sockets, two serial ports and a
323 parallel port.
324
e7736d47
LB
325config ARCH_EP93XX
326 bool "EP93xx-based"
c750815e 327 select CPU_ARM920T
e7736d47
LB
328 select ARM_AMBA
329 select ARM_VIC
4e9f9fd5 330 select GENERIC_GPIO
ae696fd5 331 select COMMON_CLKDEV
7444a72e 332 select ARCH_REQUIRE_GPIOLIB
eb33575c 333 select ARCH_HAS_HOLES_MEMORYMODEL
5cfc8ee0 334 select ARCH_USES_GETTIMEOFFSET
e7736d47
LB
335 help
336 This enables support for the Cirrus EP93xx series of CPUs.
337
1da177e4
LT
338config ARCH_FOOTBRIDGE
339 bool "FootBridge"
c750815e 340 select CPU_SA110
1da177e4 341 select FOOTBRIDGE
5cfc8ee0 342 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
343 help
344 Support for systems based on the DC21285 companion chip
345 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
1da177e4 346
788c9700
RK
347config ARCH_MXC
348 bool "Freescale MXC/iMX-based"
349 select GENERIC_TIME
350 select GENERIC_CLOCKEVENTS
788c9700 351 select ARCH_REQUIRE_GPIOLIB
03e09cd8 352 select COMMON_CLKDEV
788c9700
RK
353 help
354 Support for Freescale MXC/iMX-based family of processors
355
7bd0f2f5 356config ARCH_STMP3XXX
357 bool "Freescale STMP3xxx"
358 select CPU_ARM926T
7bd0f2f5 359 select COMMON_CLKDEV
360 select ARCH_REQUIRE_GPIOLIB
361 select GENERIC_TIME
362 select GENERIC_CLOCKEVENTS
363 select GENERIC_GPIO
364 select USB_ARCH_HAS_EHCI
365 help
366 Support for systems based on the Freescale 3xxx CPUs.
367
4af6fee1
DS
368config ARCH_NETX
369 bool "Hilscher NetX based"
c750815e 370 select CPU_ARM926T
4af6fee1 371 select ARM_VIC
2fcfe6b8 372 select GENERIC_CLOCKEVENTS
21edecd3 373 select GENERIC_TIME
f999b8bd 374 help
4af6fee1
DS
375 This enables support for systems based on the Hilscher NetX Soc
376
377config ARCH_H720X
378 bool "Hynix HMS720x-based"
c750815e 379 select CPU_ARM720T
4af6fee1 380 select ISA_DMA_API
5cfc8ee0 381 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
382 help
383 This enables support for systems based on the Hynix HMS720x
384
3b938be6
RK
385config ARCH_IOP13XX
386 bool "IOP13xx-based"
387 depends on MMU
c750815e 388 select CPU_XSC3
3b938be6
RK
389 select PLAT_IOP
390 select PCI
391 select ARCH_SUPPORTS_MSI
8d5796d2 392 select VMSPLIT_1G
3b938be6
RK
393 help
394 Support for Intel's IOP13XX (XScale) family of processors.
395
3f7e5815
LB
396config ARCH_IOP32X
397 bool "IOP32x-based"
a4f7e763 398 depends on MMU
c750815e 399 select CPU_XSCALE
7ae1f7ec 400 select PLAT_IOP
f7e68bbf 401 select PCI
63f385cd 402 select GENERIC_GPIO
bb2b180c 403 select ARCH_REQUIRE_GPIOLIB
f999b8bd 404 help
3f7e5815
LB
405 Support for Intel's 80219 and IOP32X (XScale) family of
406 processors.
407
408config ARCH_IOP33X
409 bool "IOP33x-based"
410 depends on MMU
c750815e 411 select CPU_XSCALE
7ae1f7ec 412 select PLAT_IOP
3f7e5815 413 select PCI
63f385cd 414 select GENERIC_GPIO
bb2b180c 415 select ARCH_REQUIRE_GPIOLIB
3f7e5815
LB
416 help
417 Support for Intel's IOP33X (XScale) family of processors.
1da177e4 418
3b938be6
RK
419config ARCH_IXP23XX
420 bool "IXP23XX-based"
a4f7e763 421 depends on MMU
c750815e 422 select CPU_XSC3
3b938be6 423 select PCI
5cfc8ee0 424 select ARCH_USES_GETTIMEOFFSET
f999b8bd 425 help
3b938be6 426 Support for Intel's IXP23xx (XScale) family of processors.
1da177e4
LT
427
428config ARCH_IXP2000
429 bool "IXP2400/2800-based"
a4f7e763 430 depends on MMU
c750815e 431 select CPU_XSCALE
f7e68bbf 432 select PCI
5cfc8ee0 433 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
434 help
435 Support for Intel's IXP2400/2800 (XScale) family of processors.
1da177e4 436
3b938be6
RK
437config ARCH_IXP4XX
438 bool "IXP4xx-based"
a4f7e763 439 depends on MMU
c750815e 440 select CPU_XSCALE
8858e9af 441 select GENERIC_GPIO
3b938be6
RK
442 select GENERIC_TIME
443 select GENERIC_CLOCKEVENTS
485bdde7 444 select DMABOUNCE if PCI
c4713074 445 help
3b938be6 446 Support for Intel's IXP4XX (XScale) family of processors.
c4713074 447
1da177e4
LT
448config ARCH_L7200
449 bool "LinkUp-L7200"
c750815e 450 select CPU_ARM720T
1da177e4 451 select FIQ
5cfc8ee0 452 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
453 help
454 Say Y here if you intend to run this kernel on a LinkUp Systems
455 L7200 Software Development Board which uses an ARM720T processor.
456 Information on this board can be obtained at:
457
458 <http://www.linkupsys.com/>
459
460 If you have any questions or comments about the Linux kernel port
461 to this board, send e-mail to <sjhill@cotw.com>.
462
edabd38e
SB
463config ARCH_DOVE
464 bool "Marvell Dove"
465 select PCI
466 select GENERIC_GPIO
467 select ARCH_REQUIRE_GPIOLIB
468 select GENERIC_TIME
469 select GENERIC_CLOCKEVENTS
470 select PLAT_ORION
471 help
472 Support for the Marvell Dove SoC 88AP510
473
651c74c7
SB
474config ARCH_KIRKWOOD
475 bool "Marvell Kirkwood"
c750815e 476 select CPU_FEROCEON
651c74c7 477 select PCI
4c213430 478 select GENERIC_GPIO
a8865655 479 select ARCH_REQUIRE_GPIOLIB
651c74c7
SB
480 select GENERIC_TIME
481 select GENERIC_CLOCKEVENTS
482 select PLAT_ORION
483 help
484 Support for the following Marvell Kirkwood series SoCs:
485 88F6180, 88F6192 and 88F6281.
486
777f9beb
LB
487config ARCH_LOKI
488 bool "Marvell Loki (88RC8480)"
c750815e 489 select CPU_FEROCEON
777f9beb
LB
490 select GENERIC_TIME
491 select GENERIC_CLOCKEVENTS
492 select PLAT_ORION
493 help
494 Support for the Marvell Loki (88RC8480) SoC.
495
794d15b2
SS
496config ARCH_MV78XX0
497 bool "Marvell MV78xx0"
c750815e 498 select CPU_FEROCEON
794d15b2 499 select PCI
b95a13d7 500 select GENERIC_GPIO
a8865655 501 select ARCH_REQUIRE_GPIOLIB
794d15b2
SS
502 select GENERIC_TIME
503 select GENERIC_CLOCKEVENTS
504 select PLAT_ORION
505 help
506 Support for the following Marvell MV78xx0 series SoCs:
507 MV781x0, MV782x0.
508
9dd0b194 509config ARCH_ORION5X
585cf175
TP
510 bool "Marvell Orion"
511 depends on MMU
c750815e 512 select CPU_FEROCEON
038ee083 513 select PCI
01af72e4 514 select GENERIC_GPIO
a8865655 515 select ARCH_REQUIRE_GPIOLIB
51cbff1d
TP
516 select GENERIC_TIME
517 select GENERIC_CLOCKEVENTS
69b02f6a 518 select PLAT_ORION
585cf175 519 help
9dd0b194 520 Support for the following Marvell Orion 5x series SoCs:
d2b2a6bb 521 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
d323ade1 522 Orion-2 (5281), Orion-1-90 (6183).
585cf175 523
788c9700 524config ARCH_MMP
2f7e8fae 525 bool "Marvell PXA168/910/MMP2"
788c9700
RK
526 depends on MMU
527 select GENERIC_GPIO
528 select ARCH_REQUIRE_GPIOLIB
788c9700
RK
529 select COMMON_CLKDEV
530 select GENERIC_TIME
531 select GENERIC_CLOCKEVENTS
532 select TICK_ONESHOT
533 select PLAT_PXA
534 help
2f7e8fae 535 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
788c9700
RK
536
537config ARCH_KS8695
538 bool "Micrel/Kendin KS8695"
539 select CPU_ARM922T
540 select GENERIC_GPIO
541 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 542 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
543 help
544 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
545 System-on-Chip devices.
546
547config ARCH_NS9XXX
548 bool "NetSilicon NS9xxx"
549 select CPU_ARM926T
550 select GENERIC_GPIO
551 select GENERIC_TIME
552 select GENERIC_CLOCKEVENTS
553 select HAVE_CLK
554 help
555 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
556 System.
557
558 <http://www.digi.com/products/microprocessors/index.jsp>
559
560config ARCH_W90X900
561 bool "Nuvoton W90X900 CPU"
562 select CPU_ARM926T
c52d3d68 563 select ARCH_REQUIRE_GPIOLIB
564 select GENERIC_GPIO
0e4a34bb 565 select COMMON_CLKDEV
58b5369e 566 select GENERIC_TIME
567 select GENERIC_CLOCKEVENTS
788c9700 568 help
a8bc4ead 569 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
570 At present, the w90x900 has been renamed nuc900, regarding
571 the ARM series product line, you can login the following
572 link address to know more.
573
574 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
575 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
788c9700 576
a62e9030 577config ARCH_NUC93X
578 bool "Nuvoton NUC93X CPU"
579 select CPU_ARM926T
a62e9030 580 select COMMON_CLKDEV
581 help
582 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
583 low-power and high performance MPEG-4/JPEG multimedia controller chip.
584
4af6fee1
DS
585config ARCH_PNX4008
586 bool "Philips Nexperia PNX4008 Mobile"
c750815e 587 select CPU_ARM926T
6985a5ad 588 select COMMON_CLKDEV
5cfc8ee0 589 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
590 help
591 This enables support for Philips PNX4008 mobile platform.
592
1da177e4 593config ARCH_PXA
2c8086a5 594 bool "PXA2xx/PXA3xx-based"
a4f7e763 595 depends on MMU
034d2f5a 596 select ARCH_MTD_XIP
89c52ed4 597 select ARCH_HAS_CPUFREQ
0a938b97 598 select GENERIC_GPIO
8c3abc7d 599 select COMMON_CLKDEV
7444a72e 600 select ARCH_REQUIRE_GPIOLIB
45cf5eef 601 select GENERIC_TIME
981d0f39 602 select GENERIC_CLOCKEVENTS
a88264c2 603 select TICK_ONESHOT
bd5ce433 604 select PLAT_PXA
f999b8bd 605 help
2c8086a5 606 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
1da177e4 607
788c9700
RK
608config ARCH_MSM
609 bool "Qualcomm MSM"
610 select CPU_V6
49cbe786
EM
611 select GENERIC_TIME
612 select GENERIC_CLOCKEVENTS
49cbe786 613 help
788c9700
RK
614 Support for Qualcomm MSM7K based systems. This runs on the ARM11
615 apps processor of the MSM7K and depends on a shared memory
616 interface to the ARM9 modem processor which runs the baseband stack
617 and controls some vital subsystems (clock and power control, etc).
49cbe786 618
c793c1b0
MD
619config ARCH_SHMOBILE
620 bool "Renesas SH-Mobile"
621 help
622 Support for Renesas's SH-Mobile ARM platforms
623
1da177e4
LT
624config ARCH_RPC
625 bool "RiscPC"
626 select ARCH_ACORN
627 select FIQ
628 select TIMER_ACORN
a08b6b79 629 select ARCH_MAY_HAVE_PC_FDC
341eb781 630 select HAVE_PATA_PLATFORM
065909b9 631 select ISA_DMA_API
5ea81769 632 select NO_IOPORT
07f841b7 633 select ARCH_SPARSEMEM_ENABLE
5cfc8ee0 634 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
635 help
636 On the Acorn Risc-PC, Linux can support the internal IDE disk and
637 CD-ROM interface, serial and parallel port, and the floppy drive.
638
639config ARCH_SA1100
640 bool "SA1100-based"
c750815e 641 select CPU_SA1100
f7e68bbf 642 select ISA
05944d74 643 select ARCH_SPARSEMEM_ENABLE
034d2f5a 644 select ARCH_MTD_XIP
89c52ed4 645 select ARCH_HAS_CPUFREQ
1937f5b9 646 select CPU_FREQ
0a938b97 647 select GENERIC_GPIO
d142b6e7 648 select GENERIC_TIME
3e238be2 649 select GENERIC_CLOCKEVENTS
9483a578 650 select HAVE_CLK
3e238be2 651 select TICK_ONESHOT
7444a72e 652 select ARCH_REQUIRE_GPIOLIB
f999b8bd
MM
653 help
654 Support for StrongARM 11x0 based boards.
1da177e4
LT
655
656config ARCH_S3C2410
e4d06e39 657 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
0a938b97 658 select GENERIC_GPIO
9d56c02a 659 select ARCH_HAS_CPUFREQ
9483a578 660 select HAVE_CLK
5cfc8ee0 661 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
662 help
663 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
664 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
f6c8965a 665 the Samsung SMDK2410 development board (and derivatives).
1da177e4 666
a08ab637
BD
667config ARCH_S3C64XX
668 bool "Samsung S3C64XX"
89f1fa08 669 select PLAT_SAMSUNG
89f0ce72 670 select CPU_V6
a08ab637 671 select GENERIC_GPIO
89f0ce72 672 select ARM_VIC
a08ab637 673 select HAVE_CLK
89f0ce72 674 select NO_IOPORT
5cfc8ee0 675 select ARCH_USES_GETTIMEOFFSET
89c52ed4 676 select ARCH_HAS_CPUFREQ
89f0ce72
BD
677 select ARCH_REQUIRE_GPIOLIB
678 select SAMSUNG_CLKSRC
679 select SAMSUNG_IRQ_VIC_TIMER
680 select SAMSUNG_IRQ_UART
681 select S3C_GPIO_TRACK
682 select S3C_GPIO_PULL_UPDOWN
683 select S3C_GPIO_CFG_S3C24XX
684 select S3C_GPIO_CFG_S3C64XX
685 select S3C_DEV_NAND
686 select USB_ARCH_HAS_OHCI
687 select SAMSUNG_GPIOLIB_4BIT
a08ab637
BD
688 help
689 Samsung S3C64XX series based systems
690
c4ffccdd
KK
691config ARCH_S5P6440
692 bool "Samsung S5P6440"
693 select CPU_V6
694 select GENERIC_GPIO
695 select HAVE_CLK
696 help
697 Samsung S5P6440 CPU based systems
698
550db7f1
KK
699config ARCH_S5P6442
700 bool "Samsung S5P6442"
701 select CPU_V6
702 select GENERIC_GPIO
703 select HAVE_CLK
704 help
705 Samsung S5P6442 CPU based systems
706
5a7652f2
BM
707config ARCH_S5PC1XX
708 bool "Samsung S5PC1XX"
709 select GENERIC_GPIO
710 select HAVE_CLK
711 select CPU_V7
d6d502fa 712 select ARM_L1_CACHE_SHIFT_6
5a7652f2
BM
713 help
714 Samsung S5PC1XX series based systems
715
170f4e42
KK
716config ARCH_S5PV210
717 bool "Samsung S5PV210/S5PC110"
718 select CPU_V7
719 select GENERIC_GPIO
720 select HAVE_CLK
721 select ARM_L1_CACHE_SHIFT_6
722 help
723 Samsung S5PV210/S5PC110 series based systems
724
1da177e4
LT
725config ARCH_SHARK
726 bool "Shark"
c750815e 727 select CPU_SA110
f7e68bbf
RK
728 select ISA
729 select ISA_DMA
3bca103a 730 select ZONE_DMA
f7e68bbf 731 select PCI
5cfc8ee0 732 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
733 help
734 Support for the StrongARM based Digital DNARD machine, also known
735 as "Shark" (<http://www.shark-linux.de/shark.html>).
1da177e4
LT
736
737config ARCH_LH7A40X
738 bool "Sharp LH7A40X"
c750815e 739 select CPU_ARM922T
4ba3f7c5
RK
740 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
741 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
5cfc8ee0 742 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
743 help
744 Say Y here for systems based on one of the Sharp LH7A40X
745 System on a Chip processors. These CPUs include an ARM922T
746 core with a wide array of integrated devices for
747 hand-held and low-power applications.
748
d98aac75
LW
749config ARCH_U300
750 bool "ST-Ericsson U300 Series"
751 depends on MMU
752 select CPU_ARM926T
bc581770 753 select HAVE_TCM
d98aac75
LW
754 select ARM_AMBA
755 select ARM_VIC
756 select GENERIC_TIME
757 select GENERIC_CLOCKEVENTS
d98aac75
LW
758 select COMMON_CLKDEV
759 select GENERIC_GPIO
760 help
761 Support for ST-Ericsson U300 series mobile platforms.
762
ccf50e23
RK
763config ARCH_U8500
764 bool "ST-Ericsson U8500 Series"
765 select CPU_V7
766 select ARM_AMBA
767 select GENERIC_TIME
768 select GENERIC_CLOCKEVENTS
769 select COMMON_CLKDEV
770 help
771 Support for ST-Ericsson's Ux500 architecture
772
773config ARCH_NOMADIK
774 bool "STMicroelectronics Nomadik"
775 select ARM_AMBA
776 select ARM_VIC
777 select CPU_ARM926T
ccf50e23
RK
778 select COMMON_CLKDEV
779 select GENERIC_TIME
780 select GENERIC_CLOCKEVENTS
781 select GENERIC_GPIO
782 select ARCH_REQUIRE_GPIOLIB
783 help
784 Support for the Nomadik platform by ST-Ericsson
785
7c6337e2
KH
786config ARCH_DAVINCI
787 bool "TI DaVinci"
c750815e 788 select CPU_ARM926T
7c6337e2
KH
789 select GENERIC_TIME
790 select GENERIC_CLOCKEVENTS
3d9edf09 791 select GENERIC_GPIO
dce1115b 792 select ARCH_REQUIRE_GPIOLIB
3bca103a 793 select ZONE_DMA
9232fcc9 794 select HAVE_IDE
c5b736d0 795 select COMMON_CLKDEV
20e9969b 796 select GENERIC_ALLOCATOR
ae88e05a 797 select ARCH_HAS_HOLES_MEMORYMODEL
7c6337e2
KH
798 help
799 Support for TI's DaVinci platform.
800
3b938be6
RK
801config ARCH_OMAP
802 bool "TI OMAP"
803 select GENERIC_GPIO
9483a578 804 select HAVE_CLK
7444a72e 805 select ARCH_REQUIRE_GPIOLIB
89c52ed4 806 select ARCH_HAS_CPUFREQ
3b938be6 807 select GENERIC_TIME
06cad098 808 select GENERIC_CLOCKEVENTS
9af915da 809 select ARCH_HAS_HOLES_MEMORYMODEL
3b938be6
RK
810 help
811 Support for TI's OMAP platform (OMAP1 and OMAP2).
812
1da177e4
LT
813endchoice
814
ccf50e23
RK
815#
816# This is sorted alphabetically by mach-* pathname. However, plat-*
817# Kconfigs may be included either alphabetically (according to the
818# plat- suffix) or along side the corresponding mach-* source.
819#
95b8f20f
RK
820source "arch/arm/mach-aaec2000/Kconfig"
821
822source "arch/arm/mach-at91/Kconfig"
823
824source "arch/arm/mach-bcmring/Kconfig"
825
1da177e4
LT
826source "arch/arm/mach-clps711x/Kconfig"
827
95b8f20f
RK
828source "arch/arm/mach-davinci/Kconfig"
829
830source "arch/arm/mach-dove/Kconfig"
831
e7736d47
LB
832source "arch/arm/mach-ep93xx/Kconfig"
833
1da177e4
LT
834source "arch/arm/mach-footbridge/Kconfig"
835
59d3a193
PZ
836source "arch/arm/mach-gemini/Kconfig"
837
95b8f20f
RK
838source "arch/arm/mach-h720x/Kconfig"
839
1da177e4
LT
840source "arch/arm/mach-integrator/Kconfig"
841
3f7e5815
LB
842source "arch/arm/mach-iop32x/Kconfig"
843
844source "arch/arm/mach-iop33x/Kconfig"
1da177e4 845
285f5fa7
DW
846source "arch/arm/mach-iop13xx/Kconfig"
847
1da177e4
LT
848source "arch/arm/mach-ixp4xx/Kconfig"
849
850source "arch/arm/mach-ixp2000/Kconfig"
851
c4713074
LB
852source "arch/arm/mach-ixp23xx/Kconfig"
853
95b8f20f
RK
854source "arch/arm/mach-kirkwood/Kconfig"
855
856source "arch/arm/mach-ks8695/Kconfig"
857
858source "arch/arm/mach-lh7a40x/Kconfig"
859
777f9beb
LB
860source "arch/arm/mach-loki/Kconfig"
861
95b8f20f
RK
862source "arch/arm/mach-msm/Kconfig"
863
794d15b2
SS
864source "arch/arm/mach-mv78xx0/Kconfig"
865
95b8f20f 866source "arch/arm/plat-mxc/Kconfig"
1da177e4 867
95b8f20f 868source "arch/arm/mach-netx/Kconfig"
49cbe786 869
95b8f20f
RK
870source "arch/arm/mach-nomadik/Kconfig"
871source "arch/arm/plat-nomadik/Kconfig"
872
873source "arch/arm/mach-ns9xxx/Kconfig"
1da177e4 874
186f93ea 875source "arch/arm/mach-nuc93x/Kconfig"
1da177e4 876
d48af15e
TL
877source "arch/arm/plat-omap/Kconfig"
878
879source "arch/arm/mach-omap1/Kconfig"
1da177e4 880
1dbae815
TL
881source "arch/arm/mach-omap2/Kconfig"
882
9dd0b194 883source "arch/arm/mach-orion5x/Kconfig"
585cf175 884
95b8f20f
RK
885source "arch/arm/mach-pxa/Kconfig"
886source "arch/arm/plat-pxa/Kconfig"
585cf175 887
95b8f20f
RK
888source "arch/arm/mach-mmp/Kconfig"
889
890source "arch/arm/mach-realview/Kconfig"
891
892source "arch/arm/mach-sa1100/Kconfig"
edabd38e 893
cf383678 894source "arch/arm/plat-samsung/Kconfig"
a21765a7 895source "arch/arm/plat-s3c24xx/Kconfig"
c4ffccdd 896source "arch/arm/plat-s5p/Kconfig"
5a7652f2 897source "arch/arm/plat-s5pc1xx/Kconfig"
a21765a7
BD
898
899if ARCH_S3C2410
900source "arch/arm/mach-s3c2400/Kconfig"
1da177e4 901source "arch/arm/mach-s3c2410/Kconfig"
a21765a7
BD
902source "arch/arm/mach-s3c2412/Kconfig"
903source "arch/arm/mach-s3c2440/Kconfig"
e4d06e39 904source "arch/arm/mach-s3c2443/Kconfig"
a21765a7 905endif
1da177e4 906
a08ab637 907if ARCH_S3C64XX
431107ea 908source "arch/arm/mach-s3c64xx/Kconfig"
a08ab637
BD
909endif
910
c4ffccdd
KK
911source "arch/arm/mach-s5p6440/Kconfig"
912
550db7f1 913source "arch/arm/mach-s5p6442/Kconfig"
7bd0f2f5 914
5a7652f2
BM
915if ARCH_S5PC1XX
916source "arch/arm/mach-s5pc100/Kconfig"
917endif
918
170f4e42
KK
919source "arch/arm/mach-s5pv210/Kconfig"
920
882d01f9 921source "arch/arm/mach-shmobile/Kconfig"
52c543f9 922
882d01f9 923source "arch/arm/plat-stmp3xxx/Kconfig"
9e73c84c 924
95b8f20f 925source "arch/arm/mach-u300/Kconfig"
1da177e4 926
95b8f20f 927source "arch/arm/mach-ux500/Kconfig"
1da177e4
LT
928
929source "arch/arm/mach-versatile/Kconfig"
930
7ec80ddf 931source "arch/arm/mach-w90x900/Kconfig"
932
1da177e4
LT
933# Definitions to make life easier
934config ARCH_ACORN
935 bool
936
7ae1f7ec
LB
937config PLAT_IOP
938 bool
469d3044 939 select GENERIC_CLOCKEVENTS
980f2296 940 select GENERIC_TIME
7ae1f7ec 941
69b02f6a
LB
942config PLAT_ORION
943 bool
944
bd5ce433
EM
945config PLAT_PXA
946 bool
947
1da177e4
LT
948source arch/arm/mm/Kconfig
949
afe4b25e
LB
950config IWMMXT
951 bool "Enable iWMMXt support"
40305a58
EM
952 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
953 default y if PXA27x || PXA3xx || ARCH_MMP
afe4b25e
LB
954 help
955 Enable support for iWMMXt context switching at run time if
956 running on a CPU that supports it.
957
1da177e4
LT
958# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
959config XSCALE_PMU
960 bool
961 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
962 default y
963
0f4f0672
JI
964config CPU_HAS_PMU
965 depends on CPU_V6 || CPU_V7 || XSCALE_PMU
966 default y
967 bool
968
3b93e7b0
HC
969if !MMU
970source "arch/arm/Kconfig-nommu"
971endif
972
9cba3ccc
CM
973config ARM_ERRATA_411920
974 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
975 depends on CPU_V6 && !SMP
976 help
977 Invalidation of the Instruction Cache operation can
978 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
979 It does not affect the MPCore. This option enables the ARM Ltd.
980 recommended workaround.
981
7ce236fc
CM
982config ARM_ERRATA_430973
983 bool "ARM errata: Stale prediction on replaced interworking branch"
984 depends on CPU_V7
985 help
986 This option enables the workaround for the 430973 Cortex-A8
987 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
988 interworking branch is replaced with another code sequence at the
989 same virtual address, whether due to self-modifying code or virtual
990 to physical address re-mapping, Cortex-A8 does not recover from the
991 stale interworking branch prediction. This results in Cortex-A8
992 executing the new code sequence in the incorrect ARM or Thumb state.
993 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
994 and also flushes the branch target cache at every context switch.
995 Note that setting specific bits in the ACTLR register may not be
996 available in non-secure mode.
997
855c551f
CM
998config ARM_ERRATA_458693
999 bool "ARM errata: Processor deadlock when a false hazard is created"
1000 depends on CPU_V7
1001 help
1002 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1003 erratum. For very specific sequences of memory operations, it is
1004 possible for a hazard condition intended for a cache line to instead
1005 be incorrectly associated with a different cache line. This false
1006 hazard might then cause a processor deadlock. The workaround enables
1007 the L1 caching of the NEON accesses and disables the PLD instruction
1008 in the ACTLR register. Note that setting specific bits in the ACTLR
1009 register may not be available in non-secure mode.
1010
0516e464
CM
1011config ARM_ERRATA_460075
1012 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
1013 depends on CPU_V7
1014 help
1015 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
1016 erratum. Any asynchronous access to the L2 cache may encounter a
1017 situation in which recent store transactions to the L2 cache are lost
1018 and overwritten with stale memory contents from external memory. The
1019 workaround disables the write-allocate mode for the L2 cache via the
1020 ACTLR register. Note that setting specific bits in the ACTLR register
1021 may not be available in non-secure mode.
1022
9e65582a
SS
1023config PL310_ERRATA_588369
1024 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1025 depends on CACHE_L2X0 && ARCH_OMAP4
1026 help
1027 The PL310 L2 cache controller implements three types of Clean &
1028 Invalidate maintenance operations: by Physical Address
1029 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
1030 They are architecturally defined to behave as the execution of a
1031 clean operation followed immediately by an invalidate operation,
1032 both performing to the same memory location. This functionality
1033 is not correctly implemented in PL310 as clean lines are not
1034 invalidated as a result of these operations. Note that this errata
1035 uses Texas Instrument's secure monitor api.
1da177e4
LT
1036endmenu
1037
1038source "arch/arm/common/Kconfig"
1039
1040config FORCE_MAX_ZONEORDER
1041 int
1042 depends on SA1111
1043 default "9"
1044
1045menu "Bus support"
1046
1047config ARM_AMBA
1048 bool
1049
1050config ISA
1051 bool
1da177e4
LT
1052 help
1053 Find out whether you have ISA slots on your motherboard. ISA is the
1054 name of a bus system, i.e. the way the CPU talks to the other stuff
1055 inside your box. Other bus systems are PCI, EISA, MicroChannel
1056 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1057 newer boards don't support it. If you have ISA, say Y, otherwise N.
1058
065909b9 1059# Select ISA DMA controller support
1da177e4
LT
1060config ISA_DMA
1061 bool
065909b9 1062 select ISA_DMA_API
1da177e4 1063
065909b9 1064# Select ISA DMA interface
5cae841b
AV
1065config ISA_DMA_API
1066 bool
5cae841b 1067
1da177e4 1068config PCI
a0113a99 1069 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
1da177e4
LT
1070 help
1071 Find out whether you have a PCI motherboard. PCI is the name of a
1072 bus system, i.e. the way the CPU talks to the other stuff inside
1073 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1074 VESA. If you have PCI, say Y, otherwise N.
1075
36e23590
MW
1076config PCI_SYSCALL
1077 def_bool PCI
1078
1da177e4
LT
1079# Select the host bridge type
1080config PCI_HOST_VIA82C505
1081 bool
1082 depends on PCI && ARCH_SHARK
1083 default y
1084
a0113a99
MR
1085config PCI_HOST_ITE8152
1086 bool
1087 depends on PCI && MACH_ARMCORE
1088 default y
1089 select DMABOUNCE
1090
1da177e4
LT
1091source "drivers/pci/Kconfig"
1092
1093source "drivers/pcmcia/Kconfig"
1094
1095endmenu
1096
1097menu "Kernel Features"
1098
0567a0c0
KH
1099source "kernel/time/Kconfig"
1100
1da177e4
LT
1101config SMP
1102 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
42578c82 1103 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
850265e8 1104 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
bc28248e 1105 depends on GENERIC_CLOCKEVENTS
f6dd9fa5 1106 select USE_GENERIC_SMP_HELPERS
850265e8 1107 select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
1da177e4
LT
1108 help
1109 This enables support for systems with more than one CPU. If you have
1110 a system with only one CPU, like most personal computers, say N. If
1111 you have a system with more than one CPU, say Y.
1112
1113 If you say N here, the kernel will run on single and multiprocessor
1114 machines, but will use only one CPU of a multiprocessor machine. If
1115 you say Y here, the kernel will run on many, but not all, single
1116 processor machines. On a single processor machine, the kernel will
1117 run faster if you say N here.
1118
03502faa 1119 See also <file:Documentation/i386/IO-APIC.txt>,
1da177e4
LT
1120 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
1121 <http://www.linuxdoc.org/docs.html#howto>.
1122
1123 If you don't know what to do here, say N.
1124
a8cbcd92
RK
1125config HAVE_ARM_SCU
1126 bool
1127 depends on SMP
1128 help
1129 This option enables support for the ARM system coherency unit
1130
f32f4ce2
RK
1131config HAVE_ARM_TWD
1132 bool
1133 depends on SMP
1134 help
1135 This options enables support for the ARM timer and watchdog unit
1136
8d5796d2
LB
1137choice
1138 prompt "Memory split"
1139 default VMSPLIT_3G
1140 help
1141 Select the desired split between kernel and user memory.
1142
1143 If you are not absolutely sure what you are doing, leave this
1144 option alone!
1145
1146 config VMSPLIT_3G
1147 bool "3G/1G user/kernel split"
1148 config VMSPLIT_2G
1149 bool "2G/2G user/kernel split"
1150 config VMSPLIT_1G
1151 bool "1G/3G user/kernel split"
1152endchoice
1153
1154config PAGE_OFFSET
1155 hex
1156 default 0x40000000 if VMSPLIT_1G
1157 default 0x80000000 if VMSPLIT_2G
1158 default 0xC0000000
1159
1da177e4
LT
1160config NR_CPUS
1161 int "Maximum number of CPUs (2-32)"
1162 range 2 32
1163 depends on SMP
1164 default "4"
1165
a054a811
RK
1166config HOTPLUG_CPU
1167 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1168 depends on SMP && HOTPLUG && EXPERIMENTAL
1169 help
1170 Say Y here to experiment with turning CPUs off and on. CPUs
1171 can be controlled through /sys/devices/system/cpu.
1172
37ee16ae
RK
1173config LOCAL_TIMERS
1174 bool "Use local timer interrupts"
42578c82 1175 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
850265e8 1176 REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
37ee16ae 1177 default y
850265e8 1178 select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
37ee16ae
RK
1179 help
1180 Enable support for local timers on SMP platforms, rather then the
1181 legacy IPI broadcast method. Local timers allows the system
1182 accounting to be spread across the timer interval, preventing a
1183 "thundering herd" at every timer tick.
1184
d45a398f 1185source kernel/Kconfig.preempt
1da177e4 1186
f8065813
RK
1187config HZ
1188 int
1189 default 128 if ARCH_L7200
170f4e42 1190 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210
bfe65704 1191 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
5248c657 1192 default AT91_TIMER_HZ if ARCH_AT91
f8065813
RK
1193 default 100
1194
16c79651
CM
1195config THUMB2_KERNEL
1196 bool "Compile the kernel in Thumb-2 mode"
1197 depends on CPU_V7 && EXPERIMENTAL
1198 select AEABI
1199 select ARM_ASM_UNIFIED
1200 help
1201 By enabling this option, the kernel will be compiled in
1202 Thumb-2 mode. A compiler/assembler that understand the unified
1203 ARM-Thumb syntax is needed.
1204
1205 If unsure, say N.
1206
0becb088
CM
1207config ARM_ASM_UNIFIED
1208 bool
1209
704bdda0
NP
1210config AEABI
1211 bool "Use the ARM EABI to compile the kernel"
1212 help
1213 This option allows for the kernel to be compiled using the latest
1214 ARM ABI (aka EABI). This is only useful if you are using a user
1215 space environment that is also compiled with EABI.
1216
1217 Since there are major incompatibilities between the legacy ABI and
1218 EABI, especially with regard to structure member alignment, this
1219 option also changes the kernel syscall calling convention to
1220 disambiguate both ABIs and allow for backward compatibility support
1221 (selected with CONFIG_OABI_COMPAT).
1222
1223 To use this you need GCC version 4.0.0 or later.
1224
6c90c872 1225config OABI_COMPAT
a73a3ff1 1226 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
61c484d4 1227 depends on AEABI && EXPERIMENTAL
6c90c872
NP
1228 default y
1229 help
1230 This option preserves the old syscall interface along with the
1231 new (ARM EABI) one. It also provides a compatibility layer to
1232 intercept syscalls that have structure arguments which layout
1233 in memory differs between the legacy ABI and the new ARM EABI
1234 (only for non "thumb" binaries). This option adds a tiny
1235 overhead to all syscalls and produces a slightly larger kernel.
1236 If you know you'll be using only pure EABI user space then you
1237 can say N here. If this option is not selected and you attempt
1238 to execute a legacy ABI binary then the result will be
1239 UNPREDICTABLE (in fact it can be predicted that it won't work
1240 at all). If in doubt say Y.
1241
eb33575c 1242config ARCH_HAS_HOLES_MEMORYMODEL
e80d6a24 1243 bool
e80d6a24 1244
07a2f737 1245# Discontigmem is deprecated
3f22ab27 1246config ARCH_DISCONTIGMEM_ENABLE
1da177e4 1247 bool
1da177e4 1248
05944d74
RK
1249config ARCH_SPARSEMEM_ENABLE
1250 bool
1251
07a2f737
RK
1252config ARCH_SPARSEMEM_DEFAULT
1253 def_bool ARCH_SPARSEMEM_ENABLE
1254
05944d74 1255config ARCH_SELECT_MEMORY_MODEL
07a2f737 1256 def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
05944d74 1257
c80d79d7
YG
1258config NODES_SHIFT
1259 int
1260 default "4" if ARCH_LH7A40X
1261 default "2"
1262 depends on NEED_MULTIPLE_NODES
1263
053a96ca
NP
1264config HIGHMEM
1265 bool "High Memory Support (EXPERIMENTAL)"
1266 depends on MMU && EXPERIMENTAL
1267 help
1268 The address space of ARM processors is only 4 Gigabytes large
1269 and it has to accommodate user address space, kernel address
1270 space as well as some memory mapped IO. That means that, if you
1271 have a large amount of physical memory and/or IO, not all of the
1272 memory can be "permanently mapped" by the kernel. The physical
1273 memory that is not permanently mapped is called "high memory".
1274
1275 Depending on the selected kernel/user memory split, minimum
1276 vmalloc space and actual amount of RAM, you may not need this
1277 option which should result in a slightly faster kernel.
1278
1279 If unsure, say n.
1280
65cec8e3
RK
1281config HIGHPTE
1282 bool "Allocate 2nd-level pagetables from highmem"
1283 depends on HIGHMEM
1284 depends on !OUTER_CACHE
1285
1b8873a0
JI
1286config HW_PERF_EVENTS
1287 bool "Enable hardware performance counter support for perf events"
796d1295 1288 depends on PERF_EVENTS && CPU_HAS_PMU && (CPU_V6 || CPU_V7)
1b8873a0
JI
1289 default y
1290 help
1291 Enable hardware performance counter support for perf events. If
1292 disabled, perf events will use software events only.
1293
3f22ab27
DH
1294source "mm/Kconfig"
1295
1da177e4
LT
1296config LEDS
1297 bool "Timer and CPU usage LEDs"
e055d5bf 1298 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
8c8fdbc9 1299 ARCH_EBSA285 || ARCH_INTEGRATOR || \
1da177e4
LT
1300 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1301 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
73a59c1c 1302 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
25329671 1303 ARCH_AT91 || ARCH_DAVINCI || \
ff3042fb 1304 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
1da177e4
LT
1305 help
1306 If you say Y here, the LEDs on your machine will be used
1307 to provide useful information about your current system status.
1308
1309 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1310 be able to select which LEDs are active using the options below. If
1311 you are compiling a kernel for the EBSA-110 or the LART however, the
1312 red LED will simply flash regularly to indicate that the system is
1313 still functional. It is safe to say Y here if you have a CATS
1314 system, but the driver will do nothing.
1315
1316config LEDS_TIMER
1317 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
eebdf7d7
DB
1318 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1319 || MACH_OMAP_PERSEUS2
1da177e4 1320 depends on LEDS
0567a0c0 1321 depends on !GENERIC_CLOCKEVENTS
1da177e4
LT
1322 default y if ARCH_EBSA110
1323 help
1324 If you say Y here, one of the system LEDs (the green one on the
1325 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1326 will flash regularly to indicate that the system is still
1327 operational. This is mainly useful to kernel hackers who are
1328 debugging unstable kernels.
1329
1330 The LART uses the same LED for both Timer LED and CPU usage LED
1331 functions. You may choose to use both, but the Timer LED function
1332 will overrule the CPU usage LED.
1333
1334config LEDS_CPU
1335 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
eebdf7d7
DB
1336 !ARCH_OMAP) \
1337 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1338 || MACH_OMAP_PERSEUS2
1da177e4
LT
1339 depends on LEDS
1340 help
1341 If you say Y here, the red LED will be used to give a good real
1342 time indication of CPU usage, by lighting whenever the idle task
1343 is not currently executing.
1344
1345 The LART uses the same LED for both Timer LED and CPU usage LED
1346 functions. You may choose to use both, but the Timer LED function
1347 will overrule the CPU usage LED.
1348
1349config ALIGNMENT_TRAP
1350 bool
f12d0d7c 1351 depends on CPU_CP15_MMU
1da177e4 1352 default y if !ARCH_EBSA110
e119bfff 1353 select HAVE_PROC_CPU if PROC_FS
1da177e4 1354 help
84eb8d06 1355 ARM processors cannot fetch/store information which is not
1da177e4
LT
1356 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1357 address divisible by 4. On 32-bit ARM processors, these non-aligned
1358 fetch/store instructions will be emulated in software if you say
1359 here, which has a severe performance impact. This is necessary for
1360 correct operation of some network protocols. With an IP-only
1361 configuration it is safe to say N, otherwise say Y.
1362
39ec58f3
LB
1363config UACCESS_WITH_MEMCPY
1364 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1365 depends on MMU && EXPERIMENTAL
1366 default y if CPU_FEROCEON
1367 help
1368 Implement faster copy_to_user and clear_user methods for CPU
1369 cores where a 8-word STM instruction give significantly higher
1370 memory write throughput than a sequence of individual 32bit stores.
1371
1372 A possible side effect is a slight increase in scheduling latency
1373 between threads sharing the same address space if they invoke
1374 such copy operations with large buffers.
1375
1376 However, if the CPU data cache is using a write-allocate mode,
1377 this option is unlikely to provide any performance gain.
1378
1da177e4
LT
1379endmenu
1380
1381menu "Boot options"
1382
1383# Compressed boot loader in ROM. Yes, we really want to ask about
1384# TEXT and BSS so we preserve their values in the config files.
1385config ZBOOT_ROM_TEXT
1386 hex "Compressed ROM boot loader base address"
1387 default "0"
1388 help
1389 The physical address at which the ROM-able zImage is to be
1390 placed in the target. Platforms which normally make use of
1391 ROM-able zImage formats normally set this to a suitable
1392 value in their defconfig file.
1393
1394 If ZBOOT_ROM is not enabled, this has no effect.
1395
1396config ZBOOT_ROM_BSS
1397 hex "Compressed ROM boot loader BSS address"
1398 default "0"
1399 help
f8c440b2
DF
1400 The base address of an area of read/write memory in the target
1401 for the ROM-able zImage which must be available while the
1402 decompressor is running. It must be large enough to hold the
1403 entire decompressed kernel plus an additional 128 KiB.
1404 Platforms which normally make use of ROM-able zImage formats
1405 normally set this to a suitable value in their defconfig file.
1da177e4
LT
1406
1407 If ZBOOT_ROM is not enabled, this has no effect.
1408
1409config ZBOOT_ROM
1410 bool "Compressed boot loader in ROM/flash"
1411 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1412 help
1413 Say Y here if you intend to execute your compressed kernel image
1414 (zImage) directly from ROM or flash. If unsure, say N.
1415
1416config CMDLINE
1417 string "Default kernel command string"
1418 default ""
1419 help
1420 On some architectures (EBSA110 and CATS), there is currently no way
1421 for the boot loader to pass arguments to the kernel. For these
1422 architectures, you should supply some command-line options at build
1423 time by entering them here. As a minimum, you should specify the
1424 memory size and the root device (e.g., mem=64M root=/dev/nfs).
1425
1426config XIP_KERNEL
1427 bool "Kernel Execute-In-Place from ROM"
1428 depends on !ZBOOT_ROM
1429 help
1430 Execute-In-Place allows the kernel to run from non-volatile storage
1431 directly addressable by the CPU, such as NOR flash. This saves RAM
1432 space since the text section of the kernel is not loaded from flash
1433 to RAM. Read-write sections, such as the data section and stack,
1434 are still copied to RAM. The XIP kernel is not compressed since
1435 it has to run directly from flash, so it will take more space to
1436 store it. The flash address used to link the kernel object files,
1437 and for storing it, is configuration dependent. Therefore, if you
1438 say Y here, you must know the proper physical address where to
1439 store the kernel image depending on your own flash memory usage.
1440
1441 Also note that the make target becomes "make xipImage" rather than
1442 "make zImage" or "make Image". The final kernel binary to put in
1443 ROM memory will be arch/arm/boot/xipImage.
1444
1445 If unsure, say N.
1446
1447config XIP_PHYS_ADDR
1448 hex "XIP Kernel Physical Location"
1449 depends on XIP_KERNEL
1450 default "0x00080000"
1451 help
1452 This is the physical address in your flash memory the kernel will
1453 be linked for and stored to. This address is dependent on your
1454 own flash usage.
1455
c587e4a6
RP
1456config KEXEC
1457 bool "Kexec system call (EXPERIMENTAL)"
1458 depends on EXPERIMENTAL
1459 help
1460 kexec is a system call that implements the ability to shutdown your
1461 current kernel, and to start another kernel. It is like a reboot
01dd2fbf 1462 but it is independent of the system firmware. And like a reboot
c587e4a6
RP
1463 you can start any kernel with it, not just Linux.
1464
1465 It is an ongoing process to be certain the hardware in a machine
1466 is properly shutdown, so do not be surprised if this code does not
1467 initially work for you. It may help to enable device hotplugging
1468 support.
1469
4cd9d6f7
RP
1470config ATAGS_PROC
1471 bool "Export atags in procfs"
b98d7291
UL
1472 depends on KEXEC
1473 default y
4cd9d6f7
RP
1474 help
1475 Should the atags used to boot the kernel be exported in an "atags"
1476 file in procfs. Useful with kexec.
1477
1da177e4
LT
1478endmenu
1479
ac9d7efc 1480menu "CPU Power Management"
1da177e4 1481
89c52ed4 1482if ARCH_HAS_CPUFREQ
1da177e4
LT
1483
1484source "drivers/cpufreq/Kconfig"
1485
1486config CPU_FREQ_SA1100
1487 bool
1da177e4
LT
1488
1489config CPU_FREQ_SA1110
1490 bool
1da177e4
LT
1491
1492config CPU_FREQ_INTEGRATOR
1493 tristate "CPUfreq driver for ARM Integrator CPUs"
1494 depends on ARCH_INTEGRATOR && CPU_FREQ
1495 default y
1496 help
1497 This enables the CPUfreq driver for ARM Integrator CPUs.
1498
1499 For details, take a look at <file:Documentation/cpu-freq>.
1500
1501 If in doubt, say Y.
1502
9e2697ff
RK
1503config CPU_FREQ_PXA
1504 bool
1505 depends on CPU_FREQ && ARCH_PXA && PXA25x
1506 default y
1507 select CPU_FREQ_DEFAULT_GOV_USERSPACE
1508
b3748ddd
MB
1509config CPU_FREQ_S3C64XX
1510 bool "CPUfreq support for Samsung S3C64XX CPUs"
1511 depends on CPU_FREQ && CPU_S3C6410
1512
9d56c02a
BD
1513config CPU_FREQ_S3C
1514 bool
1515 help
1516 Internal configuration node for common cpufreq on Samsung SoC
1517
1518config CPU_FREQ_S3C24XX
1519 bool "CPUfreq driver for Samsung S3C24XX series CPUs"
1520 depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
1521 select CPU_FREQ_S3C
1522 help
1523 This enables the CPUfreq driver for the Samsung S3C24XX family
1524 of CPUs.
1525
1526 For details, take a look at <file:Documentation/cpu-freq>.
1527
1528 If in doubt, say N.
1529
1530config CPU_FREQ_S3C24XX_PLL
1531 bool "Support CPUfreq changing of PLL frequency"
1532 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
1533 help
1534 Compile in support for changing the PLL frequency from the
1535 S3C24XX series CPUfreq driver. The PLL takes time to settle
1536 after a frequency change, so by default it is not enabled.
1537
1538 This also means that the PLL tables for the selected CPU(s) will
1539 be built which may increase the size of the kernel image.
1540
1541config CPU_FREQ_S3C24XX_DEBUG
1542 bool "Debug CPUfreq Samsung driver core"
1543 depends on CPU_FREQ_S3C24XX
1544 help
1545 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
1546
1547config CPU_FREQ_S3C24XX_IODEBUG
1548 bool "Debug CPUfreq Samsung driver IO timing"
1549 depends on CPU_FREQ_S3C24XX
1550 help
1551 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
1552
e6d197a6
BD
1553config CPU_FREQ_S3C24XX_DEBUGFS
1554 bool "Export debugfs for CPUFreq"
1555 depends on CPU_FREQ_S3C24XX && DEBUG_FS
1556 help
1557 Export status information via debugfs.
1558
1da177e4
LT
1559endif
1560
ac9d7efc
RK
1561source "drivers/cpuidle/Kconfig"
1562
1563endmenu
1564
1da177e4
LT
1565menu "Floating point emulation"
1566
1567comment "At least one emulation must be selected"
1568
1569config FPE_NWFPE
1570 bool "NWFPE math emulation"
8993a44c 1571 depends on !AEABI || OABI_COMPAT
1da177e4
LT
1572 ---help---
1573 Say Y to include the NWFPE floating point emulator in the kernel.
1574 This is necessary to run most binaries. Linux does not currently
1575 support floating point hardware so you need to say Y here even if
1576 your machine has an FPA or floating point co-processor podule.
1577
1578 You may say N here if you are going to load the Acorn FPEmulator
1579 early in the bootup.
1580
1581config FPE_NWFPE_XP
1582 bool "Support extended precision"
bedf142b 1583 depends on FPE_NWFPE
1da177e4
LT
1584 help
1585 Say Y to include 80-bit support in the kernel floating-point
1586 emulator. Otherwise, only 32 and 64-bit support is compiled in.
1587 Note that gcc does not generate 80-bit operations by default,
1588 so in most cases this option only enlarges the size of the
1589 floating point emulator without any good reason.
1590
1591 You almost surely want to say N here.
1592
1593config FPE_FASTFPE
1594 bool "FastFPE math emulation (EXPERIMENTAL)"
8993a44c 1595 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1da177e4
LT
1596 ---help---
1597 Say Y here to include the FAST floating point emulator in the kernel.
1598 This is an experimental much faster emulator which now also has full
1599 precision for the mantissa. It does not support any exceptions.
1600 It is very simple, and approximately 3-6 times faster than NWFPE.
1601
1602 It should be sufficient for most programs. It may be not suitable
1603 for scientific calculations, but you have to check this for yourself.
1604 If you do not feel you need a faster FP emulation you should better
1605 choose NWFPE.
1606
1607config VFP
1608 bool "VFP-format floating point maths"
c00d4ffd 1609 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1da177e4
LT
1610 help
1611 Say Y to include VFP support code in the kernel. This is needed
1612 if your hardware includes a VFP unit.
1613
1614 Please see <file:Documentation/arm/VFP/release-notes.txt> for
1615 release notes and additional status information.
1616
1617 Say N if your target does not have VFP hardware.
1618
25ebee02
CM
1619config VFPv3
1620 bool
1621 depends on VFP
1622 default y if CPU_V7
1623
b5872db4
CM
1624config NEON
1625 bool "Advanced SIMD (NEON) Extension support"
1626 depends on VFPv3 && CPU_V7
1627 help
1628 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1629 Extension.
1630
1da177e4
LT
1631endmenu
1632
1633menu "Userspace binary formats"
1634
1635source "fs/Kconfig.binfmt"
1636
1637config ARTHUR
1638 tristate "RISC OS personality"
704bdda0 1639 depends on !AEABI
1da177e4
LT
1640 help
1641 Say Y here to include the kernel code necessary if you want to run
1642 Acorn RISC OS/Arthur binaries under Linux. This code is still very
1643 experimental; if this sounds frightening, say N and sleep in peace.
1644 You can also say M here to compile this support as a module (which
1645 will be called arthur).
1646
1647endmenu
1648
1649menu "Power management options"
1650
eceab4ac 1651source "kernel/power/Kconfig"
1da177e4 1652
f4cb5700
JB
1653config ARCH_SUSPEND_POSSIBLE
1654 def_bool y
1655
1da177e4
LT
1656endmenu
1657
d5950b43
SR
1658source "net/Kconfig"
1659
ac25150f 1660source "drivers/Kconfig"
1da177e4
LT
1661
1662source "fs/Kconfig"
1663
1da177e4
LT
1664source "arch/arm/Kconfig.debug"
1665
1666source "security/Kconfig"
1667
1668source "crypto/Kconfig"
1669
1670source "lib/Kconfig"