summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-06-07 02:40:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-06-07 02:40:23 +0000
commit34d877ec46cd8ea1a4ed8658cc60e79ddd2b19f5 (patch)
treefb71d0b3ed693f6d5dbeef85980ee882e106662a /c
parentadded for first time (diff)
downloadrtems-34d877ec46cd8ea1a4ed8658cc60e79ddd2b19f5.tar.bz2
corrected pseudo-code for _ISR_Handler
Diffstat (limited to 'c')
-rw-r--r--c/src/exec/score/cpu/no_cpu/cpu_asm.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/c/src/exec/score/cpu/no_cpu/cpu_asm.c b/c/src/exec/score/cpu/no_cpu/cpu_asm.c
index 26246a93c2..c0cf3b5127 100644
--- a/c/src/exec/score/cpu/no_cpu/cpu_asm.c
+++ b/c/src/exec/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
*/
}