aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Siewior <bigeasy@linutronix.de>2008-04-28 05:43:16 -0400
committerGreg Ungerer <gerg@uclinux.org>2009-01-27 01:42:00 -0500
commitc7bcd0df1f2879fcedc3f55323c3afa7bb1f4295 (patch)
treec1324fcf31a78b67477b647fa0101187d138a0bf
parent5ee810072175042775e39bdd3eaaa68884c27805 (diff)
m68knommu: use one exist from execption
Part of the code that did not make sense to me got removed by Greg. This is part two: The first compare is to check whether the interrupts are disabled or not. Depending on the result we exectute the RESTORE_ALL macro is not only restoring the stack but also returning to caller. The test for pending softirq has been removed because it is allready done in irq_exit(). Since system_call() is allso using the SAVE_ALL macro and returning via ret_from_exception label I see no reason why we could not do this here as well. This is also handy because if we return from the timer interrupt and we need to resched than we check for this :) Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r--arch/m68knommu/platform/coldfire/entry.S15
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/m68knommu/platform/coldfire/entry.S b/arch/m68knommu/platform/coldfire/entry.S
index 1e3c0dcbd7ac..3b471c0da24a 100644
--- a/arch/m68knommu/platform/coldfire/entry.S
+++ b/arch/m68knommu/platform/coldfire/entry.S
@@ -215,19 +215,8 @@ ENTRY(fasthandler)
215 RESTORE_LOCAL 215 RESTORE_LOCAL
216 216
217ENTRY(ret_from_interrupt) 217ENTRY(ret_from_interrupt)
218 moveb %sp@(PT_SR),%d0 218 /* the fasthandler is confusing me, haven't seen any user */
219 andl #0x7,%d0 219 jmp ret_from_exception
220 jeq 1f
221
222 RESTORE_ALL
223
2241:
225 /* check if we need to do software interrupts */
226 movel irq_stat+CPUSTAT_SOFTIRQ_PENDING,%d0
227 jeq ret_from_exception
228
229 pea ret_from_exception
230 jmp do_softirq
231 220
232/* 221/*
233 * Beware - when entering resume, prev (the current task) is 222 * Beware - when entering resume, prev (the current task) is