summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/tmtests')
-rw-r--r--testsuites/tmtests/tm27/task1.c38
1 files changed, 25 insertions, 13 deletions
diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c
index 51e795d817..c18ae2ab9b 100644
--- a/testsuites/tmtests/tm27/task1.c
+++ b/testsuites/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;