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