diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-02 19:20:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-02 19:20:43 -0400 |
commit | a037a79dceaf717409fbf42f4ad209b9c15f435c (patch) | |
tree | c30b5b033c74ab9470e875554bded16464bbdf9b /arch/arm/mm | |
parent | 90d5ffc729e92bffc0f84e2447e2e6dc280240a5 (diff) | |
parent | d25ef8b86e6a58f5476bf6e4a8da730b335f68fa (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits)
ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7
ARM: 5727/1: Pass IFSR register to do_PrefetchAbort()
ARM: 5740/1: fix valid_phys_addr_range() range check
ARM: 5739/1: ARM: allow empty ATAG_CORE
ARM: 5735/1: sa1111: CodingStyle cleanups
ARM: 5738/1: Correct TCM documentation
ARM: 5734/1: arm: fix compilation of entry-common.S for older CPUs
ARM: 5733/1: fix bcmring compile error
ARM: 5732/1: remove redundant include file
ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3
ARM: Ensure do_cache_op takes mmap_sem
ARM: Fix __cpuexit section mismatch warnings
ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcast
ARM: includecheck fix: mach-davinci, board-dm365-evm.c
ARM: Remove unused CONFIG SA1100_H3XXX
ARM: Fix warning: unused variable 'highmem'
ARM: Fix warning: #warning syscall migrate_pages not implemented
ARM: Fix SA11x0 clocksource warning
ARM: Fix SA1100 Neponset serial section mismatch
ARM: Fix SA1100 Assabet/Neponset PCMCIA section mismatch warnings
...
Diffstat (limited to 'arch/arm/mm')
32 files changed, 204 insertions, 59 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 8d43e58f9244..e993140edd88 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -17,7 +17,7 @@ config CPU_ARM610 | |||
17 | select CPU_CP15_MMU | 17 | select CPU_CP15_MMU |
18 | select CPU_COPY_V3 if MMU | 18 | select CPU_COPY_V3 if MMU |
19 | select CPU_TLB_V3 if MMU | 19 | select CPU_TLB_V3 if MMU |
20 | select CPU_PABRT_NOIFAR | 20 | select CPU_PABRT_LEGACY |
21 | help | 21 | help |
22 | The ARM610 is the successor to the ARM3 processor | 22 | The ARM610 is the successor to the ARM3 processor |
23 | and was produced by VLSI Technology Inc. | 23 | and was produced by VLSI Technology Inc. |
@@ -31,7 +31,7 @@ config CPU_ARM7TDMI | |||
31 | depends on !MMU | 31 | depends on !MMU |
32 | select CPU_32v4T | 32 | select CPU_32v4T |
33 | select CPU_ABRT_LV4T | 33 | select CPU_ABRT_LV4T |
34 | select CPU_PABRT_NOIFAR | 34 | select CPU_PABRT_LEGACY |
35 | select CPU_CACHE_V4 | 35 | select CPU_CACHE_V4 |
36 | help | 36 | help |
37 | A 32-bit RISC microprocessor based on the ARM7 processor core | 37 | A 32-bit RISC microprocessor based on the ARM7 processor core |
@@ -49,7 +49,7 @@ config CPU_ARM710 | |||
49 | select CPU_CP15_MMU | 49 | select CPU_CP15_MMU |
50 | select CPU_COPY_V3 if MMU | 50 | select CPU_COPY_V3 if MMU |
51 | select CPU_TLB_V3 if MMU | 51 | select CPU_TLB_V3 if MMU |
52 | select CPU_PABRT_NOIFAR | 52 | select CPU_PABRT_LEGACY |
53 | help | 53 | help |
54 | A 32-bit RISC microprocessor based on the ARM7 processor core | 54 | A 32-bit RISC microprocessor based on the ARM7 processor core |
55 | designed by Advanced RISC Machines Ltd. The ARM710 is the | 55 | designed by Advanced RISC Machines Ltd. The ARM710 is the |
@@ -64,7 +64,7 @@ config CPU_ARM720T | |||
64 | bool "Support ARM720T processor" if ARCH_INTEGRATOR | 64 | bool "Support ARM720T processor" if ARCH_INTEGRATOR |
65 | select CPU_32v4T | 65 | select CPU_32v4T |
66 | select CPU_ABRT_LV4T | 66 | select CPU_ABRT_LV4T |
67 | select CPU_PABRT_NOIFAR | 67 | select CPU_PABRT_LEGACY |
68 | select CPU_CACHE_V4 | 68 | select CPU_CACHE_V4 |
69 | select CPU_CACHE_VIVT | 69 | select CPU_CACHE_VIVT |
70 | select CPU_CP15_MMU | 70 | select CPU_CP15_MMU |
@@ -83,7 +83,7 @@ config CPU_ARM740T | |||
83 | depends on !MMU | 83 | depends on !MMU |
84 | select CPU_32v4T | 84 | select CPU_32v4T |
85 | select CPU_ABRT_LV4T | 85 | select CPU_ABRT_LV4T |
86 | select CPU_PABRT_NOIFAR | 86 | select CPU_PABRT_LEGACY |
87 | select CPU_CACHE_V3 # although the core is v4t | 87 | select CPU_CACHE_V3 # although the core is v4t |
88 | select CPU_CP15_MPU | 88 | select CPU_CP15_MPU |
89 | help | 89 | help |
@@ -100,7 +100,7 @@ config CPU_ARM9TDMI | |||
100 | depends on !MMU | 100 | depends on !MMU |
101 | select CPU_32v4T | 101 | select CPU_32v4T |
102 | select CPU_ABRT_NOMMU | 102 | select CPU_ABRT_NOMMU |
103 | select CPU_PABRT_NOIFAR | 103 | select CPU_PABRT_LEGACY |
104 | select CPU_CACHE_V4 | 104 | select CPU_CACHE_V4 |
105 | help | 105 | help |
106 | A 32-bit RISC microprocessor based on the ARM9 processor core | 106 | A 32-bit RISC microprocessor based on the ARM9 processor core |
@@ -114,7 +114,7 @@ config CPU_ARM920T | |||
114 | bool "Support ARM920T processor" if ARCH_INTEGRATOR | 114 | bool "Support ARM920T processor" if ARCH_INTEGRATOR |
115 | select CPU_32v4T | 115 | select CPU_32v4T |
116 | select CPU_ABRT_EV4T | 116 | select CPU_ABRT_EV4T |
117 | select CPU_PABRT_NOIFAR | 117 | select CPU_PABRT_LEGACY |
118 | select CPU_CACHE_V4WT | 118 | select CPU_CACHE_V4WT |
119 | select CPU_CACHE_VIVT | 119 | select CPU_CACHE_VIVT |
120 | select CPU_CP15_MMU | 120 | select CPU_CP15_MMU |
@@ -135,7 +135,7 @@ config CPU_ARM922T | |||
135 | bool "Support ARM922T processor" if ARCH_INTEGRATOR | 135 | bool "Support ARM922T processor" if ARCH_INTEGRATOR |
136 | select CPU_32v4T | 136 | select CPU_32v4T |
137 | select CPU_ABRT_EV4T | 137 | select CPU_ABRT_EV4T |
138 | select CPU_PABRT_NOIFAR | 138 | select CPU_PABRT_LEGACY |
139 | select CPU_CACHE_V4WT | 139 | select CPU_CACHE_V4WT |
140 | select CPU_CACHE_VIVT | 140 | select CPU_CACHE_VIVT |
141 | select CPU_CP15_MMU | 141 | select CPU_CP15_MMU |
@@ -154,7 +154,7 @@ config CPU_ARM925T | |||
154 | bool "Support ARM925T processor" if ARCH_OMAP1 | 154 | bool "Support ARM925T processor" if ARCH_OMAP1 |
155 | select CPU_32v4T | 155 | select CPU_32v4T |
156 | select CPU_ABRT_EV4T | 156 | select CPU_ABRT_EV4T |
157 | select CPU_PABRT_NOIFAR | 157 | select CPU_PABRT_LEGACY |
158 | select CPU_CACHE_V4WT | 158 | select CPU_CACHE_V4WT |
159 | select CPU_CACHE_VIVT | 159 | select CPU_CACHE_VIVT |
160 | select CPU_CP15_MMU | 160 | select CPU_CP15_MMU |
@@ -173,7 +173,7 @@ config CPU_ARM926T | |||
173 | bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB | 173 | bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB |
174 | select CPU_32v5 | 174 | select CPU_32v5 |
175 | select CPU_ABRT_EV5TJ | 175 | select CPU_ABRT_EV5TJ |
176 | select CPU_PABRT_NOIFAR | 176 | select CPU_PABRT_LEGACY |
177 | select CPU_CACHE_VIVT | 177 | select CPU_CACHE_VIVT |
178 | select CPU_CP15_MMU | 178 | select CPU_CP15_MMU |
179 | select CPU_COPY_V4WB if MMU | 179 | select CPU_COPY_V4WB if MMU |
@@ -191,7 +191,7 @@ config CPU_FA526 | |||
191 | bool | 191 | bool |
192 | select CPU_32v4 | 192 | select CPU_32v4 |
193 | select CPU_ABRT_EV4 | 193 | select CPU_ABRT_EV4 |
194 | select CPU_PABRT_NOIFAR | 194 | select CPU_PABRT_LEGACY |
195 | select CPU_CACHE_VIVT | 195 | select CPU_CACHE_VIVT |
196 | select CPU_CP15_MMU | 196 | select CPU_CP15_MMU |
197 | select CPU_CACHE_FA | 197 | select CPU_CACHE_FA |
@@ -210,7 +210,7 @@ config CPU_ARM940T | |||
210 | depends on !MMU | 210 | depends on !MMU |
211 | select CPU_32v4T | 211 | select CPU_32v4T |
212 | select CPU_ABRT_NOMMU | 212 | select CPU_ABRT_NOMMU |
213 | select CPU_PABRT_NOIFAR | 213 | select CPU_PABRT_LEGACY |
214 | select CPU_CACHE_VIVT | 214 | select CPU_CACHE_VIVT |
215 | select CPU_CP15_MPU | 215 | select CPU_CP15_MPU |
216 | help | 216 | help |
@@ -228,7 +228,7 @@ config CPU_ARM946E | |||
228 | depends on !MMU | 228 | depends on !MMU |
229 | select CPU_32v5 | 229 | select CPU_32v5 |
230 | select CPU_ABRT_NOMMU | 230 | select CPU_ABRT_NOMMU |
231 | select CPU_PABRT_NOIFAR | 231 | select CPU_PABRT_LEGACY |
232 | select CPU_CACHE_VIVT | 232 | select CPU_CACHE_VIVT |
233 | select CPU_CP15_MPU | 233 | select CPU_CP15_MPU |
234 | help | 234 | help |
@@ -244,7 +244,7 @@ config CPU_ARM1020 | |||
244 | bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR | 244 | bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR |
245 | select CPU_32v5 | 245 | select CPU_32v5 |
246 | select CPU_ABRT_EV4T | 246 | select CPU_ABRT_EV4T |
247 | select CPU_PABRT_NOIFAR | 247 | select CPU_PABRT_LEGACY |
248 | select CPU_CACHE_V4WT | 248 | select CPU_CACHE_V4WT |
249 | select CPU_CACHE_VIVT | 249 | select CPU_CACHE_VIVT |
250 | select CPU_CP15_MMU | 250 | select CPU_CP15_MMU |
@@ -262,7 +262,7 @@ config CPU_ARM1020E | |||
262 | bool "Support ARM1020E processor" if ARCH_INTEGRATOR | 262 | bool "Support ARM1020E processor" if ARCH_INTEGRATOR |
263 | select CPU_32v5 | 263 | select CPU_32v5 |
264 | select CPU_ABRT_EV4T | 264 | select CPU_ABRT_EV4T |
265 | select CPU_PABRT_NOIFAR | 265 | select CPU_PABRT_LEGACY |
266 | select CPU_CACHE_V4WT | 266 | select CPU_CACHE_V4WT |
267 | select CPU_CACHE_VIVT | 267 | select CPU_CACHE_VIVT |
268 | select CPU_CP15_MMU | 268 | select CPU_CP15_MMU |
@@ -275,7 +275,7 @@ config CPU_ARM1022 | |||
275 | bool "Support ARM1022E processor" if ARCH_INTEGRATOR | 275 | bool "Support ARM1022E processor" if ARCH_INTEGRATOR |
276 | select CPU_32v5 | 276 | select CPU_32v5 |
277 | select CPU_ABRT_EV4T | 277 | select CPU_ABRT_EV4T |
278 | select CPU_PABRT_NOIFAR | 278 | select CPU_PABRT_LEGACY |
279 | select CPU_CACHE_VIVT | 279 | select CPU_CACHE_VIVT |
280 | select CPU_CP15_MMU | 280 | select CPU_CP15_MMU |
281 | select CPU_COPY_V4WB if MMU # can probably do better | 281 | select CPU_COPY_V4WB if MMU # can probably do better |
@@ -293,7 +293,7 @@ config CPU_ARM1026 | |||
293 | bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR | 293 | bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR |
294 | select CPU_32v5 | 294 | select CPU_32v5 |
295 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 | 295 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 |
296 | select CPU_PABRT_NOIFAR | 296 | select CPU_PABRT_LEGACY |
297 | select CPU_CACHE_VIVT | 297 | select CPU_CACHE_VIVT |
298 | select CPU_CP15_MMU | 298 | select CPU_CP15_MMU |
299 | select CPU_COPY_V4WB if MMU # can probably do better | 299 | select CPU_COPY_V4WB if MMU # can probably do better |
@@ -311,7 +311,7 @@ config CPU_SA110 | |||
311 | select CPU_32v3 if ARCH_RPC | 311 | select CPU_32v3 if ARCH_RPC |
312 | select CPU_32v4 if !ARCH_RPC | 312 | select CPU_32v4 if !ARCH_RPC |
313 | select CPU_ABRT_EV4 | 313 | select CPU_ABRT_EV4 |
314 | select CPU_PABRT_NOIFAR | 314 | select CPU_PABRT_LEGACY |
315 | select CPU_CACHE_V4WB | 315 | select CPU_CACHE_V4WB |
316 | select CPU_CACHE_VIVT | 316 | select CPU_CACHE_VIVT |
317 | select CPU_CP15_MMU | 317 | select CPU_CP15_MMU |
@@ -331,7 +331,7 @@ config CPU_SA1100 | |||
331 | bool | 331 | bool |
332 | select CPU_32v4 | 332 | select CPU_32v4 |
333 | select CPU_ABRT_EV4 | 333 | select CPU_ABRT_EV4 |
334 | select CPU_PABRT_NOIFAR | 334 | select CPU_PABRT_LEGACY |
335 | select CPU_CACHE_V4WB | 335 | select CPU_CACHE_V4WB |
336 | select CPU_CACHE_VIVT | 336 | select CPU_CACHE_VIVT |
337 | select CPU_CP15_MMU | 337 | select CPU_CP15_MMU |
@@ -342,7 +342,7 @@ config CPU_XSCALE | |||
342 | bool | 342 | bool |
343 | select CPU_32v5 | 343 | select CPU_32v5 |
344 | select CPU_ABRT_EV5T | 344 | select CPU_ABRT_EV5T |
345 | select CPU_PABRT_NOIFAR | 345 | select CPU_PABRT_LEGACY |
346 | select CPU_CACHE_VIVT | 346 | select CPU_CACHE_VIVT |
347 | select CPU_CP15_MMU | 347 | select CPU_CP15_MMU |
348 | select CPU_TLB_V4WBI if MMU | 348 | select CPU_TLB_V4WBI if MMU |
@@ -352,7 +352,7 @@ config CPU_XSC3 | |||
352 | bool | 352 | bool |
353 | select CPU_32v5 | 353 | select CPU_32v5 |
354 | select CPU_ABRT_EV5T | 354 | select CPU_ABRT_EV5T |
355 | select CPU_PABRT_NOIFAR | 355 | select CPU_PABRT_LEGACY |
356 | select CPU_CACHE_VIVT | 356 | select CPU_CACHE_VIVT |
357 | select CPU_CP15_MMU | 357 | select CPU_CP15_MMU |
358 | select CPU_TLB_V4WBI if MMU | 358 | select CPU_TLB_V4WBI if MMU |
@@ -363,7 +363,7 @@ config CPU_MOHAWK | |||
363 | bool | 363 | bool |
364 | select CPU_32v5 | 364 | select CPU_32v5 |
365 | select CPU_ABRT_EV5T | 365 | select CPU_ABRT_EV5T |
366 | select CPU_PABRT_NOIFAR | 366 | select CPU_PABRT_LEGACY |
367 | select CPU_CACHE_VIVT | 367 | select CPU_CACHE_VIVT |
368 | select CPU_CP15_MMU | 368 | select CPU_CP15_MMU |
369 | select CPU_TLB_V4WBI if MMU | 369 | select CPU_TLB_V4WBI if MMU |
@@ -374,7 +374,7 @@ config CPU_FEROCEON | |||
374 | bool | 374 | bool |
375 | select CPU_32v5 | 375 | select CPU_32v5 |
376 | select CPU_ABRT_EV5T | 376 | select CPU_ABRT_EV5T |
377 | select CPU_PABRT_NOIFAR | 377 | select CPU_PABRT_LEGACY |
378 | select CPU_CACHE_VIVT | 378 | select CPU_CACHE_VIVT |
379 | select CPU_CP15_MMU | 379 | select CPU_CP15_MMU |
380 | select CPU_COPY_FEROCEON if MMU | 380 | select CPU_COPY_FEROCEON if MMU |
@@ -394,7 +394,7 @@ config CPU_V6 | |||
394 | bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX | 394 | bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX |
395 | select CPU_32v6 | 395 | select CPU_32v6 |
396 | select CPU_ABRT_EV6 | 396 | select CPU_ABRT_EV6 |
397 | select CPU_PABRT_NOIFAR | 397 | select CPU_PABRT_V6 |
398 | select CPU_CACHE_V6 | 398 | select CPU_CACHE_V6 |
399 | select CPU_CACHE_VIPT | 399 | select CPU_CACHE_VIPT |
400 | select CPU_CP15_MMU | 400 | select CPU_CP15_MMU |
@@ -420,7 +420,7 @@ config CPU_V7 | |||
420 | select CPU_32v6K | 420 | select CPU_32v6K |
421 | select CPU_32v7 | 421 | select CPU_32v7 |
422 | select CPU_ABRT_EV7 | 422 | select CPU_ABRT_EV7 |
423 | select CPU_PABRT_IFAR | 423 | select CPU_PABRT_V7 |
424 | select CPU_CACHE_V7 | 424 | select CPU_CACHE_V7 |
425 | select CPU_CACHE_VIPT | 425 | select CPU_CACHE_VIPT |
426 | select CPU_CP15_MMU | 426 | select CPU_CP15_MMU |
@@ -482,10 +482,13 @@ config CPU_ABRT_EV6 | |||
482 | config CPU_ABRT_EV7 | 482 | config CPU_ABRT_EV7 |
483 | bool | 483 | bool |
484 | 484 | ||
485 | config CPU_PABRT_IFAR | 485 | config CPU_PABRT_LEGACY |
486 | bool | 486 | bool |
487 | 487 | ||
488 | config CPU_PABRT_NOIFAR | 488 | config CPU_PABRT_V6 |
489 | bool | ||
490 | |||
491 | config CPU_PABRT_V7 | ||
489 | bool | 492 | bool |
490 | 493 | ||
491 | # The cache model | 494 | # The cache model |
diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile index 63e3f6dd0e21..055cb2aa8134 100644 --- a/arch/arm/mm/Makefile +++ b/arch/arm/mm/Makefile | |||
@@ -27,6 +27,10 @@ obj-$(CONFIG_CPU_ABRT_EV5TJ) += abort-ev5tj.o | |||
27 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o | 27 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o |
28 | obj-$(CONFIG_CPU_ABRT_EV7) += abort-ev7.o | 28 | obj-$(CONFIG_CPU_ABRT_EV7) += abort-ev7.o |
29 | 29 | ||
30 | obj-$(CONFIG_CPU_PABRT_LEGACY) += pabort-legacy.o | ||
31 | obj-$(CONFIG_CPU_PABRT_V6) += pabort-v6.o | ||
32 | obj-$(CONFIG_CPU_PABRT_V7) += pabort-v7.o | ||
33 | |||
30 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o | 34 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o |
31 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o | 35 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o |
32 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o | 36 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o |
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 379f78556055..ae0e25f5a70e 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c | |||
@@ -519,9 +519,58 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
519 | arm_notify_die("", regs, &info, fsr, 0); | 519 | arm_notify_die("", regs, &info, fsr, 0); |
520 | } | 520 | } |
521 | 521 | ||
522 | |||
523 | static struct fsr_info ifsr_info[] = { | ||
524 | { do_bad, SIGBUS, 0, "unknown 0" }, | ||
525 | { do_bad, SIGBUS, 0, "unknown 1" }, | ||
526 | { do_bad, SIGBUS, 0, "debug event" }, | ||
527 | { do_bad, SIGSEGV, SEGV_ACCERR, "section access flag fault" }, | ||
528 | { do_bad, SIGBUS, 0, "unknown 4" }, | ||
529 | { do_translation_fault, SIGSEGV, SEGV_MAPERR, "section translation fault" }, | ||
530 | { do_bad, SIGSEGV, SEGV_ACCERR, "page access flag fault" }, | ||
531 | { do_page_fault, SIGSEGV, SEGV_MAPERR, "page translation fault" }, | ||
532 | { do_bad, SIGBUS, 0, "external abort on non-linefetch" }, | ||
533 | { do_bad, SIGSEGV, SEGV_ACCERR, "section domain fault" }, | ||
534 | { do_bad, SIGBUS, 0, "unknown 10" }, | ||
535 | { do_bad, SIGSEGV, SEGV_ACCERR, "page domain fault" }, | ||
536 | { do_bad, SIGBUS, 0, "external abort on translation" }, | ||
537 | { do_sect_fault, SIGSEGV, SEGV_ACCERR, "section permission fault" }, | ||
538 | { do_bad, SIGBUS, 0, "external abort on translation" }, | ||
539 | { do_page_fault, SIGSEGV, SEGV_ACCERR, "page permission fault" }, | ||
540 | { do_bad, SIGBUS, 0, "unknown 16" }, | ||
541 | { do_bad, SIGBUS, 0, "unknown 17" }, | ||
542 | { do_bad, SIGBUS, 0, "unknown 18" }, | ||
543 | { do_bad, SIGBUS, 0, "unknown 19" }, | ||
544 | { do_bad, SIGBUS, 0, "unknown 20" }, | ||
545 | { do_bad, SIGBUS, 0, "unknown 21" }, | ||
546 | { do_bad, SIGBUS, 0, "unknown 22" }, | ||
547 | { do_bad, SIGBUS, 0, "unknown 23" }, | ||
548 | { do_bad, SIGBUS, 0, "unknown 24" }, | ||
549 | { do_bad, SIGBUS, 0, "unknown 25" }, | ||
550 | { do_bad, SIGBUS, 0, "unknown 26" }, | ||
551 | { do_bad, SIGBUS, 0, "unknown 27" }, | ||
552 | { do_bad, SIGBUS, 0, "unknown 28" }, | ||
553 | { do_bad, SIGBUS, 0, "unknown 29" }, | ||
554 | { do_bad, SIGBUS, 0, "unknown 30" }, | ||
555 | { do_bad, SIGBUS, 0, "unknown 31" }, | ||
556 | }; | ||
557 | |||
522 | asmlinkage void __exception | 558 | asmlinkage void __exception |
523 | do_PrefetchAbort(unsigned long addr, struct pt_regs *regs) | 559 | do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs) |
524 | { | 560 | { |
525 | do_translation_fault(addr, FSR_LNX_PF, regs); | 561 | const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr); |
562 | struct siginfo info; | ||
563 | |||
564 | if (!inf->fn(addr, ifsr | FSR_LNX_PF, regs)) | ||
565 | return; | ||
566 | |||
567 | printk(KERN_ALERT "Unhandled prefetch abort: %s (0x%03x) at 0x%08lx\n", | ||
568 | inf->name, ifsr, addr); | ||
569 | |||
570 | info.si_signo = inf->sig; | ||
571 | info.si_errno = 0; | ||
572 | info.si_code = inf->code; | ||
573 | info.si_addr = (void __user *)addr; | ||
574 | arm_notify_die("", regs, &info, ifsr, 0); | ||
526 | } | 575 | } |
527 | 576 | ||
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index f7457fea6de8..2b7996401b0f 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c | |||
@@ -124,7 +124,7 @@ int valid_phys_addr_range(unsigned long addr, size_t size) | |||
124 | { | 124 | { |
125 | if (addr < PHYS_OFFSET) | 125 | if (addr < PHYS_OFFSET) |
126 | return 0; | 126 | return 0; |
127 | if (addr + size >= __pa(high_memory - 1)) | 127 | if (addr + size > __pa(high_memory - 1) + 1) |
128 | return 0; | 128 | return 0; |
129 | 129 | ||
130 | return 1; | 130 | return 1; |
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 4426ee67ceca..02243eeccf50 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/cachetype.h> | 21 | #include <asm/cachetype.h> |
22 | #include <asm/setup.h> | 22 | #include <asm/setup.h> |
23 | #include <asm/sizes.h> | 23 | #include <asm/sizes.h> |
24 | #include <asm/smp_plat.h> | ||
24 | #include <asm/tlb.h> | 25 | #include <asm/tlb.h> |
25 | #include <asm/highmem.h> | 26 | #include <asm/highmem.h> |
26 | 27 | ||
@@ -709,10 +710,6 @@ static void __init sanity_check_meminfo(void) | |||
709 | if (meminfo.nr_banks >= NR_BANKS) { | 710 | if (meminfo.nr_banks >= NR_BANKS) { |
710 | printk(KERN_CRIT "NR_BANKS too low, " | 711 | printk(KERN_CRIT "NR_BANKS too low, " |
711 | "ignoring high memory\n"); | 712 | "ignoring high memory\n"); |
712 | } else if (cache_is_vipt_aliasing()) { | ||
713 | printk(KERN_CRIT "HIGHMEM is not yet supported " | ||
714 | "with VIPT aliasing cache, " | ||
715 | "ignoring high memory\n"); | ||
716 | } else { | 713 | } else { |
717 | memmove(bank + 1, bank, | 714 | memmove(bank + 1, bank, |
718 | (meminfo.nr_banks - i) * sizeof(*bank)); | 715 | (meminfo.nr_banks - i) * sizeof(*bank)); |
@@ -726,6 +723,8 @@ static void __init sanity_check_meminfo(void) | |||
726 | bank->size = VMALLOC_MIN - __va(bank->start); | 723 | bank->size = VMALLOC_MIN - __va(bank->start); |
727 | } | 724 | } |
728 | #else | 725 | #else |
726 | bank->highmem = highmem; | ||
727 | |||
729 | /* | 728 | /* |
730 | * Check whether this memory bank would entirely overlap | 729 | * Check whether this memory bank would entirely overlap |
731 | * the vmalloc area. | 730 | * the vmalloc area. |
@@ -754,6 +753,38 @@ static void __init sanity_check_meminfo(void) | |||
754 | #endif | 753 | #endif |
755 | j++; | 754 | j++; |
756 | } | 755 | } |
756 | #ifdef CONFIG_HIGHMEM | ||
757 | if (highmem) { | ||
758 | const char *reason = NULL; | ||
759 | |||
760 | if (cache_is_vipt_aliasing()) { | ||
761 | /* | ||
762 | * Interactions between kmap and other mappings | ||
763 | * make highmem support with aliasing VIPT caches | ||
764 | * rather difficult. | ||
765 | */ | ||
766 | reason = "with VIPT aliasing cache"; | ||
767 | #ifdef CONFIG_SMP | ||
768 | } else if (tlb_ops_need_broadcast()) { | ||
769 | /* | ||
770 | * kmap_high needs to occasionally flush TLB entries, | ||
771 | * however, if the TLB entries need to be broadcast | ||
772 | * we may deadlock: | ||
773 | * kmap_high(irqs off)->flush_all_zero_pkmaps-> | ||
774 | * flush_tlb_kernel_range->smp_call_function_many | ||
775 | * (must not be called with irqs off) | ||
776 | */ | ||
777 | reason = "without hardware TLB ops broadcasting"; | ||
778 | #endif | ||
779 | } | ||
780 | if (reason) { | ||
781 | printk(KERN_CRIT "HIGHMEM is not supported %s, ignoring high memory\n", | ||
782 | reason); | ||
783 | while (j > 0 && meminfo.bank[j - 1].highmem) | ||
784 | j--; | ||
785 | } | ||
786 | } | ||
787 | #endif | ||
757 | meminfo.nr_banks = j; | 788 | meminfo.nr_banks = j; |
758 | } | 789 | } |
759 | 790 | ||
diff --git a/arch/arm/mm/pabort-legacy.S b/arch/arm/mm/pabort-legacy.S new file mode 100644 index 000000000000..87970eba88ea --- /dev/null +++ b/arch/arm/mm/pabort-legacy.S | |||
@@ -0,0 +1,19 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: legacy_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = Simulated IFSR with section translation fault status | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(legacy_pabort) | ||
17 | mov r1, #5 | ||
18 | mov pc, lr | ||
19 | ENDPROC(legacy_pabort) | ||
diff --git a/arch/arm/mm/pabort-v6.S b/arch/arm/mm/pabort-v6.S new file mode 100644 index 000000000000..06e3d1ef2115 --- /dev/null +++ b/arch/arm/mm/pabort-v6.S | |||
@@ -0,0 +1,19 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: v6_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = IFSR | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(v6_pabort) | ||
17 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR | ||
18 | mov pc, lr | ||
19 | ENDPROC(v6_pabort) | ||
diff --git a/arch/arm/mm/pabort-v7.S b/arch/arm/mm/pabort-v7.S new file mode 100644 index 000000000000..a8b3b300a18d --- /dev/null +++ b/arch/arm/mm/pabort-v7.S | |||
@@ -0,0 +1,20 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: v6_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = IFSR | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(v7_pabort) | ||
17 | mrc p15, 0, r0, c6, c0, 2 @ get IFAR | ||
18 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR | ||
19 | mov pc, lr | ||
20 | ENDPROC(v7_pabort) | ||
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S index b5551bf010aa..d9fb4b98c49f 100644 --- a/arch/arm/mm/proc-arm1020.S +++ b/arch/arm/mm/proc-arm1020.S | |||
@@ -449,7 +449,7 @@ arm1020_crval: | |||
449 | .type arm1020_processor_functions, #object | 449 | .type arm1020_processor_functions, #object |
450 | arm1020_processor_functions: | 450 | arm1020_processor_functions: |
451 | .word v4t_early_abort | 451 | .word v4t_early_abort |
452 | .word pabort_noifar | 452 | .word legacy_pabort |
453 | .word cpu_arm1020_proc_init | 453 | .word cpu_arm1020_proc_init |
454 | .word cpu_arm1020_proc_fin | 454 | .word cpu_arm1020_proc_fin |
455 | .word cpu_arm1020_reset | 455 | .word cpu_arm1020_reset |
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index 8bc6740c29eb..7453b75dcea5 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -430,7 +430,7 @@ arm1020e_crval: | |||
430 | .type arm1020e_processor_functions, #object | 430 | .type arm1020e_processor_functions, #object |
431 | arm1020e_processor_functions: | 431 | arm1020e_processor_functions: |
432 | .word v4t_early_abort | 432 | .word v4t_early_abort |
433 | .word pabort_noifar | 433 | .word legacy_pabort |
434 | .word cpu_arm1020e_proc_init | 434 | .word cpu_arm1020e_proc_init |
435 | .word cpu_arm1020e_proc_fin | 435 | .word cpu_arm1020e_proc_fin |
436 | .word cpu_arm1020e_reset | 436 | .word cpu_arm1020e_reset |
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index 2cd03e66c0a3..8eb72d75a8b6 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -413,7 +413,7 @@ arm1022_crval: | |||
413 | .type arm1022_processor_functions, #object | 413 | .type arm1022_processor_functions, #object |
414 | arm1022_processor_functions: | 414 | arm1022_processor_functions: |
415 | .word v4t_early_abort | 415 | .word v4t_early_abort |
416 | .word pabort_noifar | 416 | .word legacy_pabort |
417 | .word cpu_arm1022_proc_init | 417 | .word cpu_arm1022_proc_init |
418 | .word cpu_arm1022_proc_fin | 418 | .word cpu_arm1022_proc_fin |
419 | .word cpu_arm1022_reset | 419 | .word cpu_arm1022_reset |
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S index ad961a897f6e..3b59f0d67139 100644 --- a/arch/arm/mm/proc-arm1026.S +++ b/arch/arm/mm/proc-arm1026.S | |||
@@ -408,7 +408,7 @@ arm1026_crval: | |||
408 | .type arm1026_processor_functions, #object | 408 | .type arm1026_processor_functions, #object |
409 | arm1026_processor_functions: | 409 | arm1026_processor_functions: |
410 | .word v5t_early_abort | 410 | .word v5t_early_abort |
411 | .word pabort_noifar | 411 | .word legacy_pabort |
412 | .word cpu_arm1026_proc_init | 412 | .word cpu_arm1026_proc_init |
413 | .word cpu_arm1026_proc_fin | 413 | .word cpu_arm1026_proc_fin |
414 | .word cpu_arm1026_reset | 414 | .word cpu_arm1026_reset |
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index 80d6e1de069a..3f9cd3d8f6d5 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -278,7 +278,7 @@ __arm7_setup: mov r0, #0 | |||
278 | .type arm6_processor_functions, #object | 278 | .type arm6_processor_functions, #object |
279 | ENTRY(arm6_processor_functions) | 279 | ENTRY(arm6_processor_functions) |
280 | .word cpu_arm6_data_abort | 280 | .word cpu_arm6_data_abort |
281 | .word pabort_noifar | 281 | .word legacy_pabort |
282 | .word cpu_arm6_proc_init | 282 | .word cpu_arm6_proc_init |
283 | .word cpu_arm6_proc_fin | 283 | .word cpu_arm6_proc_fin |
284 | .word cpu_arm6_reset | 284 | .word cpu_arm6_reset |
@@ -295,7 +295,7 @@ ENTRY(arm6_processor_functions) | |||
295 | .type arm7_processor_functions, #object | 295 | .type arm7_processor_functions, #object |
296 | ENTRY(arm7_processor_functions) | 296 | ENTRY(arm7_processor_functions) |
297 | .word cpu_arm7_data_abort | 297 | .word cpu_arm7_data_abort |
298 | .word pabort_noifar | 298 | .word legacy_pabort |
299 | .word cpu_arm7_proc_init | 299 | .word cpu_arm7_proc_init |
300 | .word cpu_arm7_proc_fin | 300 | .word cpu_arm7_proc_fin |
301 | .word cpu_arm7_reset | 301 | .word cpu_arm7_reset |
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S index 85ae18695f10..0b62de244666 100644 --- a/arch/arm/mm/proc-arm720.S +++ b/arch/arm/mm/proc-arm720.S | |||
@@ -181,7 +181,7 @@ arm720_crval: | |||
181 | .type arm720_processor_functions, #object | 181 | .type arm720_processor_functions, #object |
182 | ENTRY(arm720_processor_functions) | 182 | ENTRY(arm720_processor_functions) |
183 | .word v4t_late_abort | 183 | .word v4t_late_abort |
184 | .word pabort_noifar | 184 | .word legacy_pabort |
185 | .word cpu_arm720_proc_init | 185 | .word cpu_arm720_proc_init |
186 | .word cpu_arm720_proc_fin | 186 | .word cpu_arm720_proc_fin |
187 | .word cpu_arm720_reset | 187 | .word cpu_arm720_reset |
diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S index 4f95bee63e95..01860cdeb2ec 100644 --- a/arch/arm/mm/proc-arm740.S +++ b/arch/arm/mm/proc-arm740.S | |||
@@ -126,7 +126,7 @@ __arm740_setup: | |||
126 | .type arm740_processor_functions, #object | 126 | .type arm740_processor_functions, #object |
127 | ENTRY(arm740_processor_functions) | 127 | ENTRY(arm740_processor_functions) |
128 | .word v4t_late_abort | 128 | .word v4t_late_abort |
129 | .word pabort_noifar | 129 | .word legacy_pabort |
130 | .word cpu_arm740_proc_init | 130 | .word cpu_arm740_proc_init |
131 | .word cpu_arm740_proc_fin | 131 | .word cpu_arm740_proc_fin |
132 | .word cpu_arm740_reset | 132 | .word cpu_arm740_reset |
diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S index 93e05fa7bed4..1201b9863829 100644 --- a/arch/arm/mm/proc-arm7tdmi.S +++ b/arch/arm/mm/proc-arm7tdmi.S | |||
@@ -64,7 +64,7 @@ __arm7tdmi_setup: | |||
64 | .type arm7tdmi_processor_functions, #object | 64 | .type arm7tdmi_processor_functions, #object |
65 | ENTRY(arm7tdmi_processor_functions) | 65 | ENTRY(arm7tdmi_processor_functions) |
66 | .word v4t_late_abort | 66 | .word v4t_late_abort |
67 | .word pabort_noifar | 67 | .word legacy_pabort |
68 | .word cpu_arm7tdmi_proc_init | 68 | .word cpu_arm7tdmi_proc_init |
69 | .word cpu_arm7tdmi_proc_fin | 69 | .word cpu_arm7tdmi_proc_fin |
70 | .word cpu_arm7tdmi_reset | 70 | .word cpu_arm7tdmi_reset |
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index 914d688394fc..2b7c197cc58d 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -395,7 +395,7 @@ arm920_crval: | |||
395 | .type arm920_processor_functions, #object | 395 | .type arm920_processor_functions, #object |
396 | arm920_processor_functions: | 396 | arm920_processor_functions: |
397 | .word v4t_early_abort | 397 | .word v4t_early_abort |
398 | .word pabort_noifar | 398 | .word legacy_pabort |
399 | .word cpu_arm920_proc_init | 399 | .word cpu_arm920_proc_init |
400 | .word cpu_arm920_proc_fin | 400 | .word cpu_arm920_proc_fin |
401 | .word cpu_arm920_reset | 401 | .word cpu_arm920_reset |
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S index 51c9c9859e58..06a1aa4e3398 100644 --- a/arch/arm/mm/proc-arm922.S +++ b/arch/arm/mm/proc-arm922.S | |||
@@ -399,7 +399,7 @@ arm922_crval: | |||
399 | .type arm922_processor_functions, #object | 399 | .type arm922_processor_functions, #object |
400 | arm922_processor_functions: | 400 | arm922_processor_functions: |
401 | .word v4t_early_abort | 401 | .word v4t_early_abort |
402 | .word pabort_noifar | 402 | .word legacy_pabort |
403 | .word cpu_arm922_proc_init | 403 | .word cpu_arm922_proc_init |
404 | .word cpu_arm922_proc_fin | 404 | .word cpu_arm922_proc_fin |
405 | .word cpu_arm922_reset | 405 | .word cpu_arm922_reset |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 2724526d89c1..cb53435a85ae 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -462,7 +462,7 @@ arm925_crval: | |||
462 | .type arm925_processor_functions, #object | 462 | .type arm925_processor_functions, #object |
463 | arm925_processor_functions: | 463 | arm925_processor_functions: |
464 | .word v4t_early_abort | 464 | .word v4t_early_abort |
465 | .word pabort_noifar | 465 | .word legacy_pabort |
466 | .word cpu_arm925_proc_init | 466 | .word cpu_arm925_proc_init |
467 | .word cpu_arm925_proc_fin | 467 | .word cpu_arm925_proc_fin |
468 | .word cpu_arm925_reset | 468 | .word cpu_arm925_reset |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 54466937bff9..1c4848704bb3 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -415,7 +415,7 @@ arm926_crval: | |||
415 | .type arm926_processor_functions, #object | 415 | .type arm926_processor_functions, #object |
416 | arm926_processor_functions: | 416 | arm926_processor_functions: |
417 | .word v5tj_early_abort | 417 | .word v5tj_early_abort |
418 | .word pabort_noifar | 418 | .word legacy_pabort |
419 | .word cpu_arm926_proc_init | 419 | .word cpu_arm926_proc_init |
420 | .word cpu_arm926_proc_fin | 420 | .word cpu_arm926_proc_fin |
421 | .word cpu_arm926_reset | 421 | .word cpu_arm926_reset |
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S index f595117caf55..5b0f8464c8f2 100644 --- a/arch/arm/mm/proc-arm940.S +++ b/arch/arm/mm/proc-arm940.S | |||
@@ -322,7 +322,7 @@ __arm940_setup: | |||
322 | .type arm940_processor_functions, #object | 322 | .type arm940_processor_functions, #object |
323 | ENTRY(arm940_processor_functions) | 323 | ENTRY(arm940_processor_functions) |
324 | .word nommu_early_abort | 324 | .word nommu_early_abort |
325 | .word pabort_noifar | 325 | .word legacy_pabort |
326 | .word cpu_arm940_proc_init | 326 | .word cpu_arm940_proc_init |
327 | .word cpu_arm940_proc_fin | 327 | .word cpu_arm940_proc_fin |
328 | .word cpu_arm940_reset | 328 | .word cpu_arm940_reset |
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S index e03f6ff1fb26..40c0449a139b 100644 --- a/arch/arm/mm/proc-arm946.S +++ b/arch/arm/mm/proc-arm946.S | |||
@@ -377,7 +377,7 @@ __arm946_setup: | |||
377 | .type arm946_processor_functions, #object | 377 | .type arm946_processor_functions, #object |
378 | ENTRY(arm946_processor_functions) | 378 | ENTRY(arm946_processor_functions) |
379 | .word nommu_early_abort | 379 | .word nommu_early_abort |
380 | .word pabort_noifar | 380 | .word legacy_pabort |
381 | .word cpu_arm946_proc_init | 381 | .word cpu_arm946_proc_init |
382 | .word cpu_arm946_proc_fin | 382 | .word cpu_arm946_proc_fin |
383 | .word cpu_arm946_reset | 383 | .word cpu_arm946_reset |
diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S index be6c11d2b3fb..28545c29dbcd 100644 --- a/arch/arm/mm/proc-arm9tdmi.S +++ b/arch/arm/mm/proc-arm9tdmi.S | |||
@@ -64,7 +64,7 @@ __arm9tdmi_setup: | |||
64 | .type arm9tdmi_processor_functions, #object | 64 | .type arm9tdmi_processor_functions, #object |
65 | ENTRY(arm9tdmi_processor_functions) | 65 | ENTRY(arm9tdmi_processor_functions) |
66 | .word nommu_early_abort | 66 | .word nommu_early_abort |
67 | .word pabort_noifar | 67 | .word legacy_pabort |
68 | .word cpu_arm9tdmi_proc_init | 68 | .word cpu_arm9tdmi_proc_init |
69 | .word cpu_arm9tdmi_proc_fin | 69 | .word cpu_arm9tdmi_proc_fin |
70 | .word cpu_arm9tdmi_reset | 70 | .word cpu_arm9tdmi_reset |
diff --git a/arch/arm/mm/proc-fa526.S b/arch/arm/mm/proc-fa526.S index 08b8a955d5d7..08f5ac237ad4 100644 --- a/arch/arm/mm/proc-fa526.S +++ b/arch/arm/mm/proc-fa526.S | |||
@@ -191,7 +191,7 @@ fa526_cr1_set: | |||
191 | .type fa526_processor_functions, #object | 191 | .type fa526_processor_functions, #object |
192 | fa526_processor_functions: | 192 | fa526_processor_functions: |
193 | .word v4_early_abort | 193 | .word v4_early_abort |
194 | .word pabort_noifar | 194 | .word legacy_pabort |
195 | .word cpu_fa526_proc_init | 195 | .word cpu_fa526_proc_init |
196 | .word cpu_fa526_proc_fin | 196 | .word cpu_fa526_proc_fin |
197 | .word cpu_fa526_reset | 197 | .word cpu_fa526_reset |
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S index 0fe1f8fc3488..d0d7795200fc 100644 --- a/arch/arm/mm/proc-feroceon.S +++ b/arch/arm/mm/proc-feroceon.S | |||
@@ -499,7 +499,7 @@ feroceon_crval: | |||
499 | .type feroceon_processor_functions, #object | 499 | .type feroceon_processor_functions, #object |
500 | feroceon_processor_functions: | 500 | feroceon_processor_functions: |
501 | .word v5t_early_abort | 501 | .word v5t_early_abort |
502 | .word pabort_noifar | 502 | .word legacy_pabort |
503 | .word cpu_feroceon_proc_init | 503 | .word cpu_feroceon_proc_init |
504 | .word cpu_feroceon_proc_fin | 504 | .word cpu_feroceon_proc_fin |
505 | .word cpu_feroceon_reset | 505 | .word cpu_feroceon_reset |
diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S index 540f5078496b..52b5fd74fbb3 100644 --- a/arch/arm/mm/proc-mohawk.S +++ b/arch/arm/mm/proc-mohawk.S | |||
@@ -359,7 +359,7 @@ mohawk_crval: | |||
359 | .type mohawk_processor_functions, #object | 359 | .type mohawk_processor_functions, #object |
360 | mohawk_processor_functions: | 360 | mohawk_processor_functions: |
361 | .word v5t_early_abort | 361 | .word v5t_early_abort |
362 | .word pabort_noifar | 362 | .word legacy_pabort |
363 | .word cpu_mohawk_proc_init | 363 | .word cpu_mohawk_proc_init |
364 | .word cpu_mohawk_proc_fin | 364 | .word cpu_mohawk_proc_fin |
365 | .word cpu_mohawk_reset | 365 | .word cpu_mohawk_reset |
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S index 90a7e5279f29..7b706b389906 100644 --- a/arch/arm/mm/proc-sa110.S +++ b/arch/arm/mm/proc-sa110.S | |||
@@ -199,7 +199,7 @@ sa110_crval: | |||
199 | .type sa110_processor_functions, #object | 199 | .type sa110_processor_functions, #object |
200 | ENTRY(sa110_processor_functions) | 200 | ENTRY(sa110_processor_functions) |
201 | .word v4_early_abort | 201 | .word v4_early_abort |
202 | .word pabort_noifar | 202 | .word legacy_pabort |
203 | .word cpu_sa110_proc_init | 203 | .word cpu_sa110_proc_init |
204 | .word cpu_sa110_proc_fin | 204 | .word cpu_sa110_proc_fin |
205 | .word cpu_sa110_reset | 205 | .word cpu_sa110_reset |
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index 451e2d953e2a..ee7700242c19 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -214,7 +214,7 @@ sa1100_crval: | |||
214 | .type sa1100_processor_functions, #object | 214 | .type sa1100_processor_functions, #object |
215 | ENTRY(sa1100_processor_functions) | 215 | ENTRY(sa1100_processor_functions) |
216 | .word v4_early_abort | 216 | .word v4_early_abort |
217 | .word pabort_noifar | 217 | .word legacy_pabort |
218 | .word cpu_sa1100_proc_init | 218 | .word cpu_sa1100_proc_init |
219 | .word cpu_sa1100_proc_fin | 219 | .word cpu_sa1100_proc_fin |
220 | .word cpu_sa1100_reset | 220 | .word cpu_sa1100_reset |
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index 524ddae92595..194737d60a22 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -191,7 +191,7 @@ v6_crval: | |||
191 | .type v6_processor_functions, #object | 191 | .type v6_processor_functions, #object |
192 | ENTRY(v6_processor_functions) | 192 | ENTRY(v6_processor_functions) |
193 | .word v6_early_abort | 193 | .word v6_early_abort |
194 | .word pabort_noifar | 194 | .word v6_pabort |
195 | .word cpu_v6_proc_init | 195 | .word cpu_v6_proc_init |
196 | .word cpu_v6_proc_fin | 196 | .word cpu_v6_proc_fin |
197 | .word cpu_v6_reset | 197 | .word cpu_v6_reset |
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index f3fa1c32fe92..23ebcf6eab9f 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -295,7 +295,7 @@ __v7_setup_stack: | |||
295 | .type v7_processor_functions, #object | 295 | .type v7_processor_functions, #object |
296 | ENTRY(v7_processor_functions) | 296 | ENTRY(v7_processor_functions) |
297 | .word v7_early_abort | 297 | .word v7_early_abort |
298 | .word pabort_ifar | 298 | .word v7_pabort |
299 | .word cpu_v7_proc_init | 299 | .word cpu_v7_proc_init |
300 | .word cpu_v7_proc_fin | 300 | .word cpu_v7_proc_fin |
301 | .word cpu_v7_reset | 301 | .word cpu_v7_reset |
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 33515c214b92..2028f3702881 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -428,7 +428,7 @@ xsc3_crval: | |||
428 | .type xsc3_processor_functions, #object | 428 | .type xsc3_processor_functions, #object |
429 | ENTRY(xsc3_processor_functions) | 429 | ENTRY(xsc3_processor_functions) |
430 | .word v5t_early_abort | 430 | .word v5t_early_abort |
431 | .word pabort_noifar | 431 | .word legacy_pabort |
432 | .word cpu_xsc3_proc_init | 432 | .word cpu_xsc3_proc_init |
433 | .word cpu_xsc3_proc_fin | 433 | .word cpu_xsc3_proc_fin |
434 | .word cpu_xsc3_reset | 434 | .word cpu_xsc3_reset |
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index 423394260bcb..f056c283682d 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -511,7 +511,7 @@ xscale_crval: | |||
511 | .type xscale_processor_functions, #object | 511 | .type xscale_processor_functions, #object |
512 | ENTRY(xscale_processor_functions) | 512 | ENTRY(xscale_processor_functions) |
513 | .word v5t_early_abort | 513 | .word v5t_early_abort |
514 | .word pabort_noifar | 514 | .word legacy_pabort |
515 | .word cpu_xscale_proc_init | 515 | .word cpu_xscale_proc_init |
516 | .word cpu_xscale_proc_fin | 516 | .word cpu_xscale_proc_fin |
517 | .word cpu_xscale_reset | 517 | .word cpu_xscale_reset |