diff options
Diffstat (limited to 'c/src/tests/tmtests/tm27/task1.c')
-rw-r--r-- | c/src/tests/tmtests/tm27/task1.c | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/c/src/tests/tmtests/tm27/task1.c b/c/src/tests/tmtests/tm27/task1.c index 51e795d817..c18ae2ab9b 100644 --- a/c/src/tests/tmtests/tm27/task1.c +++ b/c/src/tests/tmtests/tm27/task1.c @@ -86,11 +86,15 @@ rtems_task Task_1( rtems_task_argument argument ) { - _Thread_Dispatch_disable_level = 1; + Install_tm27_vector( Isr_handler ); - Interrupt_nest = 1; + /* + * No preempt .. no nesting + */ - Install_tm27_vector( Isr_handler ); + Interrupt_nest = 0; + + _Thread_Dispatch_disable_level = 0; Interrupt_occurred = 0; Timer_initialize(); @@ -103,24 +107,28 @@ rtems_task Task_1( Interrupt_return_time = Read_timer(); put_time( - "INTERRUPT_ENTER (nested interrupt)", - Interrupt_enter_nested_time, + "INTERRUPT_ENTER (no preempt)", + Interrupt_enter_time, 1, 0, 0 ); put_time( - "INTERRUPT_RETURN (nested interrupt)", - Interrupt_return_nested_time, + "INTERRUPT_RETURN (no preempt)", + Interrupt_return_time, 1, 0, 0 ); - Interrupt_nest = 0; + /* + * No preempt .. nested + */ - _Thread_Dispatch_disable_level = 0; + _Thread_Dispatch_disable_level = 1; + + Interrupt_nest = 1; Interrupt_occurred = 0; Timer_initialize(); @@ -133,21 +141,25 @@ rtems_task Task_1( Interrupt_return_time = Read_timer(); put_time( - "INTERRUPT_ENTER (no preempt)", - Interrupt_enter_time, + "INTERRUPT_ENTER (nested interrupt)", + Interrupt_enter_nested_time, 1, 0, 0 ); put_time( - "INTERRUPT_RETURN (no preempt)", - Interrupt_return_time, + "INTERRUPT_RETURN (nested interrupt)", + Interrupt_return_nested_time, 1, 0, 0 ); + /* + * Does a preempt .. not nested + */ + _Thread_Dispatch_disable_level = 0; _Thread_Heir = (rtems_tcb *) _Thread_Ready_chain[254].last; |