summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-armv.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-10-02 16:20:43 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-02 16:20:43 -0700
commita037a79dceaf717409fbf42f4ad209b9c15f435c (patch)
treec30b5b033c74ab9470e875554bded16464bbdf9b /arch/arm/kernel/entry-armv.S
parent90d5ffc729e92bffc0f84e2447e2e6dc280240a5 (diff)
parentd25ef8b86e6a58f5476bf6e4a8da730b335f68fa (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/kernel/entry-armv.S')
-rw-r--r--arch/arm/kernel/entry-armv.S18
1 files changed, 6 insertions, 12 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 0a2ba51cf35..322410be573 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -311,22 +311,16 @@ __pabt_svc:
tst r3, #PSR_I_BIT
biceq r9, r9, #PSR_I_BIT
- @
- @ set args, then call main handler
- @
- @ r0 - address of faulting instruction
- @ r1 - pointer to registers on stack
- @
-#ifdef MULTI_PABORT
mov r0, r2 @ pass address of aborted instruction.
+#ifdef MULTI_PABORT
ldr r4, .LCprocfns
mov lr, pc
ldr pc, [r4, #PROCESSOR_PABT_FUNC]
#else
- CPU_PABORT_HANDLER(r0, r2)
+ bl CPU_PABORT_HANDLER
#endif
msr cpsr_c, r9 @ Maybe enable interrupts
- mov r1, sp @ regs
+ mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler
@
@@ -701,16 +695,16 @@ ENDPROC(__und_usr_unknown)
__pabt_usr:
usr_entry
-#ifdef MULTI_PABORT
mov r0, r2 @ pass address of aborted instruction.
+#ifdef MULTI_PABORT
ldr r4, .LCprocfns
mov lr, pc
ldr pc, [r4, #PROCESSOR_PABT_FUNC]
#else
- CPU_PABORT_HANDLER(r0, r2)
+ bl CPU_PABORT_HANDLER
#endif
enable_irq @ Enable interrupts
- mov r1, sp @ regs
+ mov r2, sp @ regs
bl do_PrefetchAbort @ call abort handler
UNWIND(.fnend )
/* fall through */