diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:31:47 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-29 00:31:47 +0000 |
commit | 9939ecc41208d44263d76df4da2a302bc197f7bb (patch) | |
tree | dc5e0e3bde4a3c71b2d8470474c0ec3d41beb5da /cpukit/score/cpu/lm32/irq.c | |
parent | 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-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.c | 11 |
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; |