From 97005786d89fd7a57b5fe82f713cea739916f3da Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 30 Oct 1995 21:54:45 +0000 Subject: SPARC port passes all tests --- testsuites/tmtests/tm08/task1.c | 2 +- testsuites/tmtests/tm27/task1.c | 47 ++++++++++++++++++++++++++++++----------- 2 files changed, 36 insertions(+), 13 deletions(-) (limited to 'testsuites/tmtests') diff --git a/testsuites/tmtests/tm08/task1.c b/testsuites/tmtests/tm08/task1.c index 1a03329f26..b29d6c6206 100644 --- a/testsuites/tmtests/tm08/task1.c +++ b/testsuites/tmtests/tm08/task1.c @@ -198,7 +198,7 @@ rtems_task test_task( end_time = Read_timer(); put_time( - "rtems_task_set_note", + "rtems_task_get_note", end_time, OPERATION_COUNT, overhead, diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c index c18ae2ab9b..a47e434200 100644 --- a/testsuites/tmtests/tm27/task1.c +++ b/testsuites/tmtests/tm27/task1.c @@ -11,6 +11,12 @@ * $Id$ */ +/* + * WARNING!!!!!!!!! + * + * THIS TEST USES INTERNAL RTEMS VARIABLES!!! + */ + #define TEST_INIT #include "system.h" @@ -33,15 +39,6 @@ rtems_isr Isr_handler( rtems_vector_number vector ); -/* - * INTERNAL RTEMS VARIABLES!!! - */ - -extern rtems_unsigned32 _Thread_Dispatch_disable_level; -extern rtems_unsigned32 _Context_Switch_necessary; -extern Chain_Control *_Thread_Ready_chain; -extern rtems_tcb *_Thread_Heir; - rtems_task Init( rtems_task_argument argument ) @@ -169,9 +166,23 @@ rtems_task Task_1( Interrupt_occurred = 0; Timer_initialize(); Cause_tm27_intr(); - /* goes to Isr_handler */ + + /* + * goes to Isr_handler and then returns + */ + + puts( "*** END OF TEST 27 ***" ); + exit( 0 ); } +/* + * NOTE: When this task is executing, some of the assumptions made + * regarding the placement of the currently executing task's TCB + * on the ready chains have been violated. At least the assumption + * that this task is at the head of the chain for its priority + * has been violated. + */ + rtems_task Task_2( rtems_task_argument argument ) @@ -197,8 +208,20 @@ rtems_task Task_2( 0 ); - puts( "*** END OF TEST 27 ***" ); - exit( 0 ); + fflush( stdout ); + + /* + * Switch back to the other task to exit the test. + */ + + _Thread_Dispatch_disable_level = 0; + + _Thread_Heir = (rtems_tcb *) _Thread_Ready_chain[254].first; + + _Context_Switch_necessary = 1; + + _Thread_Dispatch(); + } /* The Isr_handler() and Isr_handler_inner() routines are structured -- cgit v1.2.3