diff options
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 |
