diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-06-07 02:40:23 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-06-07 02:40:23 +0000 |
commit | 34d877ec46cd8ea1a4ed8658cc60e79ddd2b19f5 (patch) | |
tree | fb71d0b3ed693f6d5dbeef85980ee882e106662a /cpukit | |
parent | added for first time (diff) | |
download | rtems-34d877ec46cd8ea1a4ed8658cc60e79ddd2b19f5.tar.bz2 |
corrected pseudo-code for _ISR_Handler
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/score/cpu/no_cpu/cpu_asm.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/cpukit/score/cpu/no_cpu/cpu_asm.c b/cpukit/score/cpu/no_cpu/cpu_asm.c index 26246a93c2..c0cf3b5127 100644 --- a/cpukit/score/cpu/no_cpu/cpu_asm.c +++ b/cpukit/score/cpu/no_cpu/cpu_asm.c @@ -136,17 +136,29 @@ void _ISR_Handler() * * (*_ISR_Vector_table[ vector ])( vector ); * - * if ( --__ISR_Nest_level == 0 ) { - * if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) - * call _Thread_Dispatch() or prepare to return to _ISR_Dispatch + * --_ISR_Nest_level; + * + * if ( _ISR_Nest_level ) + * goto the label "exit interrupt (simple case)" + * * #if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE ) * restore stack * #endif - * } + * + * if ( !_Context_Switch_necessary ) + * goto the label "exit interrupt (simple case)" + * + * if ( !_ISR_Signals_to_thread_executing ) + * goto the label "exit interrupt (simple case)" + * + * call _Thread_Dispatch() or prepare to return to _ISR_Dispatch * * prepare to get out of interrupt - * return from interrupt + * return from interrupt (maybe to _ISR_Dispatch) * + * LABEL "exit interrupt (simple case): + * prepare to get out of interrupt + * return from interrupt */ } |