aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Kconfig28
-rw-r--r--arch/arm/boot/compressed/misc.c2
-rw-r--r--arch/arm/include/asm/page.h2
-rw-r--r--arch/arm/include/asm/processor.h2
-rw-r--r--arch/arm/include/asm/string.h9
-rw-r--r--arch/arm/include/asm/uaccess.h2
-rw-r--r--arch/arm/lib/memset.S2
-rw-r--r--arch/arm/mach-at91/Kconfig7
-rw-r--r--arch/arm/mach-omap1/Kconfig3
-rw-r--r--arch/arm/mach-pxa/Kconfig3
-rw-r--r--arch/arm/mach-realview/Kconfig2
-rw-r--r--arch/arm/mach-s3c2410/Kconfig1
-rw-r--r--arch/arm/mach-s3c2412/Kconfig1
-rw-r--r--arch/arm/mach-s3c2440/Kconfig1
-rw-r--r--arch/arm/mach-s3c2442/Kconfig1
-rw-r--r--arch/arm/mach-versatile/Kconfig2
-rw-r--r--arch/arm/mm/Kconfig65
-rw-r--r--arch/arm/mm/mmu.c2
-rw-r--r--arch/arm/mm/pgd.c2
-rw-r--r--arch/arm/plat-mxc/Kconfig2
-rw-r--r--arch/arm/plat-omap/Kconfig2
21 files changed, 73 insertions, 68 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 6fe71af3c3e6..a04199771730 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -201,6 +201,7 @@ choice
201 201
202config ARCH_AAEC2000 202config ARCH_AAEC2000
203 bool "Agilent AAEC-2000 based" 203 bool "Agilent AAEC-2000 based"
204 select CPU_ARM920T
204 select ARM_AMBA 205 select ARM_AMBA
205 select HAVE_CLK 206 select HAVE_CLK
206 help 207 help
@@ -248,6 +249,7 @@ config ARCH_AT91
248 249
249config ARCH_CLPS7500 250config ARCH_CLPS7500
250 bool "Cirrus CL-PS7500FE" 251 bool "Cirrus CL-PS7500FE"
252 select CPU_ARM710
251 select TIMER_ACORN 253 select TIMER_ACORN
252 select ISA 254 select ISA
253 select NO_IOPORT 255 select NO_IOPORT
@@ -257,11 +259,13 @@ config ARCH_CLPS7500
257 259
258config ARCH_CLPS711X 260config ARCH_CLPS711X
259 bool "Cirrus Logic CLPS711x/EP721x-based" 261 bool "Cirrus Logic CLPS711x/EP721x-based"
262 select CPU_ARM720T
260 help 263 help
261 Support for Cirrus Logic 711x/721x based boards. 264 Support for Cirrus Logic 711x/721x based boards.
262 265
263config ARCH_EBSA110 266config ARCH_EBSA110
264 bool "EBSA-110" 267 bool "EBSA-110"
268 select CPU_SA110
265 select ISA 269 select ISA
266 select NO_IOPORT 270 select NO_IOPORT
267 help 271 help
@@ -272,6 +276,7 @@ config ARCH_EBSA110
272 276
273config ARCH_EP93XX 277config ARCH_EP93XX
274 bool "EP93xx-based" 278 bool "EP93xx-based"
279 select CPU_ARM920T
275 select ARM_AMBA 280 select ARM_AMBA
276 select ARM_VIC 281 select ARM_VIC
277 select GENERIC_GPIO 282 select GENERIC_GPIO
@@ -282,6 +287,7 @@ config ARCH_EP93XX
282 287
283config ARCH_FOOTBRIDGE 288config ARCH_FOOTBRIDGE
284 bool "FootBridge" 289 bool "FootBridge"
290 select CPU_SA110
285 select FOOTBRIDGE 291 select FOOTBRIDGE
286 help 292 help
287 Support for systems based on the DC21285 companion chip 293 Support for systems based on the DC21285 companion chip
@@ -289,18 +295,21 @@ config ARCH_FOOTBRIDGE
289 295
290config ARCH_NETX 296config ARCH_NETX
291 bool "Hilscher NetX based" 297 bool "Hilscher NetX based"
298 select CPU_ARM926T
292 select ARM_VIC 299 select ARM_VIC
293 help 300 help
294 This enables support for systems based on the Hilscher NetX Soc 301 This enables support for systems based on the Hilscher NetX Soc
295 302
296config ARCH_H720X 303config ARCH_H720X
297 bool "Hynix HMS720x-based" 304 bool "Hynix HMS720x-based"
305 select CPU_ARM720T
298 select ISA_DMA_API 306 select ISA_DMA_API
299 help 307 help
300 This enables support for systems based on the Hynix HMS720x 308 This enables support for systems based on the Hynix HMS720x
301 309
302config ARCH_IMX 310config ARCH_IMX
303 bool "IMX" 311 bool "IMX"
312 select CPU_ARM920T
304 select GENERIC_GPIO 313 select GENERIC_GPIO
305 select GENERIC_TIME 314 select GENERIC_TIME
306 select GENERIC_CLOCKEVENTS 315 select GENERIC_CLOCKEVENTS
@@ -310,6 +319,7 @@ config ARCH_IMX
310config ARCH_IOP13XX 319config ARCH_IOP13XX
311 bool "IOP13xx-based" 320 bool "IOP13xx-based"
312 depends on MMU 321 depends on MMU
322 select CPU_XSC3
313 select PLAT_IOP 323 select PLAT_IOP
314 select PCI 324 select PCI
315 select ARCH_SUPPORTS_MSI 325 select ARCH_SUPPORTS_MSI
@@ -320,6 +330,7 @@ config ARCH_IOP13XX
320config ARCH_IOP32X 330config ARCH_IOP32X
321 bool "IOP32x-based" 331 bool "IOP32x-based"
322 depends on MMU 332 depends on MMU
333 select CPU_XSCALE
323 select PLAT_IOP 334 select PLAT_IOP
324 select PCI 335 select PCI
325 select GENERIC_GPIO 336 select GENERIC_GPIO
@@ -331,6 +342,7 @@ config ARCH_IOP32X
331config ARCH_IOP33X 342config ARCH_IOP33X
332 bool "IOP33x-based" 343 bool "IOP33x-based"
333 depends on MMU 344 depends on MMU
345 select CPU_XSCALE
334 select PLAT_IOP 346 select PLAT_IOP
335 select PCI 347 select PCI
336 select GENERIC_GPIO 348 select GENERIC_GPIO
@@ -341,6 +353,7 @@ config ARCH_IOP33X
341config ARCH_IXP23XX 353config ARCH_IXP23XX
342 bool "IXP23XX-based" 354 bool "IXP23XX-based"
343 depends on MMU 355 depends on MMU
356 select CPU_XSC3
344 select PCI 357 select PCI
345 help 358 help
346 Support for Intel's IXP23xx (XScale) family of processors. 359 Support for Intel's IXP23xx (XScale) family of processors.
@@ -348,6 +361,7 @@ config ARCH_IXP23XX
348config ARCH_IXP2000 361config ARCH_IXP2000
349 bool "IXP2400/2800-based" 362 bool "IXP2400/2800-based"
350 depends on MMU 363 depends on MMU
364 select CPU_XSCALE
351 select PCI 365 select PCI
352 help 366 help
353 Support for Intel's IXP2400/2800 (XScale) family of processors. 367 Support for Intel's IXP2400/2800 (XScale) family of processors.
@@ -355,6 +369,7 @@ config ARCH_IXP2000
355config ARCH_IXP4XX 369config ARCH_IXP4XX
356 bool "IXP4xx-based" 370 bool "IXP4xx-based"
357 depends on MMU 371 depends on MMU
372 select CPU_XSCALE
358 select GENERIC_GPIO 373 select GENERIC_GPIO
359 select GENERIC_TIME 374 select GENERIC_TIME
360 select GENERIC_CLOCKEVENTS 375 select GENERIC_CLOCKEVENTS
@@ -364,6 +379,7 @@ config ARCH_IXP4XX
364 379
365config ARCH_L7200 380config ARCH_L7200
366 bool "LinkUp-L7200" 381 bool "LinkUp-L7200"
382 select CPU_ARM720T
367 select FIQ 383 select FIQ
368 help 384 help
369 Say Y here if you intend to run this kernel on a LinkUp Systems 385 Say Y here if you intend to run this kernel on a LinkUp Systems
@@ -377,6 +393,7 @@ config ARCH_L7200
377 393
378config ARCH_KIRKWOOD 394config ARCH_KIRKWOOD
379 bool "Marvell Kirkwood" 395 bool "Marvell Kirkwood"
396 select CPU_FEROCEON
380 select PCI 397 select PCI
381 select GENERIC_TIME 398 select GENERIC_TIME
382 select GENERIC_CLOCKEVENTS 399 select GENERIC_CLOCKEVENTS
@@ -387,6 +404,7 @@ config ARCH_KIRKWOOD
387 404
388config ARCH_KS8695 405config ARCH_KS8695
389 bool "Micrel/Kendin KS8695" 406 bool "Micrel/Kendin KS8695"
407 select CPU_ARM922T
390 select GENERIC_GPIO 408 select GENERIC_GPIO
391 help 409 help
392 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based 410 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
@@ -394,6 +412,7 @@ config ARCH_KS8695
394 412
395config ARCH_NS9XXX 413config ARCH_NS9XXX
396 bool "NetSilicon NS9xxx" 414 bool "NetSilicon NS9xxx"
415 select CPU_ARM926T
397 select GENERIC_GPIO 416 select GENERIC_GPIO
398 select GENERIC_TIME 417 select GENERIC_TIME
399 select GENERIC_CLOCKEVENTS 418 select GENERIC_CLOCKEVENTS
@@ -406,6 +425,7 @@ config ARCH_NS9XXX
406 425
407config ARCH_LOKI 426config ARCH_LOKI
408 bool "Marvell Loki (88RC8480)" 427 bool "Marvell Loki (88RC8480)"
428 select CPU_FEROCEON
409 select GENERIC_TIME 429 select GENERIC_TIME
410 select GENERIC_CLOCKEVENTS 430 select GENERIC_CLOCKEVENTS
411 select PLAT_ORION 431 select PLAT_ORION
@@ -414,6 +434,7 @@ config ARCH_LOKI
414 434
415config ARCH_MV78XX0 435config ARCH_MV78XX0
416 bool "Marvell MV78xx0" 436 bool "Marvell MV78xx0"
437 select CPU_FEROCEON
417 select PCI 438 select PCI
418 select GENERIC_TIME 439 select GENERIC_TIME
419 select GENERIC_CLOCKEVENTS 440 select GENERIC_CLOCKEVENTS
@@ -435,6 +456,7 @@ config ARCH_MXC
435config ARCH_ORION5X 456config ARCH_ORION5X
436 bool "Marvell Orion" 457 bool "Marvell Orion"
437 depends on MMU 458 depends on MMU
459 select CPU_FEROCEON
438 select PCI 460 select PCI
439 select GENERIC_GPIO 461 select GENERIC_GPIO
440 select GENERIC_TIME 462 select GENERIC_TIME
@@ -447,6 +469,7 @@ config ARCH_ORION5X
447 469
448config ARCH_PNX4008 470config ARCH_PNX4008
449 bool "Philips Nexperia PNX4008 Mobile" 471 bool "Philips Nexperia PNX4008 Mobile"
472 select CPU_ARM926T
450 select HAVE_CLK 473 select HAVE_CLK
451 help 474 help
452 This enables support for Philips PNX4008 mobile platform. 475 This enables support for Philips PNX4008 mobile platform.
@@ -481,6 +504,7 @@ config ARCH_RPC
481 504
482config ARCH_SA1100 505config ARCH_SA1100
483 bool "SA1100-based" 506 bool "SA1100-based"
507 select CPU_SA1100
484 select ISA 508 select ISA
485 select ARCH_SPARSEMEM_ENABLE 509 select ARCH_SPARSEMEM_ENABLE
486 select ARCH_MTD_XIP 510 select ARCH_MTD_XIP
@@ -504,6 +528,7 @@ config ARCH_S3C2410
504 528
505config ARCH_SHARK 529config ARCH_SHARK
506 bool "Shark" 530 bool "Shark"
531 select CPU_SA110
507 select ISA 532 select ISA
508 select ISA_DMA 533 select ISA_DMA
509 select ZONE_DMA 534 select ZONE_DMA
@@ -514,6 +539,7 @@ config ARCH_SHARK
514 539
515config ARCH_LH7A40X 540config ARCH_LH7A40X
516 bool "Sharp LH7A40X" 541 bool "Sharp LH7A40X"
542 select CPU_ARM922T
517 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM 543 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
518 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM 544 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
519 help 545 help
@@ -524,6 +550,7 @@ config ARCH_LH7A40X
524 550
525config ARCH_DAVINCI 551config ARCH_DAVINCI
526 bool "TI DaVinci" 552 bool "TI DaVinci"
553 select CPU_ARM926T
527 select GENERIC_TIME 554 select GENERIC_TIME
528 select GENERIC_CLOCKEVENTS 555 select GENERIC_CLOCKEVENTS
529 select GENERIC_GPIO 556 select GENERIC_GPIO
@@ -545,6 +572,7 @@ config ARCH_OMAP
545 572
546config ARCH_MSM 573config ARCH_MSM
547 bool "Qualcomm MSM" 574 bool "Qualcomm MSM"
575 select CPU_V6
548 select GENERIC_TIME 576 select GENERIC_TIME
549 select GENERIC_CLOCKEVENTS 577 select GENERIC_CLOCKEVENTS
550 help 578 help
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 65ce8fff29db..3fc08413fff0 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -86,6 +86,8 @@ static void putstr(const char *ptr)
86 86
87#define __ptr_t void * 87#define __ptr_t void *
88 88
89#define memzero(s,n) __memzero(s,n)
90
89/* 91/*
90 * Optimised C version of memzero for the ARM. 92 * Optimised C version of memzero for the ARM.
91 */ 93 */
diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h
index bed1c0a00368..5fee45e23038 100644
--- a/arch/arm/include/asm/page.h
+++ b/arch/arm/include/asm/page.h
@@ -133,7 +133,7 @@ extern void __cpu_copy_user_page(void *to, const void *from,
133#define clear_user_page(addr,vaddr,pg) __cpu_clear_user_page(addr, vaddr) 133#define clear_user_page(addr,vaddr,pg) __cpu_clear_user_page(addr, vaddr)
134#define copy_user_page(to,from,vaddr,pg) __cpu_copy_user_page(to, from, vaddr) 134#define copy_user_page(to,from,vaddr,pg) __cpu_copy_user_page(to, from, vaddr)
135 135
136#define clear_page(page) memzero((void *)(page), PAGE_SIZE) 136#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
137extern void copy_page(void *to, const void *from); 137extern void copy_page(void *to, const void *from);
138 138
139#undef STRICT_MM_TYPECHECKS 139#undef STRICT_MM_TYPECHECKS
diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h
index 517a4d6ffc74..2320508443a5 100644
--- a/arch/arm/include/asm/processor.h
+++ b/arch/arm/include/asm/processor.h
@@ -64,7 +64,7 @@ struct thread_struct {
64({ \ 64({ \
65 unsigned long *stack = (unsigned long *)sp; \ 65 unsigned long *stack = (unsigned long *)sp; \
66 set_fs(USER_DS); \ 66 set_fs(USER_DS); \
67 memzero(regs->uregs, sizeof(regs->uregs)); \ 67 memset(regs->uregs, 0, sizeof(regs->uregs)); \
68 if (current->personality & ADDR_LIMIT_32BIT) \ 68 if (current->personality & ADDR_LIMIT_32BIT) \
69 regs->ARM_cpsr = USR_MODE; \ 69 regs->ARM_cpsr = USR_MODE; \
70 else \ 70 else \
diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h
index e50c4a39b699..cf4f3aad0fc1 100644
--- a/arch/arm/include/asm/string.h
+++ b/arch/arm/include/asm/string.h
@@ -21,7 +21,6 @@ extern void * memmove(void *, const void *, __kernel_size_t);
21#define __HAVE_ARCH_MEMCHR 21#define __HAVE_ARCH_MEMCHR
22extern void * memchr(const void *, int, __kernel_size_t); 22extern void * memchr(const void *, int, __kernel_size_t);
23 23
24#define __HAVE_ARCH_MEMZERO
25#define __HAVE_ARCH_MEMSET 24#define __HAVE_ARCH_MEMSET
26extern void * memset(void *, int, __kernel_size_t); 25extern void * memset(void *, int, __kernel_size_t);
27 26
@@ -39,12 +38,4 @@ extern void __memzero(void *ptr, __kernel_size_t n);
39 (__p); \ 38 (__p); \
40 }) 39 })
41 40
42#define memzero(p,n) \
43 ({ \
44 void *__p = (p); size_t __n = n; \
45 if ((__n) != 0) \
46 __memzero((__p),(__n)); \
47 (__p); \
48 })
49
50#endif 41#endif
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index e98ec60b3400..cbb7a37e2978 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -400,7 +400,7 @@ static inline unsigned long __must_check copy_from_user(void *to, const void __u
400 if (access_ok(VERIFY_READ, from, n)) 400 if (access_ok(VERIFY_READ, from, n))
401 n = __copy_from_user(to, from, n); 401 n = __copy_from_user(to, from, n);
402 else /* security hole - plug it */ 402 else /* security hole - plug it */
403 memzero(to, n); 403 memset(to, 0, n);
404 return n; 404 return n;
405} 405}
406 406
diff --git a/arch/arm/lib/memset.S b/arch/arm/lib/memset.S
index 761eefa76243..650d5923ab83 100644
--- a/arch/arm/lib/memset.S
+++ b/arch/arm/lib/memset.S
@@ -25,7 +25,7 @@
25 add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3)) 25 add r2, r2, r3 @ 1 (r2 = r2 - (4 - r3))
26/* 26/*
27 * The pointer is now aligned and the length is adjusted. Try doing the 27 * The pointer is now aligned and the length is adjusted. Try doing the
28 * memzero again. 28 * memset again.
29 */ 29 */
30 30
31ENTRY(memset) 31ENTRY(memset)
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 5aafb2e2ca7a..95dc71aaa668 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -7,36 +7,43 @@ choice
7 7
8config ARCH_AT91RM9200 8config ARCH_AT91RM9200
9 bool "AT91RM9200" 9 bool "AT91RM9200"
10 select CPU_ARM920T
10 select GENERIC_TIME 11 select GENERIC_TIME
11 select GENERIC_CLOCKEVENTS 12 select GENERIC_CLOCKEVENTS
12 13
13config ARCH_AT91SAM9260 14config ARCH_AT91SAM9260
14 bool "AT91SAM9260 or AT91SAM9XE" 15 bool "AT91SAM9260 or AT91SAM9XE"
16 select CPU_ARM926T
15 select GENERIC_TIME 17 select GENERIC_TIME
16 select GENERIC_CLOCKEVENTS 18 select GENERIC_CLOCKEVENTS
17 19
18config ARCH_AT91SAM9261 20config ARCH_AT91SAM9261
19 bool "AT91SAM9261" 21 bool "AT91SAM9261"
22 select CPU_ARM926T
20 select GENERIC_TIME 23 select GENERIC_TIME
21 select GENERIC_CLOCKEVENTS 24 select GENERIC_CLOCKEVENTS
22 25
23config ARCH_AT91SAM9263 26config ARCH_AT91SAM9263
24 bool "AT91SAM9263" 27 bool "AT91SAM9263"
28 select CPU_ARM926T
25 select GENERIC_TIME 29 select GENERIC_TIME
26 select GENERIC_CLOCKEVENTS 30 select GENERIC_CLOCKEVENTS
27 31
28config ARCH_AT91SAM9RL 32config ARCH_AT91SAM9RL
29 bool "AT91SAM9RL" 33 bool "AT91SAM9RL"
34 select CPU_ARM926T
30 select GENERIC_TIME 35 select GENERIC_TIME
31 select GENERIC_CLOCKEVENTS 36 select GENERIC_CLOCKEVENTS
32 37
33config ARCH_AT91SAM9G20 38config ARCH_AT91SAM9G20
34 bool "AT91SAM9G20" 39 bool "AT91SAM9G20"
40 select CPU_ARM926T
35 select GENERIC_TIME 41 select GENERIC_TIME
36 select GENERIC_CLOCKEVENTS 42 select GENERIC_CLOCKEVENTS
37 43
38config ARCH_AT91CAP9 44config ARCH_AT91CAP9
39 bool "AT91CAP9" 45 bool "AT91CAP9"
46 select CPU_ARM926T
40 select GENERIC_TIME 47 select GENERIC_TIME
41 select GENERIC_CLOCKEVENTS 48 select GENERIC_CLOCKEVENTS
42 49
diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
index 79f0b1f8497b..10a301e32434 100644
--- a/arch/arm/mach-omap1/Kconfig
+++ b/arch/arm/mach-omap1/Kconfig
@@ -4,16 +4,19 @@ comment "OMAP Core Type"
4config ARCH_OMAP730 4config ARCH_OMAP730
5 depends on ARCH_OMAP1 5 depends on ARCH_OMAP1
6 bool "OMAP730 Based System" 6 bool "OMAP730 Based System"
7 select CPU_ARM926T
7 select ARCH_OMAP_OTG 8 select ARCH_OMAP_OTG
8 9
9config ARCH_OMAP15XX 10config ARCH_OMAP15XX
10 depends on ARCH_OMAP1 11 depends on ARCH_OMAP1
11 default y 12 default y
12 bool "OMAP15xx Based System" 13 bool "OMAP15xx Based System"
14 select CPU_ARM925T
13 15
14config ARCH_OMAP16XX 16config ARCH_OMAP16XX
15 depends on ARCH_OMAP1 17 depends on ARCH_OMAP1
16 bool "OMAP16xx Based System" 18 bool "OMAP16xx Based System"
19 select CPU_ARM926T
17 select ARCH_OMAP_OTG 20 select ARCH_OMAP_OTG
18 21
19comment "OMAP Board Type" 22comment "OMAP Board Type"
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index a062235e83a8..740f0a382bac 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -386,16 +386,19 @@ endmenu
386 386
387config PXA25x 387config PXA25x
388 bool 388 bool
389 select CPU_XSCALE
389 help 390 help
390 Select code specific to PXA21x/25x/26x variants 391 Select code specific to PXA21x/25x/26x variants
391 392
392config PXA27x 393config PXA27x
393 bool 394 bool
395 select CPU_XSCALE
394 help 396 help
395 Select code specific to PXA27x variants 397 Select code specific to PXA27x variants
396 398
397config PXA3xx 399config PXA3xx
398 bool 400 bool
401 select CPU_XSC3
399 help 402 help
400 Select code specific to PXA3xx variants 403 Select code specific to PXA3xx variants
401 404
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig
index 5ccde7cf39e8..603d1db9baf0 100644
--- a/arch/arm/mach-realview/Kconfig
+++ b/arch/arm/mach-realview/Kconfig
@@ -10,6 +10,7 @@ config MACH_REALVIEW_EB
10config REALVIEW_EB_ARM11MP 10config REALVIEW_EB_ARM11MP
11 bool "Support ARM11MPCore tile" 11 bool "Support ARM11MPCore tile"
12 depends on MACH_REALVIEW_EB 12 depends on MACH_REALVIEW_EB
13 select CPU_V6
13 help 14 help
14 Enable support for the ARM11MPCore tile on the Realview platform. 15 Enable support for the ARM11MPCore tile on the Realview platform.
15 16
@@ -33,6 +34,7 @@ config MACH_REALVIEW_PB11MP
33 34
34config MACH_REALVIEW_PB1176 35config MACH_REALVIEW_PB1176
35 bool "Support RealView/PB1176 platform" 36 bool "Support RealView/PB1176 platform"
37 select CPU_V6
36 select ARM_GIC 38 select ARM_GIC
37 help 39 help
38 Include support for the ARM(R) RealView ARM1176 Platform Baseboard. 40 Include support for the ARM(R) RealView ARM1176 Platform Baseboard.
diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig
index 99fdc736698c..7315569fbfd7 100644
--- a/arch/arm/mach-s3c2410/Kconfig
+++ b/arch/arm/mach-s3c2410/Kconfig
@@ -7,6 +7,7 @@
7config CPU_S3C2410 7config CPU_S3C2410
8 bool 8 bool
9 depends on ARCH_S3C2410 9 depends on ARCH_S3C2410
10 select CPU_ARM920T
10 select S3C2410_CLOCK 11 select S3C2410_CLOCK
11 select S3C2410_GPIO 12 select S3C2410_GPIO
12 select CPU_LLSERIAL_S3C2410 13 select CPU_LLSERIAL_S3C2410
diff --git a/arch/arm/mach-s3c2412/Kconfig b/arch/arm/mach-s3c2412/Kconfig
index c59a9d2ee9a6..ca99564ae4b5 100644
--- a/arch/arm/mach-s3c2412/Kconfig
+++ b/arch/arm/mach-s3c2412/Kconfig
@@ -7,6 +7,7 @@
7config CPU_S3C2412 7config CPU_S3C2412
8 bool 8 bool
9 depends on ARCH_S3C2410 9 depends on ARCH_S3C2410
10 select CPU_ARM926T
10 select CPU_LLSERIAL_S3C2440 11 select CPU_LLSERIAL_S3C2440
11 select S3C2412_PM if PM 12 select S3C2412_PM if PM
12 select S3C2412_DMA if S3C2410_DMA 13 select S3C2412_DMA if S3C2410_DMA
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig
index 25de042ab996..0429d255b0d8 100644
--- a/arch/arm/mach-s3c2440/Kconfig
+++ b/arch/arm/mach-s3c2440/Kconfig
@@ -7,6 +7,7 @@
7config CPU_S3C2440 7config CPU_S3C2440
8 bool 8 bool
9 depends on ARCH_S3C2410 9 depends on ARCH_S3C2410
10 select CPU_ARM920T
10 select S3C2410_CLOCK 11 select S3C2410_CLOCK
11 select S3C2410_PM if PM 12 select S3C2410_PM if PM
12 select S3C2410_GPIO 13 select S3C2410_GPIO
diff --git a/arch/arm/mach-s3c2442/Kconfig b/arch/arm/mach-s3c2442/Kconfig
index 26d131a77074..b289d198020e 100644
--- a/arch/arm/mach-s3c2442/Kconfig
+++ b/arch/arm/mach-s3c2442/Kconfig
@@ -7,6 +7,7 @@
7config CPU_S3C2442 7config CPU_S3C2442
8 bool 8 bool
9 depends on ARCH_S3C2410 9 depends on ARCH_S3C2410
10 select CPU_ARM920T
10 select S3C2410_CLOCK 11 select S3C2410_CLOCK
11 select S3C2410_GPIO 12 select S3C2410_GPIO
12 select S3C2410_PM if PM 13 select S3C2410_PM if PM
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
index 95096afd5271..c781f30c8368 100644
--- a/arch/arm/mach-versatile/Kconfig
+++ b/arch/arm/mach-versatile/Kconfig
@@ -3,12 +3,14 @@ menu "Versatile platform type"
3 3
4config ARCH_VERSATILE_PB 4config ARCH_VERSATILE_PB
5 bool "Support Versatile/PB platform" 5 bool "Support Versatile/PB platform"
6 select CPU_ARM926T
6 default y 7 default y
7 help 8 help
8 Include support for the ARM(R) Versatile/PB platform. 9 Include support for the ARM(R) Versatile/PB platform.
9 10
10config MACH_VERSATILE_AB 11config MACH_VERSATILE_AB
11 bool "Support Versatile/AB platform" 12 bool "Support Versatile/AB platform"
13 select CPU_ARM926T
12 help 14 help
13 Include support for the ARM(R) Versatile/AP platform. 15 Include support for the ARM(R) Versatile/AP platform.
14 16
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index ab5f7a21350b..cf44de512830 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -10,8 +10,7 @@ config CPU_32
10 10
11# ARM610 11# ARM610
12config CPU_ARM610 12config CPU_ARM610
13 bool "Support ARM610 processor" 13 bool "Support ARM610 processor" if ARCH_RPC
14 depends on ARCH_RPC
15 select CPU_32v3 14 select CPU_32v3
16 select CPU_CACHE_V3 15 select CPU_CACHE_V3
17 select CPU_CACHE_VIVT 16 select CPU_CACHE_VIVT
@@ -43,8 +42,7 @@ config CPU_ARM7TDMI
43 42
44# ARM710 43# ARM710
45config CPU_ARM710 44config CPU_ARM710
46 bool "Support ARM710 processor" if !ARCH_CLPS7500 && ARCH_RPC 45 bool "Support ARM710 processor" if ARCH_RPC
47 default y if ARCH_CLPS7500
48 select CPU_32v3 46 select CPU_32v3
49 select CPU_CACHE_V3 47 select CPU_CACHE_V3
50 select CPU_CACHE_VIVT 48 select CPU_CACHE_VIVT
@@ -63,8 +61,7 @@ config CPU_ARM710
63 61
64# ARM720T 62# ARM720T
65config CPU_ARM720T 63config CPU_ARM720T
66 bool "Support ARM720T processor" if !ARCH_CLPS711X && !ARCH_L7200 && !ARCH_CDB89712 && ARCH_INTEGRATOR 64 bool "Support ARM720T processor" if ARCH_INTEGRATOR
67 default y if ARCH_CLPS711X || ARCH_L7200 || ARCH_CDB89712 || ARCH_H720X
68 select CPU_32v4T 65 select CPU_32v4T
69 select CPU_ABRT_LV4T 66 select CPU_ABRT_LV4T
70 select CPU_PABRT_NOIFAR 67 select CPU_PABRT_NOIFAR
@@ -114,9 +111,7 @@ config CPU_ARM9TDMI
114 111
115# ARM920T 112# ARM920T
116config CPU_ARM920T 113config CPU_ARM920T
117 bool "Support ARM920T processor" 114 bool "Support ARM920T processor" if ARCH_INTEGRATOR
118 depends on ARCH_EP93XX || ARCH_INTEGRATOR || CPU_S3C2410 || CPU_S3C2440 || CPU_S3C2442 || ARCH_IMX || ARCH_AAEC2000 || ARCH_AT91RM9200
119 default y if CPU_S3C2410 || CPU_S3C2440 || CPU_S3C2442 || ARCH_AT91RM9200
120 select CPU_32v4T 115 select CPU_32v4T
121 select CPU_ABRT_EV4T 116 select CPU_ABRT_EV4T
122 select CPU_PABRT_NOIFAR 117 select CPU_PABRT_NOIFAR
@@ -138,8 +133,6 @@ config CPU_ARM920T
138# ARM922T 133# ARM922T
139config CPU_ARM922T 134config CPU_ARM922T
140 bool "Support ARM922T processor" if ARCH_INTEGRATOR 135 bool "Support ARM922T processor" if ARCH_INTEGRATOR
141 depends on ARCH_LH7A40X || ARCH_INTEGRATOR || ARCH_KS8695
142 default y if ARCH_LH7A40X || ARCH_KS8695
143 select CPU_32v4T 136 select CPU_32v4T
144 select CPU_ABRT_EV4T 137 select CPU_ABRT_EV4T
145 select CPU_PABRT_NOIFAR 138 select CPU_PABRT_NOIFAR
@@ -159,8 +152,6 @@ config CPU_ARM922T
159# ARM925T 152# ARM925T
160config CPU_ARM925T 153config CPU_ARM925T
161 bool "Support ARM925T processor" if ARCH_OMAP1 154 bool "Support ARM925T processor" if ARCH_OMAP1
162 depends on ARCH_OMAP15XX
163 default y if ARCH_OMAP15XX
164 select CPU_32v4T 155 select CPU_32v4T
165 select CPU_ABRT_EV4T 156 select CPU_ABRT_EV4T
166 select CPU_PABRT_NOIFAR 157 select CPU_PABRT_NOIFAR
@@ -179,22 +170,7 @@ config CPU_ARM925T
179 170
180# ARM926T 171# ARM926T
181config CPU_ARM926T 172config CPU_ARM926T
182 bool "Support ARM926T processor" 173 bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
183 depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || \
184 MACH_VERSATILE_AB || ARCH_OMAP730 || \
185 ARCH_OMAP16XX || MACH_REALVIEW_EB || \
186 ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || \
187 ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || \
188 ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || \
189 ARCH_AT91SAM9G20 || ARCH_AT91CAP9 || \
190 ARCH_NS9XXX || ARCH_DAVINCI || ARCH_MX2
191 default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || \
192 ARCH_OMAP730 || ARCH_OMAP16XX || \
193 ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || \
194 ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || \
195 ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || \
196 ARCH_AT91SAM9G20 || ARCH_AT91CAP9 || \
197 ARCH_NS9XXX || ARCH_DAVINCI || ARCH_MX2
198 select CPU_32v5 174 select CPU_32v5
199 select CPU_ABRT_EV5TJ 175 select CPU_ABRT_EV5TJ
200 select CPU_PABRT_NOIFAR 176 select CPU_PABRT_NOIFAR
@@ -247,8 +223,7 @@ config CPU_ARM946E
247 223
248# ARM1020 - needs validating 224# ARM1020 - needs validating
249config CPU_ARM1020 225config CPU_ARM1020
250 bool "Support ARM1020T (rev 0) processor" 226 bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR
251 depends on ARCH_INTEGRATOR
252 select CPU_32v5 227 select CPU_32v5
253 select CPU_ABRT_EV4T 228 select CPU_ABRT_EV4T
254 select CPU_PABRT_NOIFAR 229 select CPU_PABRT_NOIFAR
@@ -266,8 +241,7 @@ config CPU_ARM1020
266 241
267# ARM1020E - needs validating 242# ARM1020E - needs validating
268config CPU_ARM1020E 243config CPU_ARM1020E
269 bool "Support ARM1020E processor" 244 bool "Support ARM1020E processor" if ARCH_INTEGRATOR
270 depends on ARCH_INTEGRATOR
271 select CPU_32v5 245 select CPU_32v5
272 select CPU_ABRT_EV4T 246 select CPU_ABRT_EV4T
273 select CPU_PABRT_NOIFAR 247 select CPU_PABRT_NOIFAR
@@ -280,8 +254,7 @@ config CPU_ARM1020E
280 254
281# ARM1022E 255# ARM1022E
282config CPU_ARM1022 256config CPU_ARM1022
283 bool "Support ARM1022E processor" 257 bool "Support ARM1022E processor" if ARCH_INTEGRATOR
284 depends on ARCH_INTEGRATOR
285 select CPU_32v5 258 select CPU_32v5
286 select CPU_ABRT_EV4T 259 select CPU_ABRT_EV4T
287 select CPU_PABRT_NOIFAR 260 select CPU_PABRT_NOIFAR
@@ -299,8 +272,7 @@ config CPU_ARM1022
299 272
300# ARM1026EJ-S 273# ARM1026EJ-S
301config CPU_ARM1026 274config CPU_ARM1026
302 bool "Support ARM1026EJ-S processor" 275 bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR
303 depends on ARCH_INTEGRATOR
304 select CPU_32v5 276 select CPU_32v5
305 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 277 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
306 select CPU_PABRT_NOIFAR 278 select CPU_PABRT_NOIFAR
@@ -317,8 +289,7 @@ config CPU_ARM1026
317 289
318# SA110 290# SA110
319config CPU_SA110 291config CPU_SA110
320 bool "Support StrongARM(R) SA-110 processor" if !ARCH_EBSA110 && !FOOTBRIDGE && !ARCH_TBOX && !ARCH_SHARK && !ARCH_NEXUSPCI && ARCH_RPC 292 bool "Support StrongARM(R) SA-110 processor" if ARCH_RPC
321 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_TBOX || ARCH_SHARK || ARCH_NEXUSPCI
322 select CPU_32v3 if ARCH_RPC 293 select CPU_32v3 if ARCH_RPC
323 select CPU_32v4 if !ARCH_RPC 294 select CPU_32v4 if !ARCH_RPC
324 select CPU_ABRT_EV4 295 select CPU_ABRT_EV4
@@ -340,8 +311,6 @@ config CPU_SA110
340# SA1100 311# SA1100
341config CPU_SA1100 312config CPU_SA1100
342 bool 313 bool
343 depends on ARCH_SA1100
344 default y
345 select CPU_32v4 314 select CPU_32v4
346 select CPU_ABRT_EV4 315 select CPU_ABRT_EV4
347 select CPU_PABRT_NOIFAR 316 select CPU_PABRT_NOIFAR
@@ -353,8 +322,6 @@ config CPU_SA1100
353# XScale 322# XScale
354config CPU_XSCALE 323config CPU_XSCALE
355 bool 324 bool
356 depends on ARCH_IOP32X || ARCH_IOP33X || PXA25x || PXA27x || ARCH_IXP4XX || ARCH_IXP2000
357 default y
358 select CPU_32v5 325 select CPU_32v5
359 select CPU_ABRT_EV5T 326 select CPU_ABRT_EV5T
360 select CPU_PABRT_NOIFAR 327 select CPU_PABRT_NOIFAR
@@ -365,8 +332,6 @@ config CPU_XSCALE
365# XScale Core Version 3 332# XScale Core Version 3
366config CPU_XSC3 333config CPU_XSC3
367 bool 334 bool
368 depends on ARCH_IXP23XX || ARCH_IOP13XX || PXA3xx
369 default y
370 select CPU_32v5 335 select CPU_32v5
371 select CPU_ABRT_EV5T 336 select CPU_ABRT_EV5T
372 select CPU_PABRT_NOIFAR 337 select CPU_PABRT_NOIFAR
@@ -378,8 +343,6 @@ config CPU_XSC3
378# Feroceon 343# Feroceon
379config CPU_FEROCEON 344config CPU_FEROCEON
380 bool 345 bool
381 depends on ARCH_ORION5X || ARCH_LOKI || ARCH_KIRKWOOD || ARCH_MV78XX0
382 default y
383 select CPU_32v5 346 select CPU_32v5
384 select CPU_ABRT_EV5T 347 select CPU_ABRT_EV5T
385 select CPU_PABRT_NOIFAR 348 select CPU_PABRT_NOIFAR
@@ -399,10 +362,7 @@ config CPU_FEROCEON_OLD_ID
399 362
400# ARMv6 363# ARMv6
401config CPU_V6 364config CPU_V6
402 bool "Support ARM V6 processor" 365 bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
403 depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP2 || ARCH_MX3 || ARCH_MSM || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176
404 default y if ARCH_MX3
405 default y if ARCH_MSM
406 select CPU_32v6 366 select CPU_32v6
407 select CPU_ABRT_EV6 367 select CPU_ABRT_EV6
408 select CPU_PABRT_NOIFAR 368 select CPU_PABRT_NOIFAR
@@ -427,8 +387,7 @@ config CPU_32v6K
427 387
428# ARMv7 388# ARMv7
429config CPU_V7 389config CPU_V7
430 bool "Support ARM V7 processor" 390 bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB
431 depends on ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_OMAP3
432 select CPU_32v6K 391 select CPU_32v6K
433 select CPU_32v7 392 select CPU_32v7
434 select CPU_ABRT_EV7 393 select CPU_ABRT_EV7
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 7f36c825718d..f24803c1fb0b 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -896,7 +896,7 @@ void __init paging_init(struct meminfo *mi, struct machine_desc *mdesc)
896 * allocate the zero page. Note that we count on this going ok. 896 * allocate the zero page. Note that we count on this going ok.
897 */ 897 */
898 zero_page = alloc_bootmem_low_pages(PAGE_SIZE); 898 zero_page = alloc_bootmem_low_pages(PAGE_SIZE);
899 memzero(zero_page, PAGE_SIZE); 899 memset(zero_page, 0, PAGE_SIZE);
900 empty_zero_page = virt_to_page(zero_page); 900 empty_zero_page = virt_to_page(zero_page);
901 flush_dcache_page(empty_zero_page); 901 flush_dcache_page(empty_zero_page);
902} 902}
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index e0f19ab91163..2690146161ba 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -31,7 +31,7 @@ pgd_t *get_pgd_slow(struct mm_struct *mm)
31 if (!new_pgd) 31 if (!new_pgd)
32 goto no_pgd; 32 goto no_pgd;
33 33
34 memzero(new_pgd, FIRST_KERNEL_PGD_NR * sizeof(pgd_t)); 34 memset(new_pgd, 0, FIRST_KERNEL_PGD_NR * sizeof(pgd_t));
35 35
36 /* 36 /*
37 * Copy over the kernel and IO PGD entries 37 * Copy over the kernel and IO PGD entries
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index b2a7e3fad117..a1612958a59e 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -8,11 +8,13 @@ choice
8 8
9config ARCH_MX2 9config ARCH_MX2
10 bool "MX2-based" 10 bool "MX2-based"
11 select CPU_ARM926T
11 help 12 help
12 This enables support for systems based on the Freescale i.MX2 family 13 This enables support for systems based on the Freescale i.MX2 family
13 14
14config ARCH_MX3 15config ARCH_MX3
15 bool "MX3-based" 16 bool "MX3-based"
17 select CPU_V6
16 help 18 help
17 This enables support for systems based on the Freescale i.MX3 family 19 This enables support for systems based on the Freescale i.MX3 family
18 20
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index a94f0c44ebc8..46d3b0b9ce69 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -14,9 +14,11 @@ config ARCH_OMAP1
14 14
15config ARCH_OMAP2 15config ARCH_OMAP2
16 bool "TI OMAP2" 16 bool "TI OMAP2"
17 select CPU_V6
17 18
18config ARCH_OMAP3 19config ARCH_OMAP3
19 bool "TI OMAP3" 20 bool "TI OMAP3"
21 select CPU_V7
20 22
21endchoice 23endchoice
22 24