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/sptests/sp04/task1.c | 10 ++++---- testsuites/sptests/sp09/screen09.c | 6 ++++- testsuites/sptests/sp11/sp11.scn | 2 +- testsuites/sptests/sp11/task2.c | 6 ++--- testsuites/sptests/sp12/system.h | 1 + testsuites/sptests/sp19/system.h | 2 ++ testsuites/sptests/sp20/init.c | 2 +- testsuites/sptests/sp24/init.c | 2 +- testsuites/sptests/spsize/init.c | 7 +++++- testsuites/sptests/spsize/size.c | 27 ++++++++++++++++++---- testsuites/tmtests/tm08/task1.c | 2 +- testsuites/tmtests/tm27/task1.c | 47 ++++++++++++++++++++++++++++---------- 12 files changed, 84 insertions(+), 30 deletions(-) (limited to 'testsuites') diff --git a/testsuites/sptests/sp04/task1.c b/testsuites/sptests/sp04/task1.c index 117f5eaa80..671ae5483d 100644 --- a/testsuites/sptests/sp04/task1.c +++ b/testsuites/sptests/sp04/task1.c @@ -30,8 +30,8 @@ rtems_task Task_1( rtems_mode previous_mode; rtems_time_of_day time; rtems_status_code status; - rtems_unsigned32 start; - rtems_unsigned32 end; + rtems_unsigned32 start_time; + rtems_unsigned32 end_time; puts( "TA1 - rtems_task_suspend - on Task 2" ); status = rtems_task_suspend( Task_id[ 2 ] ); @@ -41,16 +41,16 @@ rtems_task Task_1( status = rtems_task_suspend( Task_id[ 3 ] ); directive_failed( status, "rtems_task_suspend of TA3" ); - status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &start ); + status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &start_time ); directive_failed( status, "rtems_clock_get" ); puts( "TA1 - killing time" ); for ( ; ; ) { - status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &end ); + status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &end_time ); directive_failed( status, "rtems_clock_get" ); - if ( end > (start + 2) ) + if ( end_time > (start_time + 2) ) break; } diff --git a/testsuites/sptests/sp09/screen09.c b/testsuites/sptests/sp09/screen09.c index 5c6eece679..c6fd1d3d72 100644 --- a/testsuites/sptests/sp09/screen09.c +++ b/testsuites/sptests/sp09/screen09.c @@ -25,7 +25,11 @@ void Screen9() rtems_status_code status; rtems_isr_entry old_service_routine; - status = rtems_interrupt_catch( Service_routine, 500, &old_service_routine ); + status = rtems_interrupt_catch( + Service_routine, + ISR_INTERRUPT_MAXIMUM_VECTOR_NUMBER + 10, + &old_service_routine + ); fatal_directive_status( status, RTEMS_INVALID_NUMBER, diff --git a/testsuites/sptests/sp11/sp11.scn b/testsuites/sptests/sp11/sp11.scn index 7abb8afe45..f34a9eac5f 100644 --- a/testsuites/sptests/sp11/sp11.scn +++ b/testsuites/sptests/sp11/sp11.scn @@ -11,7 +11,7 @@ TA1 - rtems_event_receive - waiting with 10 second timeout on RTEMS_EVENT_14 TA2 - RTEMS_EVENT_17 or RTEMS_EVENT_18 received - eventout => 00040000 TA2 - rtems_event_send - send RTEMS_EVENT_14 to TA1 TA2 - rtems_clock_set - 08:15:00 02/12/1988 -TA2 - rtems_event_send - sending RTEMS_EVENT_10 to self after 5 seconds +TA2 - rtems_event_send - sending RTEMS_EVENT_10 to self after 4 seconds TA2 - rtems_event_receive - waiting forever on RTEMS_EVENT_10 TA1 - RTEMS_EVENT_14 received - eventout => 00004000 TA1 - rtems_event_send - send RTEMS_EVENT_19 to TA2 diff --git a/testsuites/sptests/sp11/task2.c b/testsuites/sptests/sp11/task2.c index 176582bc36..d5ac476dac 100644 --- a/testsuites/sptests/sp11/task2.c +++ b/testsuites/sptests/sp11/task2.c @@ -73,9 +73,9 @@ rtems_task Task_2( status = rtems_clock_set( &time ); directive_failed( status, "TA2 rtems_clock_set" ); - time.second += 5; + time.second += 4; puts( - "TA2 - rtems_event_send - sending RTEMS_EVENT_10 to self after 5 seconds" + "TA2 - rtems_event_send - sending RTEMS_EVENT_10 to self after 4 seconds" ); status = rtems_timer_fire_when( Timer_id[ 5 ], @@ -83,7 +83,7 @@ rtems_task Task_2( TA2_send_10_to_self, NULL ); - directive_failed( status, "rtems_timer_fire_when after 5 seconds" ); + directive_failed( status, "rtems_timer_fire_when after 4 seconds" ); puts( "TA2 - rtems_event_receive - waiting forever on RTEMS_EVENT_10" ); status = rtems_event_receive( diff --git a/testsuites/sptests/sp12/system.h b/testsuites/sptests/sp12/system.h index 3c126963b6..81af1abbd9 100644 --- a/testsuites/sptests/sp12/system.h +++ b/testsuites/sptests/sp12/system.h @@ -57,6 +57,7 @@ rtems_task Task5( #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER #define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER +#define CONFIGURE_INIT_TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE * 2) #define CONFIGURE_MAXIMUM_SEMAPHORES 10 #define CONFIGURE_TICKS_PER_TIMESLICE 100 diff --git a/testsuites/sptests/sp19/system.h b/testsuites/sptests/sp19/system.h index 557299b9c2..6052075250 100644 --- a/testsuites/sptests/sp19/system.h +++ b/testsuites/sptests/sp19/system.h @@ -38,6 +38,8 @@ rtems_task Task_1( #define CONFIGURE_SPTEST +#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT + #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER #define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER diff --git a/testsuites/sptests/sp20/init.c b/testsuites/sptests/sp20/init.c index 0e1b56ba3a..d2bc2ec00d 100644 --- a/testsuites/sptests/sp20/init.c +++ b/testsuites/sptests/sp20/init.c @@ -44,7 +44,7 @@ rtems_task Init( status = rtems_task_create( Task_name[ index ], Priorities[ index ], - RTEMS_MINIMUM_STACK_SIZE, + RTEMS_MINIMUM_STACK_SIZE * 4, RTEMS_DEFAULT_MODES, RTEMS_DEFAULT_ATTRIBUTES, &Task_id[ index ] diff --git a/testsuites/sptests/sp24/init.c b/testsuites/sptests/sp24/init.c index 81abc0277a..74114ab82a 100644 --- a/testsuites/sptests/sp24/init.c +++ b/testsuites/sptests/sp24/init.c @@ -52,7 +52,7 @@ rtems_task Init( status = rtems_task_create( Task_name[ index ], 1, - RTEMS_MINIMUM_STACK_SIZE, + RTEMS_MINIMUM_STACK_SIZE * 2, RTEMS_DEFAULT_MODES, RTEMS_DEFAULT_ATTRIBUTES, &Task_id[ index ] diff --git a/testsuites/sptests/spsize/init.c b/testsuites/sptests/spsize/init.c index 66e40cd0f1..d0d5490966 100644 --- a/testsuites/sptests/spsize/init.c +++ b/testsuites/sptests/spsize/init.c @@ -36,8 +36,12 @@ rtems_task Init( setvbuf(stdout, 0, _IONBF, 0); + puts( "\n*** RTEMS SIZE PROGRAM ***" ); + size_rtems( 1 ); + puts( "*** END OF RTEMS SIZE PROGRAM ***" ); + exit( 0 ); +#if 0 do { - puts( "\n*** RTEMS SIZE PROGRAM ***" ); printf( "\n\nPlease select program mode:\n" ); printf( " 1) Print Formulas\n" ); printf( " 2) Determine Workspace Size\n" ); @@ -52,4 +56,5 @@ rtems_task Init( default: continue; } } while ( FOREVER ); +#endif } diff --git a/testsuites/sptests/spsize/size.c b/testsuites/sptests/spsize/size.c index 474095972a..91ccbfb1a3 100644 --- a/testsuites/sptests/spsize/size.c +++ b/testsuites/sptests/spsize/size.c @@ -390,6 +390,22 @@ uninitialized += (sizeof _CPU_Interrupt_stack_low) + #endif +#ifdef sparc + +/* cpu.h */ +uninitialized += (sizeof _CPU_Interrupt_stack_low) + + (sizeof _CPU_Interrupt_stack_high) + + (sizeof _CPU_Null_fp_context) + + (sizeof _CPU_Trap_Table_area); + +#ifdef erc32 +uninitialized += (sizeof _ERC32_MEC_Timer_Control_Mirror); +#endif + + +#endif + + #ifdef no_cpu /* cpu.h */ @@ -421,13 +437,16 @@ initialized += (sizeof _TOD_Days_to_date) + (sizeof _TOD_Days_since_last_leap_year); +#ifdef sparc + +initialized += (sizeof _CPU_Trap_slot_template); + +#endif + puts( "" ); -#ifdef i960CA - print_formula(); -#else + if ( mode == 0 ) help_size(); else print_formula(); -#endif printf( "\n" ); printf( "RTEMS uninitialized data consumes %d bytes\n", uninitialized ); 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