summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/lm32/irq.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-06-29 00:31:47 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-06-29 00:31:47 +0000
commit9939ecc41208d44263d76df4da2a302bc197f7bb (patch)
treedc5e0e3bde4a3c71b2d8470474c0ec3d41beb5da /cpukit/score/cpu/lm32/irq.c
parent2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-9939ecc41208d44263d76df4da2a302bc197f7bb.tar.bz2
2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit * irq.c, rtems/score/cpu.h: Add a per cpu data structure which contains the information required by RTEMS for each CPU core. This encapsulates information such as thread executing, heir, idle and dispatch needed.
Diffstat (limited to 'cpukit/score/cpu/lm32/irq.c')
-rw-r--r--cpukit/score/cpu/lm32/irq.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/cpukit/score/cpu/lm32/irq.c b/cpukit/score/cpu/lm32/irq.c
index d2c38b9fd5..0dd2605e30 100644
--- a/cpukit/score/cpu/lm32/irq.c
+++ b/cpukit/score/cpu/lm32/irq.c
@@ -19,8 +19,9 @@
#include <rtems/system.h>
#include <rtems/score/cpu.h>
-#include <rtems/score/isr.h>
#include <rtems/score/thread.h>
+#include <rtems/score/isr.h>
+#include <rtems/score/percpu.h>
/*
* This routine provides the RTEMS interrupt management.
@@ -77,13 +78,7 @@ void __ISR_Handler(uint32_t vector, CPU_Interrupt_frame *ifr)
if ( _ISR_Nest_level )
return;
- if ( _Thread_Dispatch_disable_level ) {
- _ISR_Signals_to_thread_executing = FALSE;
- return;
- }
-
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
/* save off our stack frame so the context switcher can get to it */
_exception_stack_frame = ifr;