diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:06 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-11-11 00:59:06 +0000 |
commit | e164eef409c072a5c1c7f3e905129df4a06478ab (patch) | |
tree | 493633b5b1c27c6954d7b779c943d6ad22966cee /c/src/tests/tmtests/tm27/task1.c | |
parent | 2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-e164eef409c072a5c1c7f3e905129df4a06478ab.tar.bz2 |
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/.cvsignore: Remove.
* include/Makefile.am: Remove.
* include/timesys.h: Remove.
* .cvsignore: Remove.
* ChangeLog: Remove.
* Makefile.am: Remove.
* README: Remove.
* configure.ac: Remove.
* tmtests.am: Remove.
* tm01/.cvsignore: Remove.
* tm01/Makefile.am: Remove.
* tm01/system.h: Remove.
* tm01/task1.c: Remove.
* tm01/tm01.doc: Remove.
* tm02/.cvsignore: Remove.
* tm02/Makefile.am: Remove.
* tm02/system.h: Remove.
* tm02/task1.c: Remove.
* tm02/tm02.doc: Remove.
* tm03/.cvsignore: Remove.
* tm03/Makefile.am: Remove.
* tm03/system.h: Remove.
* tm03/task1.c: Remove.
* tm03/tm03.doc: Remove.
* tm04/.cvsignore: Remove.
* tm04/Makefile.am: Remove.
* tm04/system.h: Remove.
* tm04/task1.c: Remove.
* tm04/tm04.doc: Remove.
* tm05/.cvsignore: Remove.
* tm05/Makefile.am: Remove.
* tm05/system.h: Remove.
* tm05/task1.c: Remove.
* tm05/tm05.doc: Remove.
* tm06/.cvsignore: Remove.
* tm06/Makefile.am: Remove.
* tm06/system.h: Remove.
* tm06/task1.c: Remove.
* tm06/tm06.doc: Remove.
* tm07/.cvsignore: Remove.
* tm07/Makefile.am: Remove.
* tm07/system.h: Remove.
* tm07/task1.c: Remove.
* tm07/tm07.doc: Remove.
* tm08/.cvsignore: Remove.
* tm08/Makefile.am: Remove.
* tm08/system.h: Remove.
* tm08/task1.c: Remove.
* tm08/tm08.doc: Remove.
* tm09/.cvsignore: Remove.
* tm09/Makefile.am: Remove.
* tm09/system.h: Remove.
* tm09/task1.c: Remove.
* tm09/tm09.doc: Remove.
* tm10/.cvsignore: Remove.
* tm10/Makefile.am: Remove.
* tm10/system.h: Remove.
* tm10/task1.c: Remove.
* tm10/tm10.doc: Remove.
* tm11/.cvsignore: Remove.
* tm11/Makefile.am: Remove.
* tm11/system.h: Remove.
* tm11/task1.c: Remove.
* tm11/tm11.doc: Remove.
* tm12/.cvsignore: Remove.
* tm12/Makefile.am: Remove.
* tm12/system.h: Remove.
* tm12/task1.c: Remove.
* tm12/tm12.doc: Remove.
* tm13/.cvsignore: Remove.
* tm13/Makefile.am: Remove.
* tm13/system.h: Remove.
* tm13/task1.c: Remove.
* tm13/tm13.doc: Remove.
* tm14/.cvsignore: Remove.
* tm14/Makefile.am: Remove.
* tm14/system.h: Remove.
* tm14/task1.c: Remove.
* tm14/tm14.doc: Remove.
* tm15/.cvsignore: Remove.
* tm15/Makefile.am: Remove.
* tm15/system.h: Remove.
* tm15/task1.c: Remove.
* tm15/tm15.doc: Remove.
* tm16/.cvsignore: Remove.
* tm16/Makefile.am: Remove.
* tm16/system.h: Remove.
* tm16/task1.c: Remove.
* tm16/tm16.doc: Remove.
* tm17/.cvsignore: Remove.
* tm17/Makefile.am: Remove.
* tm17/system.h: Remove.
* tm17/task1.c: Remove.
* tm17/tm17.doc: Remove.
* tm18/.cvsignore: Remove.
* tm18/Makefile.am: Remove.
* tm18/system.h: Remove.
* tm18/task1.c: Remove.
* tm18/tm18.doc: Remove.
* tm19/.cvsignore: Remove.
* tm19/Makefile.am: Remove.
* tm19/system.h: Remove.
* tm19/task1.c: Remove.
* tm19/tm19.doc: Remove.
* tm20/.cvsignore: Remove.
* tm20/Makefile.am: Remove.
* tm20/system.h: Remove.
* tm20/task1.c: Remove.
* tm20/tm20.doc: Remove.
* tm21/.cvsignore: Remove.
* tm21/Makefile.am: Remove.
* tm21/system.h: Remove.
* tm21/task1.c: Remove.
* tm21/tm21.doc: Remove.
* tm22/.cvsignore: Remove.
* tm22/Makefile.am: Remove.
* tm22/system.h: Remove.
* tm22/task1.c: Remove.
* tm22/tm22.doc: Remove.
* tm23/.cvsignore: Remove.
* tm23/Makefile.am: Remove.
* tm23/system.h: Remove.
* tm23/task1.c: Remove.
* tm23/tm23.doc: Remove.
* tm24/.cvsignore: Remove.
* tm24/Makefile.am: Remove.
* tm24/system.h: Remove.
* tm24/task1.c: Remove.
* tm24/tm24.doc: Remove.
* tm25/.cvsignore: Remove.
* tm25/Makefile.am: Remove.
* tm25/system.h: Remove.
* tm25/task1.c: Remove.
* tm25/tm25.doc: Remove.
* tm26/.cvsignore: Remove.
* tm26/Makefile.am: Remove.
* tm26/fptest.h: Remove.
* tm26/system.h: Remove.
* tm26/task1.c: Remove.
* tm26/tm26.doc: Remove.
* tm27/.cvsignore: Remove.
* tm27/Makefile.am: Remove.
* tm27/system.h: Remove.
* tm27/task1.c: Remove.
* tm27/tm27.doc: Remove.
* tm28/.cvsignore: Remove.
* tm28/Makefile.am: Remove.
* tm28/system.h: Remove.
* tm28/task1.c: Remove.
* tm28/tm28.doc: Remove.
* tm29/.cvsignore: Remove.
* tm29/Makefile.am: Remove.
* tm29/system.h: Remove.
* tm29/task1.c: Remove.
* tm29/tm29.doc: Remove.
* tmck/.cvsignore: Remove.
* tmck/Makefile.am: Remove.
* tmck/system.h: Remove.
* tmck/task1.c: Remove.
* tmck/tmck.doc: Remove.
* tmoverhd/.cvsignore: Remove.
* tmoverhd/Makefile.am: Remove.
* tmoverhd/dumrtems.h: Remove.
* tmoverhd/empty.c: Remove.
* tmoverhd/system.h: Remove.
* tmoverhd/testtask.c: Remove.
* tmoverhd/tmoverhd.doc: Remove.
Diffstat (limited to 'c/src/tests/tmtests/tm27/task1.c')
-rw-r--r-- | c/src/tests/tmtests/tm27/task1.c | 279 |
1 files changed, 0 insertions, 279 deletions
diff --git a/c/src/tests/tmtests/tm27/task1.c b/c/src/tests/tmtests/tm27/task1.c deleted file mode 100644 index 18ea62a162..0000000000 --- a/c/src/tests/tmtests/tm27/task1.c +++ /dev/null @@ -1,279 +0,0 @@ -/* - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - * $Id$ - */ - -/* - * WARNING!!!!!!!!! - * - * THIS TEST USES INTERNAL RTEMS VARIABLES!!! - */ - -#define TEST_INIT -#define RTEMS_TM27 -#include "system.h" - -#include <bsp.h> - -rtems_task Task_1( - rtems_task_argument argument -); - -rtems_task Task_2( - rtems_task_argument argument -); - -volatile rtems_unsigned32 Interrupt_occurred; -volatile rtems_unsigned32 Interrupt_enter_time, Interrupt_enter_nested_time; -volatile rtems_unsigned32 Interrupt_return_time, Interrupt_return_nested_time; -rtems_unsigned32 Interrupt_nest; -rtems_unsigned32 timer_overhead; - -rtems_isr Isr_handler( - rtems_vector_number vector -); - -rtems_task Init( - rtems_task_argument argument -) -{ - rtems_status_code status; - - Print_Warning(); - - puts( "\n\n*** TIME TEST 27 ***" ); - - status = rtems_task_create( - rtems_build_name( 'T', 'A', '1', ' ' ), - 254, - RTEMS_MINIMUM_STACK_SIZE, - RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, - &Task_id[ 1 ] - ); - directive_failed( status, "rtems_task_create Task_1" ); - - status = rtems_task_start( Task_id[ 1 ], Task_1, 0 ); - directive_failed( status, "rtems_task_start Task_1" ); - - status = rtems_task_create( - rtems_build_name( 'T', 'A', '2', ' ' ), - 254, - RTEMS_MINIMUM_STACK_SIZE, - RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, - &Task_id[ 2 ] - ); - directive_failed( status, "rtems_task_create of Task_2" ); - - status = rtems_task_start( Task_id[ 2 ], Task_2, 0 ); - directive_failed( status, "rtems_task_start of Task_2" ); - - Timer_initialize(); - Read_timer(); - Timer_initialize(); - timer_overhead = Read_timer(); - - status = rtems_task_delete( RTEMS_SELF ); - directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); -} - -rtems_task Task_1( - rtems_task_argument argument -) -{ - Install_tm27_vector( Isr_handler ); - - /* - * No preempt .. no nesting - */ - - Interrupt_nest = 0; - - _Thread_Dispatch_disable_level = 0; - - Interrupt_occurred = 0; - - Timer_initialize(); - Cause_tm27_intr(); - /* goes to Isr_handler */ - -#if (MUST_WAIT_FOR_INTERRUPT == 1) - while ( Interrupt_occurred == 0 ); -#endif - Interrupt_return_time = Read_timer(); - - put_time( - "interrupt entry overhead: returns to interrupted task", - Interrupt_enter_time, - 1, - 0, - timer_overhead - ); - - put_time( - "interrupt exit overhead: returns to interrupted task", - Interrupt_return_time, - 1, - 0, - timer_overhead - ); - - /* - * No preempt .. nested - */ - - _Thread_Dispatch_disable_level = 1; - - Interrupt_nest = 1; - - Interrupt_occurred = 0; - Timer_initialize(); - Cause_tm27_intr(); - /* goes to Isr_handler */ - -#if (MUST_WAIT_FOR_INTERRUPT == 1) - while ( Interrupt_occurred == 0 ); -#endif - Interrupt_return_time = Read_timer(); - - put_time( - "interrupt entry overhead: returns to nested interrupt", - Interrupt_enter_nested_time, - 1, - 0, - 0 - ); - - put_time( - "interrupt exit overhead: returns to 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; - - _Context_Switch_necessary = 1; - - Interrupt_occurred = 0; - Timer_initialize(); - Cause_tm27_intr(); - - /* - * goes to Isr_handler and then returns - */ - - puts( "*** END OF TEST 27 ***" ); - rtems_test_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 -) -{ -#if (MUST_WAIT_FOR_INTERRUPT == 1) - while ( Interrupt_occurred == 0 ); -#endif - end_time = Read_timer(); - - put_time( - "interrupt entry overhead: returns to preempting task", - Interrupt_enter_time, - 1, - 0, - timer_overhead - ); - - put_time( - "interrupt exit overhead: returns to preempting task", - end_time, - 1, - 0, - 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 - * so that there will be as little entry overhead as possible included - * in the interrupt entry time. - */ - -void Isr_handler_inner( void ); - -rtems_isr Isr_handler( - rtems_vector_number vector -) -{ - end_time = Read_timer(); - - Interrupt_occurred = 1; - Isr_handler_inner(); -} - -void Isr_handler_inner( void ) -{ - - /*enable_tracing();*/ - Clear_tm27_intr(); - switch ( Interrupt_nest ) { - case 0: - Interrupt_enter_time = end_time; - break; - case 1: - Interrupt_enter_time = end_time; - Interrupt_nest = 2; - Interrupt_occurred = 0; - Lower_tm27_intr(); - Timer_initialize(); - Cause_tm27_intr(); - /* goes to a nested copy of Isr_handler */ -#if (MUST_WAIT_FOR_INTERRUPT == 1) - while ( Interrupt_occurred == 0 ); -#endif - Interrupt_return_nested_time = Read_timer(); - break; - case 2: - Interrupt_enter_nested_time = end_time; - break; - } - - Timer_initialize(); -} |