summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-08-26 13:03:01 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-08-26 13:03:01 +0000
commita7bafd58d0cd8ca28261d09ed2f1775f13befcb5 (patch)
tree81754fffeebb4299562c0ab74a0f84c8549f0551 /cpukit/score
parent2002-08-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-a7bafd58d0cd8ca28261d09ed2f1775f13befcb5.tar.bz2
2002-08-26 Eric Norum <eric.norum@usask.ca>
* cpu_asm.S: More PR267 tinkering which eliminates some conditional compilation.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/cpu/m68k/ChangeLog5
-rw-r--r--cpukit/score/cpu/m68k/cpu_asm.S7
2 files changed, 6 insertions, 6 deletions
diff --git a/cpukit/score/cpu/m68k/ChangeLog b/cpukit/score/cpu/m68k/ChangeLog
index 4d4f3a72a2..43fbbd20f1 100644
--- a/cpukit/score/cpu/m68k/ChangeLog
+++ b/cpukit/score/cpu/m68k/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-26 Eric Norum <eric.norum@usask.ca>
+
+ * cpu_asm.S: More PR267 tinkering which eliminates some conditional
+ compilation.
+
2002-08-14 Brett Swimley <brett.swimley@aedinc.net>
* cpu_asm.S: Per PR267, the _ISR_Handler() function never was modifying
diff --git a/cpukit/score/cpu/m68k/cpu_asm.S b/cpukit/score/cpu/m68k/cpu_asm.S
index c8357a09c5..66eba3f7fe 100644
--- a/cpukit/score/cpu/m68k/cpu_asm.S
+++ b/cpukit/score/cpu/m68k/cpu_asm.S
@@ -139,8 +139,6 @@ SYM (_ISR_Handler):
#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
- tstl SYM (_ISR_Nest_level) | Interrupting an interrupt handler?
- bne 2f | Yes, just skip over stack switch code
movel _CPU_Interrupt_stack_high,a0 | a0 now point just above interrupt stack
cmpl _CPU_Interrupt_stack_low,a7 | stack below interrupt stack?
bcs.b 1f | yes, switch to interrupt stack
@@ -167,18 +165,15 @@ SYM (_ISR_Handler):
movel d0,a7@- | push vector number
jbsr a0@ | invoke the user ISR
addql #4,a7 | remove vector number
+ subql #1,SYM(_ISR_Nest_level) | Reduce interrupt-nesting count
#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
- subql #1,SYM(_ISR_Nest_level) | Reduce interrupt-nesting count
- bne 1f | Skip if return to interrupt
movel _CPU_Interrupt_stack_high,a0
subql #4,a0
cmpl a0,a7 | At top of interrupt stack?
bne.b 1f | No, do not restore task stack pointer
movel (a7),a7 | Restore task stack pointer
1:
-#else
- subql #1,SYM (_ISR_Nest_level) | one less nest level
#endif /* CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 */
subql #1,SYM (_Thread_Dispatch_disable_level)
| unnest multitasking