summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/nios2/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/nios2/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/nios2/irq.c')
-rw-r--r--cpukit/score/cpu/nios2/irq.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/cpukit/score/cpu/nios2/irq.c b/cpukit/score/cpu/nios2/irq.c
index 2f13d86e3d..a083cc7cae 100644
--- a/cpukit/score/cpu/nios2/irq.c
+++ b/cpukit/score/cpu/nios2/irq.c
@@ -64,28 +64,21 @@ void __ISR_Handler(uint32_t vector, CPU_Interrupt_frame *ifr)
_ISR_Nest_level--;
- if( _ISR_Nest_level == 0)
- {
+ if( _ISR_Nest_level == 0) {
#if( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
stack_ptr = _old_stack_ptr;
#endif
if( _Thread_Dispatch_disable_level == 0 )
{
- if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing )
- {
- _ISR_Signals_to_thread_executing = FALSE;
+ if ( _Context_Switch_necessary ) {
_CPU_ISR_Enable( level );
_Thread_Dispatch();
/* may have switched to another task and not return here immed. */
_CPU_ISR_Disable( level ); /* Keep _pairs_ of Enable/Disable */
}
}
- else
- {
- _ISR_Signals_to_thread_executing = FALSE;
- };
- };
+ }
_CPU_ISR_Enable( level );
}