diff options
Diffstat (limited to 'c/src/ada-tests')
370 files changed, 0 insertions, 45697 deletions
diff --git a/c/src/ada-tests/mptests/mp01/config.h b/c/src/ada-tests/mptests/mp01/config.h deleted file mode 100644 index 513e94359d..0000000000 --- a/c/src/ada-tests/mptests/mp01/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_MPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/mptests/mp01/mp01.adb b/c/src/ada-tests/mptests/mp01/mp01.adb deleted file mode 100644 index 0b1e0a0eba..0000000000 --- a/c/src/ada-tests/mptests/mp01/mp01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test MP01 of the Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with MPTEST; -with TEST_SUPPORT; - -procedure MP01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - MPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end MP01; - diff --git a/c/src/ada-tests/mptests/mp01/mptest.adb b/c/src/ada-tests/mptests/mp01/mptest.adb deleted file mode 100644 index 3f3fbe6c30..0000000000 --- a/c/src/ada-tests/mptests/mp01/mptest.adb +++ /dev/null @@ -1,235 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - C : RTEMS.CHARACTER; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 1 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE /= 1 then - C := 'S'; - else - C := 'M'; - end if; - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( C, 'A', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( C, 'A', '2', ' ' ); - MPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( C, 'A', '3', ' ' ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TEXT_IO.PUT_LINE( "Creating task 1 (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - TEXT_IO.PUT_LINE( "Creating task 2 (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - TEXT_IO.PUT_LINE( "Creating task 3 (Local)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 3 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if TEST_SUPPORT.TASK_NUMBER( TID ) = 1 then -- TASK 1 - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEXT_IO.PUT_LINE( " - deleting self" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - else if TEST_SUPPORT.TASK_NUMBER( TID ) = 2 then -- TASK 2 - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), FALSE ); - TEXT_IO.PUT( " - waiting to be deleted by " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), TRUE ); - - loop - TEST_SUPPORT.DO_NOTHING; -- can't be optimized away - end loop; - - else -- TASK 3 - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), FALSE ); - TEXT_IO.PUT( " - getting TID of " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), TRUE ); - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - TID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), FALSE ); - TEXT_IO.PUT( " - deleting " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), TRUE ); - - RTEMS.TASK_DELETE( TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end if; - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 1 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp01/mptest.ads b/c/src/ada-tests/mptests/mp01/mptest.ads deleted file mode 100644 index 42bf917bb1..0000000000 --- a/c/src/ada-tests/mptests/mp01/mptest.ads +++ /dev/null @@ -1,164 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.GLOBAL, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 33, -- maximum # global objects - 33 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp01/node1/mp01.scn b/c/src/ada-tests/mptests/mp01/node1/mp01.scn deleted file mode 100644 index d7495bfa0d..0000000000 --- a/c/src/ada-tests/mptests/mp01/node1/mp01.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 1 -- NODE 1 *** -Creating task 1 (Global) -Creating task 2 (Global) -Creating task 3 (Local) -MA1 - clock_get - 9: 0: 0 12/31/1988 -MA2 - clock_get - 9: 0: 0 12/31/1988 -MA3 - clock_get - 9: 0: 0 12/31/1988 -MA1 - clock_get - 9: 0: 5 12/31/1988 -MA1 - deleting self -MA2 - clock_get - 9: 0:10 12/31/1988 -MA2 - waiting to be deleted by MA3 -MA3 - clock_get - 9: 0:15 12/31/1988 -MA3 - getting TID of MA2 -MA3 - deleting MA2 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp01/node2/mp01.scn b/c/src/ada-tests/mptests/mp01/node2/mp01.scn deleted file mode 100644 index 98047240f3..0000000000 --- a/c/src/ada-tests/mptests/mp01/node2/mp01.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 1 -- NODE 2 *** -Creating task 1 (Global) -Creating task 2 (Global) -Creating task 3 (Local) -SA1 - clock_get - 9: 0: 0 12/31/1988 -SA2 - clock_get - 9: 0: 0 12/31/1988 -SA3 - clock_get - 9: 0: 0 12/31/1988 -SA1 - clock_get - 9: 0: 5 12/31/1988 -SA1 - deleting self -SA2 - clock_get - 9: 0:10 12/31/1988 -SA2 - waiting to be deleted by SA3 -SA3 - clock_get - 9: 0:15 12/31/1988 -SA3 - getting TID of SA2 -SA3 - deleting SA2 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp02/mptest.adb b/c/src/ada-tests/mptests/mp02/mptest.adb deleted file mode 100644 index 44b6d564ad..0000000000 --- a/c/src/ada-tests/mptests/mp02/mptest.adb +++ /dev/null @@ -1,213 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 2 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 2 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating test task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TEST_TID : RTEMS.ID; - REMOTE_TID : RTEMS.ID; - REMOTE_NODE : RTEMS.UNSIGNED32; - NOTE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - REMOTE_NODE := 2; - else - REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT_LINE( "Getting TID of remote task (all nodes)" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - -- - -- We just got this ID above so looping is not necessary. - -- - - TEXT_IO.PUT_LINE( "Getting TID of remote task (1 node)" ); - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( REMOTE_NODE ), - REMOTE_NODE, - TEST_TID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT" ); - - if TEST_TID /= REMOTE_TID then - TEXT_IO.PUT_LINE( "task_ident tid's do not match!!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - RTEMS.TASK_DELETE( REMOTE_TID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_delete of remote task" - ); - TEXT_IO.PUT_LINE( - "task_delete of remote task returned the correct error" - ); - - RTEMS.TASK_START( REMOTE_TID, MPTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_start of remote task" - ); - TEXT_IO.PUT_LINE( - "task_start of remote task returned the correct error" - ); - - RTEMS.TASK_RESTART( REMOTE_TID, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_restart of remote task" - ); - TEXT_IO.PUT_LINE( - "task_restart of remote task returned the correct error" - ); - - - TEXT_IO.PUT( "Setting notepad " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ), WIDTH=>1 ); - TEXT_IO.PUT( " of the remote task to " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ), WIDTH=>1 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - REMOTE_TID, - RTEMS.GET_NODE( TID ), - RTEMS.GET_NODE( TID ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT_LINE( "Getting a notepad of the remote task" ); - RTEMS.TASK_GET_NOTE( - REMOTE_TID, - RTEMS.GET_NODE( TID ), - NOTE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - - if NOTE = RTEMS.GET_NODE( TID ) then - TEXT_IO.PUT_LINE( "Remote notepad set and read correctly" ); - else - TEXT_IO.PUT( - "FAILURE!!! Remote notepad was not set and read correctly (" - ); - UNSIGNED32_IO.PUT( NOTE ); - TEXT_IO.PUT( ", " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ) ); - TEXT_IO.PUT_LINE( ")" ); - - end if; - - RTEMS.TASK_DELETE( REMOTE_TID, STATUS ); - TEXT_IO.PUT_LINE( "*** END OF TEST 2 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp02/mptest.ads b/c/src/ada-tests/mptests/mp02/mptest.ads deleted file mode 100644 index 82e7aacbb3..0000000000 --- a/c/src/ada-tests/mptests/mp02/mptest.ads +++ /dev/null @@ -1,164 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp02/node1/mp02.scn b/c/src/ada-tests/mptests/mp02/node1/mp02.scn deleted file mode 100644 index 91b57321f7..0000000000 --- a/c/src/ada-tests/mptests/mp02/node1/mp02.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 2 -- NODE 1 *** -Creating test task (Global) -Getting TID of remote task (all nodes) -Getting TID of remote task (1 node) -task_delete of remote task returned the correct error -task_start of remote task returned the correct error -task_restart of remote task returned the correct error -Setting notepad 1 of the remote task to 1 -Getting a notepad of the remote task -Remote notepad set and read correctly -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp02/node2/mp02.scn b/c/src/ada-tests/mptests/mp02/node2/mp02.scn deleted file mode 100644 index 14239a546d..0000000000 --- a/c/src/ada-tests/mptests/mp02/node2/mp02.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 2 -- NODE 2 *** -Creating test task (Global) -Getting TID of remote task (all nodes) -Getting TID of remote task (1 node) -task_delete of remote task returned the correct error -task_start of remote task returned the correct error -task_restart of remote task returned the correct error -Setting notepad 2 of the remote task to 2 -Getting a notepad of the remote task -Remote notepad set and read correctly -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp03/mptest.adb b/c/src/ada-tests/mptests/mp03/mptest.adb deleted file mode 100644 index ea662c3422..0000000000 --- a/c/src/ada-tests/mptests/mp03/mptest.adb +++ /dev/null @@ -1,277 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 3 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 3 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_SEND_EVENT --- - - procedure DELAYED_SEND_EVENT ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( MPTEST.TASK_ID( 1 ), RTEMS.EVENT_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end DELAYED_SEND_EVENT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - MPTEST.TEST_TASK_SUPPORT( 1 ); - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 11 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end if; - - MPTEST.TEST_TASK_SUPPORT( 2 ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 3 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- TEST_TASK_SUPPORT --- - - - procedure TEST_TASK_SUPPORT ( - NODE : in RTEMS.UNSIGNED32 - ) is - EVENTS : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = NODE then - - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( RTEMS.SUCCESSFUL, STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE" - ); - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - Suspending remote task" ); - RTEMS.TASK_SUSPEND( MPTEST.REMOTE_TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - Resuming remote task" ); - - RTEMS.TASK_RESUME( MPTEST.REMOTE_TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - end loop; - - else - - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( RTEMS.SUCCESSFUL, STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE" - ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( REMOTE_NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - have I been suspended???" ); - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TICKS_PER_SECOND / 2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end if; - - end TEST_TASK_SUPPORT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp03/mptest.ads b/c/src/ada-tests/mptests/mp03/mptest.ads deleted file mode 100644 index 5542682111..0000000000 --- a/c/src/ada-tests/mptests/mp03/mptest.ads +++ /dev/null @@ -1,214 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_SUPPORT --- --- DESCRIPTION: --- --- This subprogram performs the bulk of the test. Based on the NODE --- specified, this subprogram loops suspending/resuming a remote task --- or waiting for itself to be suspended/resumed. --- - - procedure TEST_TASK_SUPPORT ( - NODE : in RTEMS.UNSIGNED32 - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp03/node1/mp03.scn b/c/src/ada-tests/mptests/mp03/node1/mp03.scn deleted file mode 100644 index d749db49e2..0000000000 --- a/c/src/ada-tests/mptests/mp03/node1/mp03.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 3 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 222 -111 - Suspending remote task -111 - Resuming remote task -111 - Suspending remote task -111 - Resuming remote task -111 - Suspending remote task -111 - Resuming remote task -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -*** END OF TEST 3 *** - diff --git a/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp03/node2/mp03.scn b/c/src/ada-tests/mptests/mp03/node2/mp03.scn deleted file mode 100644 index 56298f5b8d..0000000000 --- a/c/src/ada-tests/mptests/mp03/node2/mp03.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 3 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 111 -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -222 - Suspending remote task -222 - Resuming remote task -222 - Suspending remote task -222 - Resuming remote task -222 - Suspending remote task -222 - Resuming remote task -*** END OF TEST 3 *** - diff --git a/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp04/mptest.adb b/c/src/ada-tests/mptests/mp04/mptest.adb deleted file mode 100644 index c44f521eaa..0000000000 --- a/c/src/ada-tests/mptests/mp04/mptest.adb +++ /dev/null @@ -1,169 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 4 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 4 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY_1 : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TASK_SET_PRIORITY( - MPTEST.REMOTE_TID, - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - if PREVIOUS_PRIORITY /= MPTEST.REMOTE_NODE then - - TEXT_IO.PUT( "Remote priority (0x" ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY, BASE => 16 ); - TEXT_IO.PUT( "does not match remote node (0x" ); - UNSIGNED32_IO.PUT( MPTEST.REMOTE_NODE, BASE => 16 ); - TEXT_IO.PUT_LINE( ")!!!" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 16#F00000# ); - - end if; - - loop - - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - RTEMS.CURRENT_PRIORITY, - PREVIOUS_PRIORITY_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - exit when PREVIOUS_PRIORITY_1 = MPTEST.REMOTE_NODE; - - end loop; - - - TEXT_IO.PUT_LINE( "Local task priority has been set" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 4 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp04/mptest.ads b/c/src/ada-tests/mptests/mp04/mptest.ads deleted file mode 100644 index 2541ff5a93..0000000000 --- a/c/src/ada-tests/mptests/mp04/mptest.ads +++ /dev/null @@ -1,178 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp04/node1/mp04.scn b/c/src/ada-tests/mptests/mp04/node1/mp04.scn deleted file mode 100644 index e9518f3ac2..0000000000 --- a/c/src/ada-tests/mptests/mp04/node1/mp04.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 4 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 222 -Local task priority has been set -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp04/node2/mp04.scn b/c/src/ada-tests/mptests/mp04/node2/mp04.scn deleted file mode 100644 index 8ccfcfef79..0000000000 --- a/c/src/ada-tests/mptests/mp04/node2/mp04.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 4 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 111 -Local task priority has been set -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp05/mptest.adb b/c/src/ada-tests/mptests/mp05/mptest.adb deleted file mode 100644 index 2bab2ddbb7..0000000000 --- a/c/src/ada-tests/mptests/mp05/mptest.adb +++ /dev/null @@ -1,252 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 5 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 5 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - MPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - SIGNAL : in RTEMS.SIGNAL_SET - ) - is - begin - - if SIGNAL /= MPTEST.EXPECTED_SIGNAL then - - TEXT_IO.PUT( "ERROR: I was expecting signal 0x" ); - UNSIGNED32_IO.PUT( EXPECTED_SIGNAL, BASE => 16 ); - TEXT_IO.PUT( " got 0x" ); - UNSIGNED32_IO.PUT( SIGNAL, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.FATAL_ERROR_OCCURRED( 16#000F_0000# ); - - end if; - - MPTEST.SIGNAL_CAUGHT := TRUE; - - end PROCESS_ASR; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - MPTEST.SIGNAL_CAUGHT := FALSE; - MPTEST.SIGNAL_COUNT := 0; - - TEXT_IO.PUT_LINE( "signal_catch: initializing signal catcher" ); - RTEMS.SIGNAL_CATCH( - MPTEST.PROCESS_ASR'ACCESS, - RTEMS.NO_ASR + RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - MPTEST.REMOTE_SIGNAL := RTEMS.SIGNAL_18; - MPTEST.EXPECTED_SIGNAL := RTEMS.SIGNAL_17; - else - MPTEST.REMOTE_NODE := 1; - MPTEST.REMOTE_SIGNAL := RTEMS.SIGNAL_17; - MPTEST.EXPECTED_SIGNAL := RTEMS.SIGNAL_18; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Sending signal to remote task" ); - loop - RTEMS.SIGNAL_SEND( - MPTEST.REMOTE_TID, - MPTEST.REMOTE_SIGNAL, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.NOT_DEFINED ); - - end loop; - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - end if; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - if MPTEST.SIGNAL_CAUGHT = TRUE then - - MPTEST.SIGNAL_CAUGHT := FALSE; - MPTEST.SIGNAL_COUNT := MPTEST.SIGNAL_COUNT + 1; - - if MPTEST.SIGNAL_COUNT >= MPTEST.SIGNALS_PER_DOT then - - MPTEST.SIGNAL_COUNT := 0; - - TEST_SUPPORT.PUT_DOT( "." ); - - end if; - - RTEMS.SIGNAL_SEND( - MPTEST.REMOTE_TID, - MPTEST.REMOTE_SIGNAL, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - end if; - - end loop; - - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "*** END OF TEST 5 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp05/mptest.ads b/c/src/ada-tests/mptests/mp05/mptest.ads deleted file mode 100644 index 9f95ede392..0000000000 --- a/c/src/ada-tests/mptests/mp05/mptest.ads +++ /dev/null @@ -1,243 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- This is the signal set which is sent to the task on the other node. --- - - REMOTE_SIGNAL : RTEMS.SIGNAL_SET; - --- --- This is the signal set the task on this node expects to receive --- from the other node. --- - - EXPECTED_SIGNAL : RTEMS.SIGNAL_SET; - --- --- These keep track of if a signal set has been caught and how many --- signal sets have been caught cumulative. --- - - SIGNAL_CAUGHT : RTEMS.BOOLEAN; - SIGNAL_COUNT : RTEMS.UNSIGNED32; - --- --- The number of signals to process per dot printed out. --- - - SIGNALS_PER_DOT : constant RTEMS.UNSIGNED32 := 15; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is an ASR for TEST_TASK. --- - - procedure PROCESS_ASR ( - SIGNAL : in RTEMS.SIGNAL_SET - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp05/node1/mp05.scn b/c/src/ada-tests/mptests/mp05/node1/mp05.scn deleted file mode 100644 index 6f0ea4b639..0000000000 --- a/c/src/ada-tests/mptests/mp05/node1/mp05.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 5 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -signal_catch: initializing signal catcher -Remote task's name is : 222 -Getting TID of remote task -Sending signal to remote task -.................................................... -.................................................... -*** END OF TEST 5 *** diff --git a/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp05/node2/mp05.scn b/c/src/ada-tests/mptests/mp05/node2/mp05.scn deleted file mode 100644 index 1fb18c132b..0000000000 --- a/c/src/ada-tests/mptests/mp05/node2/mp05.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 5 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -signal_catch: initializing signal catcher -Remote task's name is : 111 -Getting TID of remote task -.................................................... -.................................................... -*** END OF TEST 5 *** diff --git a/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp06/mptest.adb b/c/src/ada-tests/mptests/mp06/mptest.adb deleted file mode 100644 index 56a0841e20..0000000000 --- a/c/src/ada-tests/mptests/mp06/mptest.adb +++ /dev/null @@ -1,257 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 6 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 6 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - MPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - EVENT_FOR_THIS_ITERATION : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - TEXT_IO.PUT_LINE( "Sending events to remote task" ); - else - TEXT_IO.PUT_LINE( "Receiving events from remote task" ); - end if; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - COUNT := 0; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - EVENT_FOR_THIS_ITERATION := - MPTEST.EVENT_SET_TABLE( - INTEGER( COUNT ) mod MPTEST.EVENT_SET_TABLE'LAST + 1 - ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - EVENT_FOR_THIS_ITERATION, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - else - - RTEMS.EVENT_RECEIVE( - EVENT_FOR_THIS_ITERATION, - RTEMS.DEFAULT_OPTIONS, - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - - if RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ) then - TEXT_IO.NEW_LINE( 1 ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - TEXT_IO.PUT_LINE( - "Correct behavior if the other node exitted." - ); - else - TEXT_IO.PUT_LINE( - "ERROR... node 1 died" - ); - end if; - - exit; - - else - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end if; - - end if; - - if (COUNT mod MPTEST.MAXIMUM_DOTS) = 0 then - - TEST_SUPPORT.PUT_DOT( "." ); - - end if; - - COUNT := COUNT + 1; - - end loop; - - TEXT_IO.NEW_LINE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - RTEMS.TIMEOUT, - STATUS, - "EVENT_RECEIVE" - ); - - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "event_receive - correctly returned TIMEOUT" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 6 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp06/mptest.ads b/c/src/ada-tests/mptests/mp06/mptest.ads deleted file mode 100644 index f7fb4f599d..0000000000 --- a/c/src/ada-tests/mptests/mp06/mptest.ads +++ /dev/null @@ -1,250 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of signals to process per dot printed out. --- - - MAXIMUM_DOTS : constant RTEMS.UNSIGNED32 := 25; - --- --- The following is a table of the event sets which consist of --- a single event. This test cycles through all of these --- events. --- - - EVENT_SET_TABLE : constant array ( 0 .. 30 ) of RTEMS.EVENT_SET := ( - RTEMS.EVENT_0, - RTEMS.EVENT_1, - RTEMS.EVENT_2, - RTEMS.EVENT_3, - RTEMS.EVENT_4, - RTEMS.EVENT_5, - RTEMS.EVENT_6, - RTEMS.EVENT_7, - RTEMS.EVENT_8, - RTEMS.EVENT_9, - RTEMS.EVENT_10, - RTEMS.EVENT_11, - RTEMS.EVENT_12, - RTEMS.EVENT_13, - RTEMS.EVENT_14, - RTEMS.EVENT_15, - RTEMS.EVENT_16, - RTEMS.EVENT_17, - RTEMS.EVENT_18, - RTEMS.EVENT_19, - RTEMS.EVENT_20, - RTEMS.EVENT_21, - RTEMS.EVENT_22, - RTEMS.EVENT_23, - RTEMS.EVENT_24, - RTEMS.EVENT_25, - RTEMS.EVENT_26, - RTEMS.EVENT_27, - RTEMS.EVENT_28, - RTEMS.EVENT_29, - RTEMS.EVENT_30 - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp06/node1/mp06.scn b/c/src/ada-tests/mptests/mp06/node1/mp06.scn deleted file mode 100644 index 71da651eca..0000000000 --- a/c/src/ada-tests/mptests/mp06/node1/mp06.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 6 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 222 -Getting TID of remote task -Sending events to remote task -.................................................... -.................................................... -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp06/node2/mp06.scn b/c/src/ada-tests/mptests/mp06/node2/mp06.scn deleted file mode 100644 index da449041b4..0000000000 --- a/c/src/ada-tests/mptests/mp06/node2/mp06.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 6 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 111 -Getting TID of remote task -Receiving events from remote task -.................................................... -.................................................... -event_receive - correctly returned TIMEOUT -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp07/mptest.adb b/c/src/ada-tests/mptests/mp07/mptest.adb deleted file mode 100644 index 2f86bb310c..0000000000 --- a/c/src/ada-tests/mptests/mp07/mptest.adb +++ /dev/null @@ -1,210 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 7 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 7 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - loop - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Sending first event to remote task" ); - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end if; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.PER_DOT - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - if RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ) then - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( - "TA1 - TIMEOUT .. probably OK if the other node exits" - ); - exit; - else - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - end if; - - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "." ); - - end loop; - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "*** END OF TEST 7 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp07/mptest.ads b/c/src/ada-tests/mptests/mp07/mptest.ads deleted file mode 100644 index 6640261d88..0000000000 --- a/c/src/ada-tests/mptests/mp07/mptest.ads +++ /dev/null @@ -1,210 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp07/node1/mp07.scn b/c/src/ada-tests/mptests/mp07/node1/mp07.scn deleted file mode 100644 index 71e0956329..0000000000 --- a/c/src/ada-tests/mptests/mp07/node1/mp07.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 7 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 222 -Getting TID of remote task -Sending first event to remote task -.................................................... -.................................................... -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp07/node2/mp07.scn b/c/src/ada-tests/mptests/mp07/node2/mp07.scn deleted file mode 100644 index c31011e85c..0000000000 --- a/c/src/ada-tests/mptests/mp07/node2/mp07.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 7 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 111 -Getting TID of remote task -.................................................... -.................................................... -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp08/mptest.adb b/c/src/ada-tests/mptests/mp08/mptest.adb deleted file mode 100644 index e07fa1dc4c..0000000000 --- a/c/src/ada-tests/mptests/mp08/mptest.adb +++ /dev/null @@ -1,207 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 8 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 8 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Semaphore(Global)" ); - - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - DOTS : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.SEMAPHORE_DELETE( - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "SEMAPHORE_DELETE" - ); - - TEXT_IO.PUT_LINE( - "semaphore_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT" - ); - - end if; - - COUNT := 0; - - loop - - TEST_SUPPORT.PUT_DOT( "p" ); - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - if not RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN" - ); - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Global semaphore deleted" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - COUNT := COUNT + 1; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 and then - COUNT >= 1000 then - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Deleting global semaphore" ); - - RTEMS.SEMAPHORE_DELETE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - TEST_SUPPORT.PUT_DOT( "v" ); - - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - end loop; - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp08/mptest.ads b/c/src/ada-tests/mptests/mp08/mptest.ads deleted file mode 100644 index 8467cbe217..0000000000 --- a/c/src/ada-tests/mptests/mp08/mptest.ads +++ /dev/null @@ -1,192 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores created --- by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 1, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp08/node1/mp08.scn b/c/src/ada-tests/mptests/mp08/node1/mp08.scn deleted file mode 100644 index ba9f089e96..0000000000 --- a/c/src/ada-tests/mptests/mp08/node1/mp08.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 8 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting SMID of semaphore -pvpvpvpvpvp....... -(continued) pvp -Deleting global semaphore -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp08/node2/mp08.scn b/c/src/ada-tests/mptests/mp08/node2/mp08.scn deleted file mode 100644 index 8ac712ae93..0000000000 --- a/c/src/ada-tests/mptests/mp08/node2/mp08.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 8 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting SMID of semaphore -semaphore_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT -pvpvpvpvpvp....... -(continued) pvp -Global semaphore deleted -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp09/mptest.adb b/c/src/ada-tests/mptests/mp09/mptest.adb deleted file mode 100644 index f8f0f594d0..0000000000 --- a/c/src/ada-tests/mptests/mp09/mptest.adb +++ /dev/null @@ -1,381 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 9 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 9 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( MPTEST.RECEIVE_BUFFER_AREA'ADDRESS ); - - MPTEST.BUFFER_1 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_1'ADDRESS ); - - MPTEST.BUFFER_2 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_2'ADDRESS ); - - MPTEST.BUFFER_3 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_3'ADDRESS ); - - MPTEST.BUFFER_4 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_4'ADDRESS ); - - MPTEST.FILL_BUFFER( "123456789012345 ", MPTEST.BUFFER_AREA_1 ); - MPTEST.FILL_BUFFER( "abcdefghijklmno ", MPTEST.BUFFER_AREA_2 ); - MPTEST.FILL_BUFFER( "ABCDEFGHIJKLMNO ", MPTEST.BUFFER_AREA_3 ); - MPTEST.FILL_BUFFER( "PQRSTUVWXYZ(){} ", MPTEST.BUFFER_AREA_4 ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- SEND_MESSAGES --- - - procedure SEND_MESSAGES is - BROADCAST_COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "message_queue_send : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "message_queue_urgent : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_2 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_URGENT( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "message_queue_broadcast : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_3 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_BROADCAST( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_3, - BROADCAST_COUNT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_BROADCAST" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end SEND_MESSAGES; - ---PAGE --- --- RECEIVE_MESSAGES --- - - procedure RECEIVE_MESSAGES is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. 3 - loop - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - TEXT_IO.PUT( "Received : " ); - MPTEST.PUT_BUFFER( MPTEST.RECEIVE_BUFFER_AREA ); - TEXT_IO.NEW_LINE; - - end loop; - - TEXT_IO.PUT_LINE( "Receiver delaying for a second" ); - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end RECEIVE_MESSAGES; - ---PAGE --- --- FILL_BUFFER --- - --- --- Depends on tricks to make the copy work. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out RTEMS.BUFFER - ) is - SOURCE_BUFFER : RTEMS.BUFFER_POINTER; - begin - - SOURCE_BUFFER := RTEMS.TO_BUFFER_POINTER( - SOURCE( SOURCE'FIRST )'ADDRESS - ); - - BUFFER.FIELD1 := SOURCE_BUFFER.FIELD1; - BUFFER.FIELD2 := SOURCE_BUFFER.FIELD2; - BUFFER.FIELD3 := SOURCE_BUFFER.FIELD3; - BUFFER.FIELD4 := SOURCE_BUFFER.FIELD4; - - end FILL_BUFFER; - ---PAGE --- --- PUT_BUFFER --- - --- --- Depends on tricks to make the output work. --- - - procedure PUT_BUFFER ( - BUFFER : in RTEMS.BUFFER - ) is - begin - - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD1, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD2, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD3, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD4, FALSE ); - - end PUT_BUFFER; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.MESSAGE_QUEUE_DELETE( MPTEST.QUEUE_ID( 1 ), STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "MESSAGE_QUEUE_DELETE" - ); - - TEXT_IO.PUT_LINE( - "message_queue_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT" - ); - - MPTEST.SEND_MESSAGES; - - MPTEST.RECEIVE_MESSAGES; - - TEXT_IO.PUT_LINE( "Flushing remote empty queue" ); - RTEMS.MESSAGE_QUEUE_FLUSH( MPTEST.QUEUE_ID( 1 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 1 ); - TEXT_IO.PUT_LINE( - " messages were flushed from remote empty queue" - ); - - TEXT_IO.PUT_LINE( - "Send messages to be flushed from remote queue" - ); - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "Flushing remote queue" ); - RTEMS.MESSAGE_QUEUE_FLUSH( MPTEST.QUEUE_ID( 1 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 1 ); - TEXT_IO.PUT_LINE( - " messages were flushed from the remote queue" - ); - - TEXT_IO.PUT_LINE( "Waiting for message queue to be deleted" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "MESSAGE_QUEUE_FLUSH" - ); - - else - - MPTEST.RECEIVE_MESSAGES; - - MPTEST.SEND_MESSAGES; - - RTEMS.TASK_WAKE_AFTER( - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.MESSAGE_QUEUE_DELETE( MPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 9 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp09/mptest.ads b/c/src/ada-tests/mptests/mp09/mptest.ads deleted file mode 100644 index b981b4664c..0000000000 --- a/c/src/ada-tests/mptests/mp09/mptest.ads +++ /dev/null @@ -1,254 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- The following are message buffers used to contain the test messages --- and pointers to those buffers. --- - - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - BUFFER_AREA_1 : RTEMS.BUFFER; - BUFFER_AREA_2 : RTEMS.BUFFER; - BUFFER_AREA_3 : RTEMS.BUFFER; - BUFFER_AREA_4 : RTEMS.BUFFER; - - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - BUFFER_1 : RTEMS.BUFFER_POINTER; - BUFFER_2 : RTEMS.BUFFER_POINTER; - BUFFER_3 : RTEMS.BUFFER_POINTER; - BUFFER_4 : RTEMS.BUFFER_POINTER; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SEND_MESSAGES --- --- This subprogram prints and sends a sequence of three test messages. --- One of the messages is sent, one is urgent, and one is broadcast. --- A one second pause is between each the sending of each message. --- - - procedure SEND_MESSAGES; - --- --- RECEIVE_MESSAGES --- --- This subprogram receives and prints a sequence of three test messages. --- - - procedure RECEIVE_MESSAGES; - --- --- FILL_BUFFER --- --- DESCRIPTION: --- --- This subprogram takes the SOURCE input string and places --- up to the first sixteen characters of that string into --- the message BUFFER. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out RTEMS.BUFFER - ); - --- --- PUT_BUFFER --- --- DESCRIPTION: --- --- This subprogram prints the specified message BUFFER. --- - - procedure PUT_BUFFER ( - BUFFER : in RTEMS.BUFFER - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 1, -- maximum # message queues - 1, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp09/node1/mp09.scn b/c/src/ada-tests/mptests/mp09/node1/mp09.scn deleted file mode 100644 index 167d6e18a5..0000000000 --- a/c/src/ada-tests/mptests/mp09/node1/mp09.scn +++ /dev/null @@ -1,20 +0,0 @@ -*** TEST 9 -- NODE 1 *** -Creating Message Queue (Global) -Creating Test_task (local) -Starting Test_task (local) -Deleting initialization task -Getting QID of message queue -Receiving message ... -Received : 123456789012345 -Receiving message ... -Received : abcdefghijklmno -Receiving message ... -Received : ABCDEFGHIJKLMNO -Receiver delaying for a second -message_queue_send : 123456789012345 -Delaying for a second -message_queue_urgent : abcdefghijklmno -Delaying for a second -message_queue_broadcast : ABCDEFGHIJKLMNO -Delaying for a second -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp09/node2/mp09.scn b/c/src/ada-tests/mptests/mp09/node2/mp09.scn deleted file mode 100644 index 4cd8a7bff7..0000000000 --- a/c/src/ada-tests/mptests/mp09/node2/mp09.scn +++ /dev/null @@ -1,26 +0,0 @@ -*** TEST 9 -- NODE 2 *** -Creating Test_task (local) -Starting Test_task (local) -Deleting initialization task -Getting QID of message queue -message_queue_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT -message_queue_send : 123456789012345 -Delaying for a second -message_queue_urgent : abcdefghijklmno -Delaying for a second -message_queue_broadcast : ABCDEFGHIJKLMNO -Delaying for a second -Receiving message ... -Received : 123456789012345 -Receiving message ... -Received : abcdefghijklmno -Receiving message ... -Received : ABCDEFGHIJKLMNO -Receiver delaying for a second -Flushing remote empty queue -0 messages were flushed from remote empty queue -Send messages to be flushed from remote queue -Flushing remote queue -1 messages were flushed from the remote queue -Waiting for message queue to be deleted -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp10/mptest.adb b/c/src/ada-tests/mptests/mp10/mptest.adb deleted file mode 100644 index 011d1f83e7..0000000000 --- a/c/src/ada-tests/mptests/mp10/mptest.adb +++ /dev/null @@ -1,301 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 10 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 10 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - MPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'A', '3', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 0, - RTEMS.GLOBAL + RTEMS.PRIORITY, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.TASK_WAKE_AFTER( 10 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - else - - TEXT_IO.PUT_LINE( "Creating Test_task 1 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 1 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 2 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 2 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 3 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 3 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 3 ), - MPTEST.TEST_TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Sleeping for 1 second ..." ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Deleting Test_task 2" ); - RTEMS.TASK_DELETE( MPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF 2" ); - - TEXT_IO.PUT_LINE( "Deleting Test_task 1" ); - RTEMS.TASK_DELETE( MPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF 1" ); - - TEXT_IO.PUT_LINE( "Restarting Test_task 3" ); - RTEMS.TASK_RESTART( MPTEST.TASK_ID( 3 ), 1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF 3" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 10 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - ---PAGE --- --- TEST_TASK_1 --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( RECEIVE_BUFFER_AREA'ADDRESS ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to receive message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - end TEST_TASK_1; - ---PAGE --- --- TEST_TASK_2 --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to acquire semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end TEST_TASK_2; - ---PAGE --- --- TEST_TASK_3 --- - - procedure TEST_TASK_3 ( - RESTART : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - if RESTART = 1 then - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to acquire semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end TEST_TASK_3; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp10/mptest.ads b/c/src/ada-tests/mptests/mp10/mptest.ads deleted file mode 100644 index a574adf43f..0000000000 --- a/c/src/ada-tests/mptests/mp10/mptest.ads +++ /dev/null @@ -1,224 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 10 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_1 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_2 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_3 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_3 ( - RESTART : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp10/node1/mp10.scn b/c/src/ada-tests/mptests/mp10/node1/mp10.scn deleted file mode 100644 index deeafc0a9a..0000000000 --- a/c/src/ada-tests/mptests/mp10/node1/mp10.scn +++ /dev/null @@ -1,4 +0,0 @@ -*** TEST 10 -- NODE 1 *** -Creating Message Queue (Global) -Creating Semaphore (Global) -*** END OF TEST 10 *** diff --git a/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp10/node2/mp10.scn b/c/src/ada-tests/mptests/mp10/node2/mp10.scn deleted file mode 100644 index c0337fdacf..0000000000 --- a/c/src/ada-tests/mptests/mp10/node2/mp10.scn +++ /dev/null @@ -1,18 +0,0 @@ -*** TEST 10 -- NODE 2 *** -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Creating Test_task 3 (local) -Starting Test_task 3 (local) -Sleeping for 1 second ... -Getting QID of message queue -Attempting to receive message ... -Getting SMID of semaphore -Attempting to acquire semaphore ... -Getting SMID of semaphore -Attempting to acquire semaphore ... -Deleting Test_task 2 -Deleting Test_task 1 -Restarting Test_task 3 -*** END OF TEST 10 *** diff --git a/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp11/mptest.adb b/c/src/ada-tests/mptests/mp11/mptest.adb deleted file mode 100644 index c94ca43eaa..0000000000 --- a/c/src/ada-tests/mptests/mp11/mptest.adb +++ /dev/null @@ -1,138 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 11 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 11 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Attempting to create Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TASK_CREATE" - ); - TEXT_IO.PUT_LINE( "task_create correctly returned TOO_MANY" ); - - TEXT_IO.PUT_LINE( "Attempting to create Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_CREATE" - ); - TEXT_IO.PUT_LINE( - "message_queue_create correctly returned TOO_MANY" - ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "SEMAPHORE_CREATE" - ); - TEXT_IO.PUT_LINE( "semaphore_create correctly returned TOO_MANY" ); - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PARTITION_CREATE" - ); - TEXT_IO.PUT_LINE( "partition_create correctly returned TOO_MANY" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp11/mptest.ads b/c/src/ada-tests/mptests/mp11/mptest.ads deleted file mode 100644 index 6d54d45084..0000000000 --- a/c/src/ada-tests/mptests/mp11/mptest.ads +++ /dev/null @@ -1,184 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partition --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 1023 ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 0, -- maximum # global objects - 0 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp11/node1/mp11.scn b/c/src/ada-tests/mptests/mp11/node1/mp11.scn deleted file mode 100644 index 013426bf91..0000000000 --- a/c/src/ada-tests/mptests/mp11/node1/mp11.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 11 -- NODE 1 *** -Attempting to create Test_task (Global) -task_create correctly returned TOO_MANY -Attempting to create Message Queue (Global) -message_queue_create correctly returned TOO_MANY -Creating Semaphore (Global) -semaphore_create correctly returned TOO_MANY -Creating Partition (Global) -partition_create correctly returned TOO_MANY -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp11/node2/mp11.scn b/c/src/ada-tests/mptests/mp11/node2/mp11.scn deleted file mode 100644 index 49bd8a3219..0000000000 --- a/c/src/ada-tests/mptests/mp11/node2/mp11.scn +++ /dev/null @@ -1,2 +0,0 @@ -*** TEST 11 -- NODE 2 *** -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp12/mptest.adb b/c/src/ada-tests/mptests/mp12/mptest.adb deleted file mode 100644 index e99006ec72..0000000000 --- a/c/src/ada-tests/mptests/mp12/mptest.adb +++ /dev/null @@ -1,152 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 12 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER_ADDRESS : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 12 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - TEXT_IO.PUT_LINE( "Got to the initialization task" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting ID of remote Partition (Global)" ); - - loop - - RTEMS.PARTITION_IDENT( - MPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( - "Attempting to delete remote Partition (Global)" - ); - - RTEMS.PARTITION_DELETE( MPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "PARTITION_DELETE" - ); - - TEXT_IO.PUT_LINE( - "partition_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT!!" - ); - - TEXT_IO.PUT_LINE( "Obtaining a buffer from the global partition" ); - - RTEMS.PARTITION_GET_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT( "Address returned was : " ); - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( BUFFER_ADDRESS, RTEMS.NULL_ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - TEXT_IO.NEW_LINE; - - RTEMS.PARTITION_RETURN_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - else - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - TEXT_IO.PUT_LINE( "Sleeping for three seconds" ); - RTEMS.TASK_WAKE_AFTER( 3 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Deleting Partition (Global)" ); - RTEMS.PARTITION_DELETE( MPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 12 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp12/mptest.ads b/c/src/ada-tests/mptests/mp12/mptest.ads deleted file mode 100644 index bc6b0d8827..0000000000 --- a/c/src/ada-tests/mptests/mp12/mptest.ads +++ /dev/null @@ -1,182 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 1023 ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp12/node1/mp12.scn b/c/src/ada-tests/mptests/mp12/node1/mp12.scn deleted file mode 100644 index 40646722eb..0000000000 --- a/c/src/ada-tests/mptests/mp12/node1/mp12.scn +++ /dev/null @@ -1,6 +0,0 @@ -*** TEST 12 -- NODE 1 *** -Got to the initialization task -Creating Partition (Global) -Sleeping for three seconds -Deleting Partition (Global) -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp12/node2/mp12.scn b/c/src/ada-tests/mptests/mp12/node2/mp12.scn deleted file mode 100644 index 2189ae9959..0000000000 --- a/c/src/ada-tests/mptests/mp12/node2/mp12.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 12 -- NODE 2 *** -Got to the initialization task -Getting ID of remote Partition (Global) -Attempting to delete remote Partition (Global) -partition_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT!! -Obtaining a buffer from the global partition -Address returned was : 0x200f0000 -NOTE: Address printed will probably differ!!! -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp13/mptest.adb b/c/src/ada-tests/mptests/mp13/mptest.adb deleted file mode 100644 index 33aebf6cd8..0000000000 --- a/c/src/ada-tests/mptests/mp13/mptest.adb +++ /dev/null @@ -1,328 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 13 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 13 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL + RTEMS.PRIORITY, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task 1 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 1 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 2 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 2 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK_1 --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( RECEIVE_BUFFER_AREA'ADDRESS ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEXT_IO.PUT_LINE( "How did I get back from here???" ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_RECEIVE" - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_OBTAIN" - ); - - TEXT_IO.PUT_LINE( - "message_queue_receive correctly returned TIMEOUT" - ); - - TEXT_IO.PUT_LINE( "Deleting self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TEST_TASK_1; - ---PAGE --- --- TEST_TASK_2 --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Releasing semaphore ..." ); - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEXT_IO.PUT_LINE( "How did I get back from here???" ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( "Releasing semaphore ..." ); - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "SEMAPHORE_OBTAIN" - ); - TEXT_IO.PUT_LINE( "semaphore_obtain correctly returned TIMEOUT" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK_2; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp13/mptest.ads b/c/src/ada-tests/mptests/mp13/mptest.ads deleted file mode 100644 index 1575c5adeb..0000000000 --- a/c/src/ada-tests/mptests/mp13/mptest.ads +++ /dev/null @@ -1,206 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_1 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_2 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp13/node1/mp13.scn b/c/src/ada-tests/mptests/mp13/node1/mp13.scn deleted file mode 100644 index d3bd11f65e..0000000000 --- a/c/src/ada-tests/mptests/mp13/node1/mp13.scn +++ /dev/null @@ -1,14 +0,0 @@ -*** TEST 13 -- NODE 1 *** -Creating Message Queue (Global) -Creating Semaphore (Global) -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Getting QID of message queue -Receiving message ... -Getting SMID of semaphore -Releasing semaphore ... -Getting semaphore ... -Getting semaphore ... -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp13/node2/mp13.scn b/c/src/ada-tests/mptests/mp13/node2/mp13.scn deleted file mode 100644 index 3254046292..0000000000 --- a/c/src/ada-tests/mptests/mp13/node2/mp13.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 13 -- NODE 2 *** -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Deleting initialization task -Getting QID of message queue -Getting SMID of semaphore -Getting semaphore ... -Releasing semaphore ... -Receiving message ... -Getting semaphore ... -message_queue_receive correctly returned TIMEOUT -Deleting self -semaphore_obtain correctly returned TIMEOUT -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp14/mptest.adb b/c/src/ada-tests/mptests/mp14/mptest.adb deleted file mode 100644 index e43aec8ae5..0000000000 --- a/c/src/ada-tests/mptests/mp14/mptest.adb +++ /dev/null @@ -1,764 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 14 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with BSP; -with BSP_MPCI; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- EXIT_TEST --- - - procedure EXIT_TEST is - OLD_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( RTEMS.NO_PREEMPT, RTEMS.PREEMPT_MASK, OLD_MODE, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - BSP_MPCI.PRINT_STATISTICS; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end EXIT_TEST; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 14 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.STOP_TIMER_NAME := RTEMS.BUILD_NAME( 'S', 'T', 'O', 'P' ); - - MPTEST.STOP_TEST := FALSE; - - RTEMS.TIMER_CREATE( - MPTEST.STOP_TIMER_NAME, - MPTEST.STOP_TIMER_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.STOP_TIMER_ID, - BSP.MAXIMUM_LONG_TEST_DURATION * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - MPTEST.EVENT_TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.EVENT_TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'T', '1', ' ' ); - MPTEST.QUEUE_TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'M', 'T', '2', ' ' ); - - MPTEST.PARTITION_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - MPTEST.PARTITION_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'P', 'T', '2', ' ' ); - - MPTEST.SEMAPHORE_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - MPTEST.SEMAPHORE_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', 'R', ' ' ); - - for INDEX in MPTEST.BUFFERS'FIRST .. MPTEST.BUFFERS'LAST - loop - - MPTEST.BUFFERS( INDEX ) := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREAS( INDEX )'ADDRESS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 16#8000#, - 16#3000#, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Event task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.EVENT_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.EVENT_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Event task (Global)" ); - RTEMS.TASK_START( - MPTEST.EVENT_TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.SEMAPHORE_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Semaphore task (Global)" ); - RTEMS.TASK_START( - MPTEST.SEMAPHORE_TASK_ID( 1 ), - MPTEST.SEMAPHORE_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Message Queue task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.QUEUE_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.QUEUE_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Message Queue task (Global)" ); - RTEMS.TASK_START( - MPTEST.QUEUE_TASK_ID( 1 ), - MPTEST.MESSAGE_QUEUE_TASK'ACCESS, - 1, -- index of buffer - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Partition task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.PARTITION_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.PARTITION_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Partition task (Global)" ); - RTEMS.TASK_START( - MPTEST.PARTITION_TASK_ID( 1 ), - MPTEST.PARTITION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 2, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - MPTEST.DELAYED_EVENTS_TASK( 1 ); - - end INIT; - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( - MPTEST.TASK_ID( RTEMS.GET_INDEX( TIMER_ID ) ), - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end DELAYED_SEND_EVENT; - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - REMOTE_NODE : RTEMS.UNSIGNED32; - REMOTE_TID : RTEMS.ID; - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - REMOTE_NODE := 2; - else - REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT_LINE( "About to go to sleep!" ); - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - TEXT_IO.PUT_LINE( "Waking up!" ); - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.EVENT_TASK_NAME( REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.EVENT_TASK_NAME( REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "task_ident" ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - TEXT_IO.PUT_LINE( "Sending events to remote task" ); - - loop - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.EVENT_TASK_DOT_COUNT - loop - RTEMS.EVENT_SEND( - REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - exit when MPTEST.STOP_TEST = TRUE; - - end loop; - - TEST_SUPPORT.PUT_DOT( "e" ); - - end loop; - - end if; - - TEXT_IO.PUT_LINE( "Receiving events from remote task" ); - - loop - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.EVENT_TASK_DOT_COUNT - loop - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "e" ); - - end loop; - - MPTEST.EXIT_TEST; - - end TEST_TASK; - --- --- DELAYED_EVENTS_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure DELAYED_EVENTS_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - EVENTS_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( - RTEMS.PREEMPT + RTEMS.TIMESLICE, - RTEMS.PREEMPT_MASK + RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TASK_IDENT( - RTEMS.SELF, - RTEMS.SEARCH_ALL_NODES, - MPTEST.TASK_ID( RTEMS.GET_INDEX( MPTEST.TIMER_ID( 1 ) ) ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENTS" ); - - loop - - for COUNT in 1 .. MPTEST.DELAYED_EVENT_DOT_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 1, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTS_OUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "." ); - - end loop; - - MPTEST.EXIT_TEST; - - end DELAYED_EVENTS_TASK; - --- --- MESSAGE_QUEUE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure MESSAGE_QUEUE_TASK ( - INDEX : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - YIELD_COUNT : RTEMS.UNSIGNED32; - OVERFLOW_COUNT : RTEMS.UNSIGNED32_POINTER; - BUFFER_COUNT : RTEMS.UNSIGNED32_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.BUFFERS( INDEX ).FIELD1 := 0; - MPTEST.BUFFERS( INDEX ).FIELD2 := 0; - MPTEST.BUFFERS( INDEX ).FIELD3 := 0; - MPTEST.BUFFERS( INDEX ).FIELD4 := 0; - - TEXT_IO.PUT_LINE( "Getting ID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "message_queue_ident FAILED!!" ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - OVERFLOW_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD1'ADDRESS - ); - - BUFFER_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD2'ADDRESS - ); - - else - - OVERFLOW_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD3'ADDRESS - ); - - BUFFER_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD4'ADDRESS - ); - - end if; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - YIELD_COUNT := 100; - - for COUNT in 1 .. MPTEST.MESSAGE_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_RECEIVE" - ); - - if BUFFER_COUNT.ALL = RTEMS.UNSIGNED32'LAST then - BUFFER_COUNT.ALL := 0; - OVERFLOW_COUNT.ALL := OVERFLOW_COUNT.ALL + 1; - else - BUFFER_COUNT.ALL := BUFFER_COUNT.ALL + 1; - end if; - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - if MPTEST.STOP_TEST = FALSE then - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - YIELD_COUNT := YIELD_COUNT - 1; - - if YIELD_COUNT = 0 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - YIELD_COUNT := 100; - - end if; - - end if; - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "m" ); - - end loop; - - MPTEST.EXIT_TEST; - - end MESSAGE_QUEUE_TASK; - --- --- PARTITION_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure PARTITION_TASK ( - IGNORED : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - BUFFER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting ID of partition" ); - - loop - - RTEMS.PARTITION_IDENT( - MPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "partition_ident FAILED!!" ); - - end loop; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.PARTITION_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.PARTITION_GET_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - - RTEMS.PARTITION_RETURN_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PARTITION_RETURN_BUFFER" - ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "p" ); - - end loop; - - MPTEST.EXIT_TEST; - - end PARTITION_TASK; - --- --- SEMAPHORE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure SEMAPHORE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - YIELD_COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting ID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "semaphore_ident FAILED!!" ); - - end loop; - - loop - - YIELD_COUNT := 100; - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.SEMAPHORE_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - YIELD_COUNT := YIELD_COUNT - 1; - - if YIELD_COUNT = 0 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - YIELD_COUNT := 100; - - end if; - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "s" ); - - end loop; - - MPTEST.EXIT_TEST; - - end SEMAPHORE_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp14/mptest.ads b/c/src/ada-tests/mptests/mp14/mptest.ads deleted file mode 100644 index 83786f5fe0..0000000000 --- a/c/src/ada-tests/mptests/mp14/mptest.ads +++ /dev/null @@ -1,347 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing event sets. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing event sets. --- - - EVENT_TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - EVENT_TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for manipulating semaphores. --- - - SEMAPHORE_TASK_ID : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - SEMAPHORE_TASK_NAME : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing messages. --- - - QUEUE_TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - QUEUE_TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for manipulating the global partitions. --- - - PARTITION_TASK_ID : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - PARTITION_TASK_NAME : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message_queues --- created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- --- These arrays contain the IDs and NAMEs of all RTEMS timers --- created by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- The following are message buffers used to contain the test messages --- and pointers to those buffers. --- - - BUFFER_AREAS : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.BUFFER; - BUFFERS : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.BUFFER_POINTER; - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 16#7FFF# ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following constants control the flow of "dot" indicators --- from the various test componenents. --- - - EVENT_TASK_DOT_COUNT : constant RTEMS.UNSIGNED32 := 100; - EVENT_SEND_DOT_COUNT : constant RTEMS.UNSIGNED32 := 100; - DELAYED_EVENT_DOT_COUNT : constant RTEMS.UNSIGNED32 := 1000; - MESSAGE_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - PARTITION_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - SEMAPHORE_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - --- --- These contain the IDs and NAMEs of the RTEMS timers used --- by this test to stop. --- - - STOP_TIMER_ID : RTEMS.ID; - STOP_TIMER_NAME : RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - - STOP_TEST : RTEMS.BOOLEAN; - --- --- EXIT_TEST --- --- DESCRIPTION: --- --- This subprogram is invoked to stop this test. --- - - procedure EXIT_TEST; - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_EVENTS_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure DELAYED_EVENTS_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MESSAGE_QUEUE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure MESSAGE_QUEUE_TASK ( - INDEX : in RTEMS.TASK_ARGUMENT - ); - --- --- PARTITION_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure PARTITION_TASK ( - IGNORED : in RTEMS.TASK_ARGUMENT - ); - --- --- SEMAPHORE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure SEMAPHORE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.TIMESLICE, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 12, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 1, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 1 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp14/node1/mp14.scn b/c/src/ada-tests/mptests/mp14/node1/mp14.scn deleted file mode 100644 index d1b6feefe9..0000000000 --- a/c/src/ada-tests/mptests/mp14/node1/mp14.scn +++ /dev/null @@ -1,33 +0,0 @@ -*** TEST 14 -- NODE 1 *** -Creating Semaphore (Global) -Creating Message Queue (Global) -Creating Partition (Global) -Creating Event task (Global) -Starting Event task (Global) -Creating Semaphore task (Global) -About to go to sleep! -Starting Semaphore task (Global) -Creating Message Queue task (Global) -Getting SMID of semaphore -Starting Message Queue task (Global) -Creating Partition task (Global) -Getting ID of msg queue -Starting Partition task (Global) -Getting ID of partition -Waking up! -Remote task's name is : 222 -Getting TID of remote task -Sending events to remote task -<stream of following characters> -. - indicates 100 iterations of -tm_evafter of 1 tick and event_receive. -e - indicates that 100 -events have been sent to the remote task. -m - indicates 100 iterations of -message_queue_send and message_queue_receive. -p - indicates 100 iterations of -partition_get_buffer and partition_return_buffer. -s - indicates 100 iterations of -semaphore_obtain and semaphore_release. -NOTE: The characters in the stream could begin to appear whenever any -task is started. diff --git a/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp14/node2/mp14.scn b/c/src/ada-tests/mptests/mp14/node2/mp14.scn deleted file mode 100644 index a245b11faa..0000000000 --- a/c/src/ada-tests/mptests/mp14/node2/mp14.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 14 -- NODE 2 *** -Creating Event task (Global) -Starting Event task (Global) -Creating Semaphore task (Global) -About to go to sleep! -Starting Semaphore task (Global) -Creating Message Queue task (Global) -Getting SMID of semaphore -Starting Message Queue task (Global) -Creating Partition task (Global) -Getting ID of msg queue -Starting Partition task (Global) -Getting ID of partition -Waking up! -Remote task's name is : 111 -Getting TID of remote task -Receiving events from remote task -<stream of following characters> -. - indicates 100 iterations of -tm_evafter of 1 tick and event_receive. -e - indicates that 100 -events have been sent to the remote task. -m - indicates 100 iterations of -message_queue_send and message_queue_receive. -p - indicates 100 iterations of -partition_get_buffer and partition_return_buffer. -s - indicates 100 iterations of -semaphore_obtain and semaphore_release. diff --git a/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_mp/mptest.adb b/c/src/ada-tests/samples/base_mp/mptest.adb deleted file mode 100644 index 61990654b4..0000000000 --- a/c/src/ada-tests/samples/base_mp/mptest.adb +++ /dev/null @@ -1,108 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - C : RTEMS.CHARACTER; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** SAMPLE MULTIPROCESSOR APPLICATION ***" ); - TEXT_IO.PUT( "Creating and starting an application task" ); - - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.APPLICATION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- APPLICATION_TASK --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT( "This task was invoked with node argument (" ); - UNSIGNED32_IO.PUT( ARGUMENT ); - TEXT_IO.PUT_LINE( ")" ); - - TEXT_IO.PUT( "This task has the id of 0x" ); - UNSIGNED32_IO.PUT( TID, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "*** END OF SAMPLE MULTIPROCESSOR APPLICATION ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end APPLICATION_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/samples/base_mp/mptest.ads b/c/src/ada-tests/samples/base_mp/mptest.ads deleted file mode 100644 index 7b76581a62..0000000000 --- a/c/src/ada-tests/samples/base_mp/mptest.ads +++ /dev/null @@ -1,166 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- APPLICATION_TASK --- --- DESCRIPTION: --- --- This routine is as an example of an application task which --- prints a message including its RTEMS task id. This task --- then invokes exit to return to the monitor. --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.GLOBAL, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 33, -- maximum # global objects - 33 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/samples/base_mp/node1/base_mp.scn b/c/src/ada-tests/samples/base_mp/node1/base_mp.scn deleted file mode 100644 index a2d2f359be..0000000000 --- a/c/src/ada-tests/samples/base_mp/node1/base_mp.scn +++ /dev/null @@ -1,5 +0,0 @@ -*** SAMPLE MULTIPROCESSOR APPLICATION *** -Creating and starting an application task -This task was invoked with the node argument (1) -This task has the id of 0x10002 -*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_mp/node2/base_mp.scn b/c/src/ada-tests/samples/base_mp/node2/base_mp.scn deleted file mode 100644 index 95bc96a808..0000000000 --- a/c/src/ada-tests/samples/base_mp/node2/base_mp.scn +++ /dev/null @@ -1,5 +0,0 @@ -*** SAMPLE MULTIPROCESSOR APPLICATION *** -Creating and starting an application task -This task was invoked with the node argument (2) -This task has the id of 0x20002 -*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_sp/base_sp.adb b/c/src/ada-tests/samples/base_sp/base_sp.adb deleted file mode 100644 index 0800b3da48..0000000000 --- a/c/src/ada-tests/samples/base_sp/base_sp.adb +++ /dev/null @@ -1,58 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Base Single Process Example of the --- Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Base_SP is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Base_SP; - diff --git a/c/src/ada-tests/samples/base_sp/base_sp.scn b/c/src/ada-tests/samples/base_sp/base_sp.scn deleted file mode 100644 index 90794be60c..0000000000 --- a/c/src/ada-tests/samples/base_sp/base_sp.scn +++ /dev/null @@ -1,4 +0,0 @@ -*** SAMPLE SINGLE PROCESSOR APPLICATION *** -Creating and starting an application task -Application task was invoked with argument (0) and has id of 0x10002 -*** END OF SAMPLE SINGLE PROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_sp/config.h b/c/src/ada-tests/samples/base_sp/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/samples/base_sp/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/samples/base_sp/sptest.adb b/c/src/ada-tests/samples/base_sp/sptest.adb deleted file mode 100644 index 5ae17e18da..0000000000 --- a/c/src/ada-tests/samples/base_sp/sptest.adb +++ /dev/null @@ -1,98 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** SAMPLE SINGLE PROCESSOR APPLICATION ***" ); - TEXT_IO.PUT_LINE( "Creating and starting an application task" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.APPLICATION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- APPLICATION_TASK --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - - TEXT_IO.PUT( "Application task was invoked with argument (" ); - UNSIGNED32_IO.PUT( ARGUMENT ); - TEXT_IO.PUT( ") and has id of 0x" ); - UNSIGNED32_IO.PUT( TID, BASE => 16 ); - - TEXT_IO.PUT_LINE( "*** END OF SAMPLE SINGLE PROCESSOR APPLICATION ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end APPLICATION_TASK; - -end SPTEST; diff --git a/c/src/ada-tests/samples/base_sp/sptest.ads b/c/src/ada-tests/samples/base_sp/sptest.ads deleted file mode 100644 index 62ed876e9f..0000000000 --- a/c/src/ada-tests/samples/base_sp/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- APPLICATION_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS task which constitutes this test. --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/hello/config.h b/c/src/ada-tests/samples/hello/config.h deleted file mode 100644 index 32dae5a93d..0000000000 --- a/c/src/ada-tests/samples/hello/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/samples/hello/hello.adb b/c/src/ada-tests/samples/hello/hello.adb deleted file mode 100644 index d2fa9d1155..0000000000 --- a/c/src/ada-tests/samples/hello/hello.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test Hello of the Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Hello is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Hello; - diff --git a/c/src/ada-tests/samples/hello/hello.scn b/c/src/ada-tests/samples/hello/hello.scn deleted file mode 100644 index d9e92d81d5..0000000000 --- a/c/src/ada-tests/samples/hello/hello.scn +++ /dev/null @@ -1,3 +0,0 @@ -*** HELLO WORLD TEST *** -Hello World -*** END OF HELLO WORLD TEST *** diff --git a/c/src/ada-tests/samples/hello/sptest.adb b/c/src/ada-tests/samples/hello/sptest.adb deleted file mode 100644 index db2add4365..0000000000 --- a/c/src/ada-tests/samples/hello/sptest.adb +++ /dev/null @@ -1,52 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** HELLO WORLD TEST ***" ); - TEXT_IO.PUT_LINE( "Hello World" ); - TEXT_IO.PUT_LINE( "*** END OF HELLO WORLD TEST ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end SPTEST; diff --git a/c/src/ada-tests/samples/hello/sptest.ads b/c/src/ada-tests/samples/hello/sptest.ads deleted file mode 100644 index e632f1a499..0000000000 --- a/c/src/ada-tests/samples/hello/sptest.ads +++ /dev/null @@ -1,48 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for the Hello World Test of the RTEMS --- Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/config.h b/c/src/ada-tests/samples/ticker/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/samples/ticker/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/samples/ticker/sptest.adb b/c/src/ada-tests/samples/ticker/sptest.adb deleted file mode 100644 index c755f3783d..0000000000 --- a/c/src/ada-tests/samples/ticker/sptest.adb +++ /dev/null @@ -1,162 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 1 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF CLOCK TICK TEST ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/sptest.ads b/c/src/ada-tests/samples/ticker/sptest.ads deleted file mode 100644 index e03ccd0e64..0000000000 --- a/c/src/ada-tests/samples/ticker/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/ticker.adb b/c/src/ada-tests/samples/ticker/ticker.adb deleted file mode 100644 index dff51ce83b..0000000000 --- a/c/src/ada-tests/samples/ticker/ticker.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test Ticker of the Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Ticker is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Ticker; - diff --git a/c/src/ada-tests/samples/ticker/ticker.scn b/c/src/ada-tests/samples/ticker/ticker.scn deleted file mode 100644 index b95fee033f..0000000000 --- a/c/src/ada-tests/samples/ticker/ticker.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** CLOCK TICK TEST *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -*** END OF CLOCK TICK TEST *** diff --git a/c/src/ada-tests/sptests/sp01/config.h b/c/src/ada-tests/sptests/sp01/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp01/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp01/sp01.adb b/c/src/ada-tests/sptests/sp01/sp01.adb deleted file mode 100644 index c1264df6f3..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP01 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP01; - diff --git a/c/src/ada-tests/sptests/sp01/sp01.scn b/c/src/ada-tests/sptests/sp01/sp01.scn deleted file mode 100644 index dac3add1f2..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 1 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/sptests/sp01/sptest.adb b/c/src/ada-tests/sptests/sp01/sptest.adb deleted file mode 100644 index e74a80c0cf..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.adb +++ /dev/null @@ -1,162 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 1 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 31 ), - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 1 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp01/sptest.ads b/c/src/ada-tests/sptests/sp01/sptest.ads deleted file mode 100644 index e03ccd0e64..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/config.h b/c/src/ada-tests/sptests/sp02/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp02/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp02/sp02.adb b/c/src/ada-tests/sptests/sp02/sp02.adb deleted file mode 100644 index e7c9631161..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP02 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP02 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP02; - diff --git a/c/src/ada-tests/sptests/sp02/sp02.scn b/c/src/ada-tests/sptests/sp02/sp02.scn deleted file mode 100644 index 9db0bc4100..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 2 *** -INIT - task_wake_after - yielding processor -PREEMPT - task_delete - deleting self -INIT - suspending TA2 while middle task on a ready chain -TA1 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 minute -TA3 - task_wake_after - sleep 5 seconds -TA1 - task_ident - tid of TA2 (16#10007#) -TA1 - task_ident - tid of TA3 (16#10008#) -TA1 - task_set_priority - set TA3's priority to 2 -TA1 - task_suspend - suspend TA2 -TA1 - task_delete - delete TA2 -TA1 - task_wake_after - sleep for 5 seconds -TA3 - task_delete - delete self -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/sptests/sp02/sptest.adb b/c/src/ada-tests/sptests/sp02/sptest.adb deleted file mode 100644 index dd2b9172ac..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.adb +++ /dev/null @@ -1,331 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 2 ***" ); - - SPTEST.PREEMPT_TASK_NAME := RTEMS.BUILD_NAME( 'P', 'R', 'M', 'T' ); - - RTEMS.TASK_CREATE( - SPTEST.PREEMPT_TASK_NAME, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PREEMPT_TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF PREEMPT" ); - - RTEMS.TASK_START( - SPTEST.PREEMPT_TASK_ID, - SPTEST.PREEMPT_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF PREEMPT" ); - - TEXT_IO.PUT_LINE( "INIT - task_wake_after - yielding processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "INIT - suspending TA2 while middle task on a ready chain" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PREEMPT_TASK --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "PREEMPT - task_delete - deleting self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PREEMPT" ); - - end PREEMPT_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA2 (" ); - UNSIGNED32_IO.PUT( TID2, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - RTEMS.SEARCH_ALL_NODES, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA3 (" ); - UNSIGNED32_IO.PUT( TID3, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_SET_PRIORITY( TID3, 2, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - set TA3's priority to 2" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep for 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 2 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 minute" ); - RTEMS.TASK_WAKE_AFTER( 60 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA3" ); - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/sptest.ads b/c/src/ada-tests/sptests/sp02/sptest.ads deleted file mode 100644 index 2d5141f540..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - - PREEMPT_TASK_ID : RTEMS.ID; - PREEMPT_TASK_NAME : RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PREEMPT_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic preemption capability. --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/config.h b/c/src/ada-tests/sptests/sp03/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp03/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp03/sp03.adb b/c/src/ada-tests/sptests/sp03/sp03.adb deleted file mode 100644 index 5455671942..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP03 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP03 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP03; - diff --git a/c/src/ada-tests/sptests/sp03/sp03.scn b/c/src/ada-tests/sptests/sp03/sp03.scn deleted file mode 100644 index a13d9ae2e6..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.scn +++ /dev/null @@ -1,26 +0,0 @@ -*** TEST 3 *** -TA1 sets clock: 9:15: 0 12/31/1988 -TA1 going to sleep: 9:15: 0 12/31/1988 -TA2 9:15: 1 12/31/1988 -TA2 9:15: 2 12/31/1988 -TA2 9:15: 3 12/31/1988 -TA2 9:15: 4 12/31/1988 -TA1 awakened: 9:15: 5 12/31/1988 -TA1 going to sleep: 9:15: 5 12/31/1988 -TA2 9:15: 5 12/31/1988 -TA2 9:15: 6 12/31/1988 -TA2 9:15: 7 12/31/1988 -TA2 9:15: 8 12/31/1988 -TA2 9:15: 9 12/31/1988 -TA1 awakened: 9:15:10 12/31/1988 -TA1 going to sleep: 9:15:10 12/31/1988 -TA2 9:15:10 12/31/1988 -TA2 9:15:11 12/31/1988 -TA2 9:15:12 12/31/1988 -TA2 9:15:13 12/31/1988 -TA2 9:15:14 12/31/1988 -TA1 awakened: 9:15:15 12/31/1988 -TA1 going to sleep: 9:15:15 12/31/1988 -TA2 9:15:15 12/31/1988 -TA2 9:15:16 12/31/1988 -*** END OF TEST 3 *** diff --git a/c/src/ada-tests/sptests/sp03/sptest.adb b/c/src/ada-tests/sptests/sp03/sptest.adb deleted file mode 100644 index 789740f0c3..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 3 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "sets clock: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "going to sleep: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.SECOND := TIME.SECOND + 5; - TIME.MINUTE := TIME.MINUTE + (TIME.SECOND / 60 ); - TIME.SECOND := TIME.SECOND mod 60; - TIME.HOUR := TIME.HOUR + (TIME.MINUTE / 60 ); - TIME.MINUTE := TIME.MINUTE mod 60; - TIME.HOUR := TIME.HOUR mod 24; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_WHEN" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "awakened: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 17 then - TEXT_IO.PUT_LINE( "*** END OF TEST 3 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 2 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( " ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/sptest.ads b/c/src/ada-tests/sptests/sp03/sptest.ads deleted file mode 100644 index fda2add5e2..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_WHEN directive of --- the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_AFTER directive of --- the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/README b/c/src/ada-tests/sptests/sp04/README deleted file mode 100644 index 6928aaea49..0000000000 --- a/c/src/ada-tests/sptests/sp04/README +++ /dev/null @@ -1,13 +0,0 @@ -# -# $Id$ -# - -This test is broken as it is currently implemented. It is illegal for -a task to do Ada IO during a extension since the Ada run-time uses -locks to safeguard data structures. Dispatching is disabled and the -call to Text_IO in the Switch extension will lock the system up. - -The proper solution is to have the Switch extension lock task and -time when it a switch occurs and have a single task print this -information as necessary. - diff --git a/c/src/ada-tests/sptests/sp04/config.h b/c/src/ada-tests/sptests/sp04/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp04/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp04/sp04.adb b/c/src/ada-tests/sptests/sp04/sp04.adb deleted file mode 100644 index 511ccb36a5..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP04 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP04 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP04; - diff --git a/c/src/ada-tests/sptests/sp04/sp04.scn b/c/src/ada-tests/sptests/sp04/sp04.scn deleted file mode 100644 index dc075e2b94..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.scn +++ /dev/null @@ -1,23 +0,0 @@ -*** TEST 4 *** -TA1 - 9:15: 0 12/31/1988 -TA1 - task_suspend - on Task 2 -TA1 - task_suspend - on Task 3 -TA1 - killing time -TA1 - task_resume - on Task 2 -TA1 - task_resume - on Task 3 -TA2 - 9:15: 4 12/31/1988 -TA3 - 9:15: 5 12/31/1988 -TA1 - 9:15: 6 12/31/1988 -TA2 - 9:15: 7 12/31/1988 -TA3 - 9:15: 8 12/31/1988 -TA1 - 9:15: 9 12/31/1988 -TA1 - task_mode - change mode to NO PREEMPT -TA1 - 9:15:10 12/31/1988 -TA1 - 9:15:11 12/31/1988 -TA1 - 9:15:12 12/31/1988 -TA1 - 9:15:13 12/31/1988 -TA1 - 9:15:14 12/31/1988 -TA1 - 9:15:15 12/31/1988 -TA1 - task_mode - change mode to PREEMPT -TA2 - 9:15:16 12/31/1988 -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/sptests/sp04/sptest.adb b/c/src/ada-tests/sptests/sp04/sptest.adb deleted file mode 100644 index 8056f9225e..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.adb +++ /dev/null @@ -1,317 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 4 ***" ); - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.RUN_COUNT( 1 ) := 0; - SPTEST.RUN_COUNT( 2 ) := 0; - SPTEST.RUN_COUNT( 3 ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SECONDS : RTEMS.UNSIGNED32; - OLD_SECONDS : RTEMS.UNSIGNED32; - STARTED_DELAY : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - TIME : RTEMS.TIME_OF_DAY; - START_TIME : RTEMS.INTERVAL; - END_TIME : RTEMS.INTERVAL; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 2" ); - RTEMS.TASK_SUSPEND( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 3" ); - RTEMS.TASK_SUSPEND( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - TEXT_IO.PUT_LINE( "TA1 - killing time" ); - - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - START_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - loop - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - END_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - exit when END_TIME > (START_TIME + 2); - end loop; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 2" ); - RTEMS.TASK_RESUME( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 3" ); - RTEMS.TASK_RESUME( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - loop - - if SPTEST.RUN_COUNT( 1 ) = 3 then - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to NO PREEMPT" - ); - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - OLD_SECONDS := TIME.SECOND; - - SECONDS := 0; - loop - - exit when SECONDS >= 6; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND /= OLD_SECONDS then - OLD_SECONDS := TIME.SECOND; - SECONDS := SECONDS + 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - ", TIME, "" ); - TEXT_IO.NEW_LINE; - end if; - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to PREEMPT" - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end if; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<<LOOP_LABEL>> - goto LOOP_LABEL; - - end TASK_3; - ---PAGE --- --- TASK_SWITCH --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ) is - INDEX : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - - begin - - --INDEX := TEST_SUPPORT.TASK_NUMBER( HEIR.OBJECT.ID ); - INDEX := TCB_To_ID( HEIR ); - - case INDEX is - when 1 | 2 | 3 => - SPTEST.RUN_COUNT( INDEX ) := SPTEST.RUN_COUNT( INDEX ) + 1; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INDEX ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "- ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if TIME.SECOND >= 16 then - TEXT_IO.PUT_LINE( "*** END OF TEST 4 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - when others => - NULL; - end case; - - end TASK_SWITCH; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/sptest.ads b/c/src/ada-tests/sptests/sp04/sptest.ads deleted file mode 100644 index ce3237bedd..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.ads +++ /dev/null @@ -1,133 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This array contains the number of times each of the test tasks has --- been context switched TO. --- - - RUN_COUNT : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_SWITCH --- --- DESCRIPTION: --- --- This subprogram is the TASK_SWITCH extension for this test. --- It is invoked at each context switch and counts the number --- of times each application task has been context switched to. --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - NULL, -- Task create - NULL, -- Task start - NULL, -- Task restart - NULL, -- Task delete - SPTEST.TASK_SWITCH'ACCESS, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - NULL, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/config.h b/c/src/ada-tests/sptests/sp05/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp05/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp05/sp05.adb b/c/src/ada-tests/sptests/sp05/sp05.adb deleted file mode 100644 index bd6407a0c7..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP05 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP05 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP05; - diff --git a/c/src/ada-tests/sptests/sp05/sp05.scn b/c/src/ada-tests/sptests/sp05/sp05.scn deleted file mode 100644 index 59c30a0b97..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 5 *** -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_suspend - suspend self -TA3 - task_suspend - suspend self -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -*** END OF TEST 5 *** - diff --git a/c/src/ada-tests/sptests/sp05/sptest.adb b/c/src/ada-tests/sptests/sp05/sptest.adb deleted file mode 100644 index 22d64fa54f..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.adb +++ /dev/null @@ -1,229 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 5 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - 1, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - 1, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - for PASS in 1 .. 3 - loop - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA3" ); - RTEMS.TASK_SUSPEND( TID3, STATUS ); - if PASS = 1 then - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND OF TA3" - ); - else - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA2" ); - RTEMS.TASK_RESUME( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA3" ); - RTEMS.TASK_RESUME( TID3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - end loop; - - TEXT_IO.PUT_LINE( "*** END OF TEST 5 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - loop - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA2" ); - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - loop - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA3" ); - end loop; - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/sptest.ads b/c/src/ada-tests/sptests/sp05/sptest.ads deleted file mode 100644 index 74b2e956bc..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.ads +++ /dev/null @@ -1,84 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/config.h b/c/src/ada-tests/sptests/sp06/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp06/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp06/sp06.adb b/c/src/ada-tests/sptests/sp06/sp06.adb deleted file mode 100644 index 8cd49904d7..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP06 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP06 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP06; - diff --git a/c/src/ada-tests/sptests/sp06/sp06.scn b/c/src/ada-tests/sptests/sp06/sp06.scn deleted file mode 100644 index 8dc6c6afae..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.scn +++ /dev/null @@ -1,38 +0,0 @@ -*** TEST 6 *** -TA1 - is beginning to run -TA1 - restarting TA3 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/sptests/sp06/sptest.adb b/c/src/ada-tests/sptests/sp06/sptest.adb deleted file mode 100644 index db068639c0..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.adb +++ /dev/null @@ -1,222 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 6 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.ARGUMENT := 0; - SPTEST.RESTART_ARGUMENT := 1; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 10, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 3 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - is beginning to run" ); - - PASS := ARGUMENT + 1; - - if PASS = 5 then - TEXT_IO.PUT_LINE( "*** END OF TEST 6 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if PASS = 1 then - TEXT_IO.PUT_LINE( "TA1 - restarting TA3" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 3 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting TA2" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 2 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA2" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting self" ); - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 1 ), PASS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - is beginning to run" ); - - if ARGUMENT = SPTEST.ARGUMENT then - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - end if; - - loop - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1/2 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/sptest.ads b/c/src/ada-tests/sptests/sp06/sptest.ads deleted file mode 100644 index 53d4825ec4..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.ads +++ /dev/null @@ -1,91 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following are used as arguments to the various RTEMS tasks --- in this test to indicate when a restart should be performed. - - ARGUMENT : RTEMS.UNSIGNED32; - RESTART_ARGUMENT : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/config.h b/c/src/ada-tests/sptests/sp07/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp07/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp07/sp07.adb b/c/src/ada-tests/sptests/sp07/sp07.adb deleted file mode 100644 index e86ec72e6d..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP07 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP07 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP07; - diff --git a/c/src/ada-tests/sptests/sp07/sp07.scn b/c/src/ada-tests/sptests/sp07/sp07.scn deleted file mode 100644 index 3f171037a7..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.scn +++ /dev/null @@ -1,32 +0,0 @@ -*** TEST 7 *** -TASKS_CREATE - TA1 - created. -TASKS_CREATE - TA2 - created. -TASKS_CREATE - TA3 - created. -TASKS_CREATE - TA4 - created. -TASKS_START - TA1 - started. -TASKS_START - TA2 - started. -TASKS_START - TA3 - started. -TASKS_START - TA4 - started. -TASKS_RESTART - TA3 - restarted. -INIT - task_set_note - set TA1's NOTEPAD_8 to TA1's initial priority: 4 -INIT - task_set_note - set TA2's NOTEPAD_8 to TA2's initial priority: 4 -<pause> -TA1 - task_set_priority - get initial priority of self: 4 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 4 -TA1 - task_set_note - set TA2's NOTEPAD_8: 3 -TA1 - task_set_priority - set TA2's priority: 3 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 3 -TA2 - task_set_note - set TA1's NOTEPAD_8: 2 -TA2 - task_set_priority - set TA1's priority: 2 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 2 -TA1 - task_set_note - set TA2's NOTEPAD_8: 1 -TA1 - task_set_priority - set TA2's priority: 1 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 1 -TA2 - task_suspend - suspend TA1 -TA2 - task_set_priority - set priority of TA1 ( blocked ) -TASKS_DELETE - TA2 deleting TA1 -TASKS_DELETE - TA2 deleting TA3 -TASKS_DELETE - TA2 deleting TA2 -TA4 - exitting task -TASK_EXITTED - user extension invoked correctly -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/sptests/sp07/sptest.adb b/c/src/ada-tests/sptests/sp07/sptest.adb deleted file mode 100644 index 0c46cf1a62..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.adb +++ /dev/null @@ -1,496 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- TCB_To_ID --- - - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 7 ***" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 250, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 254, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 3 ), 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 1 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA1" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA1's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA1's initial priority: 4" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 2 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA2" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA2's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA2's initial priority: 4" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEST_SUPPORT.PAUSE; - - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - RTEMS.CURRENT_PRIORITY, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT( "get initial priority of self: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA1 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA2 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end if; - - TEXT_IO.PUT( "TA1 - task_set_note - set TA2's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 2 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT("TA1 - task_set_priority - set TA2's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA2 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend TA1" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA1 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 1 ), - STATUS - ); -- TA1 is blocked - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 3 ), - STATUS - ); -- TA3 is ready - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - else - - TEXT_IO.PUT( "TA2 - task_set_note - set TA1's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 1 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT( "set TA1's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end if; - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TEXT_IO.PUT_LINE( "TA4 - exitting task" ); - - end TASK_4; - ---PAGE --- --- TASK_EXIT_EXTENSION --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT_LINE( "TASK_EXITTED - user extension invoked correctly" ); - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 7 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_EXIT_EXTENSION; - ---PAGE --- --- TASK_CREATE_EXTENSION --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_CREATE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( "- created." ); - end if; - - end TASK_CREATE_EXTENSION; - ---PAGE --- --- TASK_DELETE_EXTENSION --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_DELETE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) - ), - FALSE - ); - end if; - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) > 0 then - TEXT_IO.PUT( "deleting " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) - ), - TRUE - ); - end if; - - end TASK_DELETE_EXTENSION; - ---PAGE --- --- TASK_RESTART_EXTENSION --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_RESTART - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - restarted." ); - end if; - - end TASK_RESTART_EXTENSION; - ---PAGE --- --- TASK_START_EXTENSION --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_START - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - started." ); - end if; - - end TASK_START_EXTENSION; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/sptest.ads b/c/src/ada-tests/sptests/sp07/sptest.ads deleted file mode 100644 index 2fcfec1888..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.ads +++ /dev/null @@ -1,186 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_CREATE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_CREATE extension for this test. --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_DELETE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_DELETE extension for this test. --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_RESTART_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_RESTART extension for this test. --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_START_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_START extension for this test. --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_EXIT_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_EXIT extension for this test. --- It is invoked when a RTEMS task exits from its entry point. --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - SPTEST.TASK_CREATE_EXTENSION'ACCESS, -- Task create - SPTEST.TASK_START_EXTENSION'ACCESS, -- Task start - SPTEST.TASK_RESTART_EXTENSION'ACCESS, -- Task restart - SPTEST.TASK_DELETE_EXTENSION'ACCESS, -- Task delete - NULL, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - SPTEST.TASK_EXIT_EXTENSION'ACCESS, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/config.h b/c/src/ada-tests/sptests/sp08/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp08/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp08/sp08.adb b/c/src/ada-tests/sptests/sp08/sp08.adb deleted file mode 100644 index 2f1a587979..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP08 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP08 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP08; - diff --git a/c/src/ada-tests/sptests/sp08/sp08.scn b/c/src/ada-tests/sptests/sp08/sp08.scn deleted file mode 100644 index bc829b849a..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.scn +++ /dev/null @@ -1,20 +0,0 @@ -*** TEST 8 *** -TA1 - task_mode - ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#400# -TA1 - task_mode - ASR - previous mode: 16#400# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#200# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#200# -TA1 - task_mode - PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#100# -TA1 - task_mode - PREEMPT - previous mode: 16#100# -TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: 16#0# -TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: 16#3# -TA1 - task_mode - set all modes - previous mode: 16#5# -TA1 - task_mode - set all modes - previous mode: 16#703# -TA1 - task_mode - clear all modes - previous mode: 16#703# -TA1 - task_mode - get current mode - previous mode: 16#0# -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/sptests/sp08/sptest.adb b/c/src/ada-tests/sptests/sp08/sptest.adb deleted file mode 100644 index 725849df43..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.adb +++ /dev/null @@ -1,351 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 8 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_MODE --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ) is - begin - - TEXT_IO.PUT( COMMENT ); - UNSIGNED32_IO.PUT( OUTPUT_MODE, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PUT_MODE; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - --- BEGINNING OF ASR - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - --- END OF ASR - --- BEGINNING OF TIMESLICE - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - --- END OF TIMESLICE - --- BEGINNING OF PREEMPT - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - --- END OF PREEMPT - --- BEGINNING OF INTERRUPT LEVEL - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 5 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: ", - PREVIOUS_MODE - ); - --- END OF INTERRUPT LEVEL - --- BEGINNING OF COMBINATIONS - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 0 ) + RTEMS.ASR + - RTEMS.NO_TIMESLICE + RTEMS.PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - clear all modes - previous mode: ", - PREVIOUS_MODE - ); - --- END OF COMBINATIONS - --- BEGINNING OF CURRENT MODE - - RTEMS.TASK_MODE( - RTEMS.CURRENT_MODE, - RTEMS.CURRENT_MODE, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - get current mode - previous mode: ", - PREVIOUS_MODE - ); - --- END OF CURRENT MODE - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/sptest.ads b/c/src/ada-tests/sptests/sp08/sptest.ads deleted file mode 100644 index c9f0327172..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_MODE --- --- DESCRIPTION: --- --- This subprogram prints the COMMENT and the OUTPUT_MODE followed --- by a carriage return. --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_MODE directive of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/config.h b/c/src/ada-tests/sptests/sp09/config.h deleted file mode 100644 index adf05616b7..0000000000 --- a/c/src/ada-tests/sptests/sp09/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_MAXIMUM_SEMAPHORES 2 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_MAXIMUM_PARTITIONS 1 -#define CONFIGURE_MAXIMUM_REGIONS 1 -#define CONFIGURE_MAXIMUM_PERIODS 1 -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp09/sp09.adb b/c/src/ada-tests/sptests/sp09/sp09.adb deleted file mode 100644 index 669b52c1ef..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP09 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP09 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP09; - diff --git a/c/src/ada-tests/sptests/sp09/sp09.scn b/c/src/ada-tests/sptests/sp09/sp09.scn deleted file mode 100644 index a82582e51f..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.scn +++ /dev/null @@ -1,250 +0,0 @@ -*** TEST 9 *** -INIT - task_create - INVALID_SIZE -- NOT CHECKED -INIT - task_create - INVALID_PRIORITY -INIT - task_restart - INCORRECT_STATE -TA1 - task_delete - INVALID_ID -TA1 - task_get_note - INVALID_NUMBER -- constraint error -TA1 - task_get_note - INVALID_ID -TA1 - task_ident - current task SUCCESSFUL -TA1 - task_ident - global INVALID_NAME -TA1 - task_ident - local INVALID_NAME -TA1 - task_ident - INVALID_NODE -TA1 - task_restart - INVALID_ID -TA1 - task_resume - INVALID_ID -TA1 - task_resume - INCORRECT_STATE -TA1 - task_set_priority - INVALID_PRIORITY -- constraint error -TA1 - task_set_priority - INVALID_ID -TA1 - task_set_note - INVALID_NUMBER -- constraint error -TA1 - task_set_note - INVALID_ID -TA1 - task_start - INVALID_ID -TA1 - task_start - INCORRECT_STATE -TA1 - task_suspend - INVALID_ID -<pause - screen 2> -TA1 - clock_get - NOT_DEFINED -TA1 - task_wake_when - NOT_DEFINED -TA1 - timer_fire_when - NOT_DEFINED -TA1 - clock_set - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 15/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/32/1988 - INVALID_CLOCK -TA1 - clock_set - 25:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:61:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:61 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL -TA1 - task_wake_when - TICK INVALID - sleep about 3 seconds -TA1 - task_wake_when - TICK INVALID - woke up SUCCESSFUL -TA1 - task_wake_when - 8:30:48 2/ 5/1961 - INVALID_CLOCK -TA1 - task_wake_when - 25:30:48 2/ 5/1988 - INVALID_CLOCK -TA1 - current time - 8:30:48 2/ 5/1988 -TA1 - task_wake_when - 8:30:48 1/ 5/1988 - INVALID_CLOCK -<pause - screen 3> -TA1 - task_create - INVALID_NAME -TA1 - task_create - stack size - UNSATISFIED -TA1 - task_create - TA2 created - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED -TA1 - task_resume - TA2 resumed - SUCCESSFUL -TA1 - task_create - TA3 created - SUCCESSFUL -TA1 - task_create - 4 created - SUCCESSFUL -TA1 - task_create - 5 created - SUCCESSFUL -TA1 - task_create - 6 created - SUCCESSFUL -TA1 - task_create - 7 created - SUCCESSFUL -TA1 - task_create - 8 created - SUCCESSFUL -TA1 - task_create - 9 created - SUCCESSFUL -TA1 - task_create - 10 created - SUCCESSFUL -TA1 - task_create - 11 - TOO_MANY -TA1 - task_create - MP_NOT_CONFIGURED -<pause - screen 4> -TA1 - event_receive - UNSATISFIED ( all conditions ) -TA1 - event_receive - UNSATISFIED ( any conditions ) -TA1 - event_receive - timeout in 3 seconds -TA1 - event_receive - woke with TIMEOUT -TA1 - event_send - INVALID_ID -TA1 - task_wake_after - sleep 1 second - SUCCESSFUL -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL -<pause - screen 5> -TA1 - semaphore_create - INVALID_NAME -TA1 - semaphore_create - 1 - SUCCESSFUL -TA1 - semaphore_create - 2 - SUCCESSFUL -TA1 - semaphore_create - 3 - TOO_MANY -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - INVALID_NUMBER -TA1 - semaphore_create - MP_NOT_CONFIGURED -TA1 - semaphore_delete - unknown INVALID_ID -TA1 - semaphore_delete - local INVALID_ID -TA1 - semaphore_ident - global INVALID_NAME -TA1 - semaphore_ident - local INVALID_NAME -<pause - screen 6> -TA1 - semaphore_obtain - INVALID_ID -TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - UNSATISFIED -TA1 - semaphore_obtain - timeout in 3 seconds -TA1 - semaphore_obtain - woke with TIMEOUT -TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE -TA1 - semaphore_release - INVALID_ID -TA1 - task_start - start TA2 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - sem 1 - WAIT FOREVER -TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - binary semaphore -TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED -TA2 - task_delete - delete self - SUCCESSFUL -TA1 - task_delete TA2 - already deleted INVALID_ID -<pause - screen 7> -TA1 - message_queue_broadcast - INVALID_ID -TA1 - message_queue_create - Q 1 - INVALID_NAME -TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_create - Q 2 - TOO_MANY -TA1 - message_queue_delete - unknown INVALID_ID -TA1 - message_queue_delete - local INVALID_ID -TA1 - message_queue_ident - INVALID_NAME -TA1 - message_queue_flush - INVALID_ID -TA1 - message_queue_receive - INVALID_ID -TA1 - message_queue_receive - Q 1 - UNSATISFIED -TA1 - message_queue_receive - Q 1 - timeout in 3 seconds -TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT -TA1 - message_queue_send - INVALID_ID -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY -<pause - screen 8> -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - task_start - start TA3 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - Q 1 - WAIT FOREVER -TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - woke up with OBJECT_WAS_DELETED -TA3 - task_delete - delete self - SUCCESSFUL -<pause - screen 9> -TA1 - interrupt_catch - INVALID_NUMBER -- constraint error -TA1 - interrupt_catch - INVALID_ADDRESS -TA1 - signal_send - INVALID_ID -TA1 - signal_send - NOT_DEFINED -TA1 - port_create - INVALID_NAME -TA1 - port_create - INVALID_ADDRESS -TA1 - port_create - TOO_MANY -TA1 - port_delete - INVALID_ID -TA1 - port_ident - INVALID_NAME -TA1 - port_internal_to_external - INVALID_ID -TA1 - port_external_to_internal - INVALID_ID -<pause - screen 10> -TA1 - rate_monotonic_create - INVALID_NAME -TA1 - rate_monotonic_create - SUCCESSFUL -TA1 - rate_monotonic_create - TOO_MANY -TA1 - rate_monotonic_ident - INVALID_NAME -TA1 - rate_monotonic_period - unknown INVALID_ID -TA1 - rate_monotonic_period - local INVALID_ID -TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED -TA1 - rate_monotonic_period - 100 ticks - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - TIMEOUT -TA1 - rate_monotonic_cancel - unknown INVALID_ID -TA1 - rate_monotonic_cancel - local INVALID_ID -TA1 - rate_monotonic_cancel - SUCCESSFUL -TA1 - rate_monotonic_period - 5 ticks - TIMEOUT -TA1 - task_wake_after - yielding to TA4 -TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE -TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE -TA4 - task_delete - delete self - SUCCESSFUL -TA1 - rate_monotonic_delete - unknown INVALID_ID -TA1 - rate_monotonic_delete - local INVALID_ID -TA1 - rate_monotonic_delete - SUCCESSFUL -<pause - screen 11> -TA1 - partition_create - INVALID_NAME -TA1 - partition_create - length - INVALID_SIZE -TA1 - partition_create - buffer size - INVALID_SIZE -TA1 - partition_create - length < buffer size - INVALID_SIZE -TA1 - partition_create - MP_NOT_CONFIGURED -TA1 - partition_create - INVALID_ADDRESS -TA1 - partition_create - INVALID_SIZE -TA1 - partition_delete - unknown INVALID_ID -TA1 - partition_delete - local INVALID_ID -TA1 - partition_get_buffer - INVALID_ID -TA1 - partition_ident - INVALID_NAME -TA1 - partition_return_buffer - INVALID_ID -TA1 - partition_create - SUCCESSFUL -TA1 - partition_create - TOO_MANY -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - UNSATISFIED -TA1 - partition_delete - RESOURCE_IN_USE -TA1 - partition_return_buffer - INVALID_ADDRESS - out of range -TA1 - partition_return_buffer - INVALID_ADDRESS - not on boundary -<pause - screen 12> -TA1 - region_create - INVALID_NAME -TA1 - region_create - INVALID_ADDRESS -TA1 - region_create - INVALID_SIZE -TA1 - region_create - SUCCESSFUL -TA1 - region_create - TOO_MANY -TA1 - region_delete - unknown INVALID_ID -TA1 - region_delete - local INVALID_ID -TA1 - region_ident - INVALID_NAME -TA1 - region_get_segment - INVALID_ID -TA1 - region_get_segment - INVALID_SIZE -TA1 - region_get_segment - SUCCESSFUL -TA1 - region_get_segment - UNSATISFIED -TA1 - region_get_segment - timeout in 3 seconds -TA1 - region_get_segment - woke up with TIMEOUT -TA1 - region_delete - RESOURCE_IN_USE -TA1 - region_return_segment - INVALID_ID -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_disable - DEBUG_REGION -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_enable - DEBUG_REGION -TA1 - region_extend - INVALID_ID -TA1 - region_extend - within heap - INVALID_ADDRESS -TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED -<pause - screen 13> -TA1 - io_close - INVALID_NUMBER -TA1 - io_control - INVALID_NUMBER -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -TA1 - io_read - INVALID_NUMBER -TA1 - io_write - INVALID_NUMBER -TA1 - clock_set - 23:59:59 12/31/2000 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2001 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1999 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2000 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2100 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2101 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2099 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2100 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1991 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/1992 - SUCCESSFUL -<pause - screen 14> -TA1 - timer_create - INVALID_NAME -TA1 - timer_create - 1 - SUCCESSFUL -TA1 - timer_create - 2 - TOO_MANY -TA1 - timer_delete - local INVALID_ID -TA1 - timer_delete - global INVALID_ID -TA1 - timer_ident - INVALID_NAME -TA1 - timer_cancel - INVALID_ID -TA1 - timer_reset - INVALID_ID -TA1 - timer_reset - NOT_DEFINED -TA1 - timer_fire_after - INVALID_ID -TA1 - timer_fire_when - INVALID_ID -TA1 - timer_fire_after - INVALID_NUMBER -TA1 - timer_fire_when - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_get - 0: 0: 0 1/ 1/1992 -TA1 - timer_fire_when - 8:30:45 2/ 5/1990 - before INVALID_CLOCK -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/sptests/sp09/sptest.adb b/c/src/ada-tests/sptests/sp09/sptest.adb deleted file mode 100644 index 960b610f77..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.adb +++ /dev/null @@ -1,3208 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 9 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - SPTEST.TASK_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'A', '6', ' ' ); - SPTEST.TASK_NAME( 7 ) := RTEMS.BUILD_NAME( 'T', 'A', '7', ' ' ); - SPTEST.TASK_NAME( 8 ) := RTEMS.BUILD_NAME( 'T', 'A', '8', ' ' ); - SPTEST.TASK_NAME( 9 ) := RTEMS.BUILD_NAME( 'T', 'A', '9', ' ' ); - SPTEST.TASK_NAME( 10 ) := RTEMS.BUILD_NAME( 'T', 'A', 'A', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'M', 'Q', '2', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - SPTEST.PERIOD_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - --- RTEMS.TASK_CREATE( --- SPTEST.TASK_NAME( 1 ), --- 4, --- 10, --- RTEMS.DEFAULT_MODES, --- RTEMS.DEFAULT_ATTRIBUTES, --- SPTEST.TASK_ID( 1 ), --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_SIZE, --- "TASK_CREATE WITH ILLEGAL STACK SIZE" --- ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_SIZE -- NOT CHECKED" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 0, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_PRIORITY, - "TASK_CREATE WITH ILLEGAL PRIORITY" - ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_PRIORITY" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 1 ), - 0, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESTART OF DORMANT TASK" - ); - TEXT_IO.PUT_LINE( "INIT - task_restart - INCORRECT_STATE" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_SUBPROGRAM --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end DELAYED_SUBPROGRAM; - ---PAGE --- --- SERVICE_ROUTINE --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ) is - begin - - NULL; - - end SERVICE_ROUTINE; - ---PAGE --- --- SCREEN_1 --- - - procedure SCREEN_1 - is - NOTEPAD_VALUE : RTEMS.UNSIGNED32; - SELF_ID : RTEMS.ID; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_delete - INVALID_ID" ); - --- RTEMS.TASK_GET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_GET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_get_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_GET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_GET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_ID" ); - - RTEMS.TASK_IDENT( - RTEMS.SELF, - RTEMS.SEARCH_ALL_NODES, - SELF_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - if SELF_ID /= SPTEST.TASK_ID( 1 ) then - TEXT_IO.PUT_LINE( "ERROR - task_ident - incorrect ID returned!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - TEXT_IO.PUT_LINE( - "TA1 - task_ident - current task SUCCESSFUL" - ); - - RTEMS.TASK_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - global INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - local INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 2, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NODE, - "TASK_IDENT WITH ILLEGAL NODE" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - INVALID_NODE" ); - - RTEMS.TASK_RESTART( 100, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESTART WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_restart - INVALID_ID" ); - - RTEMS.TASK_RESUME( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESUME WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INVALID_ID" ); - - RTEMS.TASK_RESUME( RTEMS.SELF, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESUME OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INCORRECT_STATE" ); - --- RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 512, PREVIOUS_PRIORITY, STATUS ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_PRIORITY, --- "TASK_SET_PRIORITY WITH ILLEGAL PRIORITY" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - task_set_priority - INVALID_PRIORITY" --- ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - INVALID_PRIORITY -- constraint error" - ); - - RTEMS.TASK_SET_PRIORITY( 100, 8, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_PRIORITY WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_priority - INVALID_ID" ); - --- RTEMS.TASK_SET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_SET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_SET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_ID" ); - - RTEMS.TASK_START( 100, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_START WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INVALID_ID" ); - - RTEMS.TASK_START( RTEMS.SELF, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_START OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INCORRECT_STATE" ); - - RTEMS.TASK_SUSPEND( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SUSPEND WITH INVALID ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_suspend - INVALID_ID" ); - - end SCREEN_1; - ---PAGE --- --- SCREEN_2 --- - - procedure SCREEN_2 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- errors before clock is set - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT_LINE( - "TA1 - clock_get - NOT_DEFINED -- DID THE BSP SET THE TIME OF DAY?" - ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "CLOCK_GET BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - clock_get - NOT_DEFINED" ); - end if; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_wake_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TASK_WAKE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - task_wake_when - NOT_DEFINED" ); - end if; - - RTEMS.TIMER_FIRE_WHEN( - 0, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_fire_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_FIRE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - NOT_DEFINED" ); - - end if; - --- invalid time of day field - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 15, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MONTH" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 32, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID DAY" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 61, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MINUTE" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 61, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - --- task_wake_when - - TIME := ( 1988, 2, 5, 8, 30, 48, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "sleep about 3 seconds" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_WHEN WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "woke up SUCCESSFUL" ); - - TIME := ( 1961, 2, 5, 8, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - current time - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.MONTH := 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN BEFORE CURRENT TIME" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - end SCREEN_2; - ---PAGE --- --- SCREEN_3 --- - - procedure SCREEN_3 - is - TASK_NAME : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_NAME := 1; - - RTEMS.TASK_CREATE( - 0, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - INVALID_NAME" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 1, - RTEMS.CONFIGURATION.WORK_SPACE_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "TASK_CREATE WITH A STACK SIZE LARGER THAN THE WORKSPACE" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - stack size - UNSATISFIED" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA2 created - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND ON SUSPENDED TA2" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED" - ); - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_resume - TA2 resumed - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA3 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 4 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 5 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 6 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA6" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 6 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 7 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 7 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA7" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 7 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 8 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 8 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA8" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 8 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 9 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 9 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA9" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 9 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 10 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 10 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA10" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 10 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TASK_CREATE FOR TOO MANY TASKS" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - 11 - TOO_MANY" ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "TASK_CREATE OF GLOBAL TASK IN SINGLE CPU SYSTEM" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - MP_NOT_CONFIGURED" ); - - end SCREEN_3; - ---PAGE --- --- SCREEN_4 --- - - procedure SCREEN_4 - is - EVENT_OUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ALL)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( all conditions )" - ); - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ANY)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( any conditions )" - ); - - TEXT_IO.PUT_LINE( "TA1 - event_receive - timeout in 3 seconds" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "EVENT_RECEIVE AFTER 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - woke with TIMEOUT" - ); - - RTEMS.EVENT_SEND( - 100, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "EVENT_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_send - INVALID_ID" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - sleep 1 second - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (1 SECOND)" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - - end SCREEN_4; - ---PAGE --- --- SCREEN_5 --- - - procedure SCREEN_5 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_CREATE( - 0, - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - INVALID_NAME" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 1 - SUCCESSFUL" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" ); - - loop - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - - exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); - end loop; - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "SEMAPHORE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 3 - TOO_MANY" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF FIFO INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF COUNTING_SEMAPHORE INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 2, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "SEMAPHORE_CREATE OF BINARY_SEMAPHORE with COUNT > 1" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - INVALID_NUMBER"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.GLOBAL, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "SEMAPHORE_CREATE OF MP_NOT_CONFIGURED" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - MP_NOT_CONFIGURED"); - - RTEMS.SEMAPHORE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - unknown INVALID_ID" - ); - - RTEMS.SEMAPHORE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - local INVALID_ID" - ); - - RTEMS.SEMAPHORE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - global INVALID_NAME" - ); - - RTEMS.SEMAPHORE_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - local INVALID_NAME" - ); - - end SCREEN_5; - ---PAGE --- --- SCREEN_6 --- - - procedure SCREEN_6 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_OBTAIN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - INVALID_ID" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED(STATUS, "SEMAPHORE_OBTAIN SUCCESSFUL"); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL" - ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - timeout in 3 seconds" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - woke with TIMEOUT" - ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "SEMAPHORE_RELEASE AND NOT OWNER" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.SEMAPHORE_RELEASE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_RELEASE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - INVALID_ID" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA2 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - binary semaphore" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "SEMAPHORE_DELETE OF SM2" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE AFTER THE TASK HAS BEEN DELETED" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_delete TA2 - already deleted INVALID_ID" - ); - - end SCREEN_6; - ---PAGE --- --- SCREEN_7 --- - - procedure SCREEN_7 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_BROADCAST( - 100, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_BROADCAST WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_broadcast - INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - 0, - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - INVALID_NAME" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 1, - 16, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "MESSAGE_QUEUE_CREATE OF MP NOT CONFIGURED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED"); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 1, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 2 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - unknown INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - local INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_ident - INVALID_NAME" ); - - RTEMS.MESSAGE_QUEUE_FLUSH( 100, COUNT, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_FLUSH WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - 100, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_RECEIVE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_receive - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "MESSAGE_QUEUE_RECEIVE UNSATISFIED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - UNSATISFIED" - ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - timeout in 3 seconds" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_RECEIVE 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT" - ); - - RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, 16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - end SCREEN_7; - ---PAGE --- --- SCREEN_8 --- - - procedure SCREEN_8 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA3 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - end SCREEN_8; - ---PAGE --- --- SCREEN_9 --- - - procedure SCREEN_9 - is - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - OLD_SERVICE_ROUTINE : RTEMS.ADDRESS; - begin - --- RTEMS.INTERRUPT_CATCH( --- SPTEST.SERVICE_ROUTINE'ACCESS, --- 500, --- OLD_SERVICE_ROUTINE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "INTERRUPT_CATCH WITH INVALID VECTOR" --- ); --- TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - interrupt_catch - INVALID_NUMBER -- constraint error" - ); - - RTEMS.INTERRUPT_CATCH( - RTEMS.NULL_ADDRESS, - 3, - OLD_SERVICE_ROUTINE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "INTERRUPT_CATCH WITH INVALID HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_ADDRESS" ); - - RTEMS.SIGNAL_SEND( 100, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SIGNAL_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - INVALID_ID" ); - - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SIGNAL_SEND WITH NO HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - NOT_DEFINED" ); - - RTEMS.PORT_CREATE( - 0, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_NAME" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA( 1 )'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PORT_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_ADDRESS" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PORT_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - TOO_MANY" ); - - RTEMS.PORT_DELETE( 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - port_delete - INVALID_ID" ); - - RTEMS.PORT_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_ident - INVALID_NAME" ); - - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - 100, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_INTERNAL_TO_EXTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_internal_to_external - INVALID_ID" - ); - - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - 100, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_EXTERNAL_TO_INTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_external_to_internal - INVALID_ID" - ); - - end SCREEN_9; - ---PAGE --- --- SCREEN_10 --- - - procedure SCREEN_10 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - SUCCESSFUL" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "RATE_MONOTONIC_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_create - TOO_MANY" ); - - RTEMS.RATE_MONOTONIC_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_ident - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 100, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 16#10100#, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "RATE_MONOTONIC_PERIOD STATUS NOT DEFINED" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 100, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 100 TICKS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period - 100 ticks - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS WAITING FOR TIMEOUT" - ); - - end loop; - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "TIMEOUT" ); - - RTEMS.RATE_MONOTONIC_CANCEL( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CANCEL" ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD RESTART" - ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "RATE_MONOTONIC_PERIOD TIMED OUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - 5 ticks - TIMEOUT" - ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yielding to TA4" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.RATE_MONOTONIC_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_DELETE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - SUCCESSFUL" - ); - - end SCREEN_10; - ---PAGE --- --- SCREEN_11 --- - - procedure SCREEN_11 - is - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PARTITION_CREATE( - 0, - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 40, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_NAME" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 0, - 80, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 0, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 256, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH BUFFER_SIZE > LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length < buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "PARTITION_CREATE OF GLOBAL" - ); - TEXT_IO.PUT_LINE("TA1 - partition_create - MP_NOT_CONFIGURED"); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_BAD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_CREATE WITH BAD ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_ADDRESS" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH UNALIGNED BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_SIZE" ); - - RTEMS.PARTITION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - unknown INVALID_ID" - ); - - RTEMS.PARTITION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - local INVALID_ID" - ); - - RTEMS.PARTITION_GET_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_GET_BUFFER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - INVALID_ID" ); - - RTEMS.PARTITION_IDENT( - 0, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_ident - INVALID_NAME" ); - - RTEMS.PARTITION_RETURN_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_RETURN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_return_buffer - INVALID_ID" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - SUCCESSFUL" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PARTITION_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - TOO_MANY" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "PARTITION_GET_BUFFER UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - UNSATISFIED" ); - - RTEMS.PARTITION_DELETE( - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "PARTITION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_delete - RESOURCE_IN_USE" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( 0 )'ADDRESS, -- NOTE: REGION - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS OUT OF PARTITION" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - out of range" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.PARTITION_GOOD_AREA( 7 )'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS NOT ON BOUNDARY" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - not on boundary" ); - - - end SCREEN_11; - ---PAGE --- --- SCREEN_12 --- - - procedure SCREEN_12 - is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - OFFSET : RTEMS.UNSIGNED32; - GOOD_FRONT_FLAG : RTEMS.UNSIGNED32; - GOOD_BACK_FLAG : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_CREATE( - 0, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_NAME" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_ADDRESS" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_CREATE WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_SIZE" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - region_create - SUCCESSFUL" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "REGION_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - TOO_MANY" ); - - RTEMS.REGION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - unknown INVALID_ID" ); - - RTEMS.REGION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - local INVALID_ID" ); - - RTEMS.REGION_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_ident - INVALID_NAME" ); - - RTEMS.REGION_GET_SEGMENT( - 100, - 16#40#, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_GET_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_ID" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - (SPTEST.REGION_GOOD_AREA'SIZE / 8) * 2, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_GET_SEGMENT WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_SIZE" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 384, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - SUCCESSFUL" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_LENGTH / 2, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "REGION_GET_SEGMENT UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - timeout in 3 seconds" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "REGION_GET_SEGMENT TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_get_segment - woke up with TIMEOUT" - ); - - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "REGION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - RESOURCE_IN_USE" ); - - RTEMS.REGION_RETURN_SEGMENT( - 100, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_RETURN_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_return_segment - INVALID_ID" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_RETURN_SEGMENT WITH ILLEGAL SEGMENT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS" - ); - - -- internal heap errors, subject to change if heap code changes - - TEXT_IO.PUT_LINE( "TA1 - debug_disable - DEBUG_REGION" ); - RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION ); - - OFFSET := 0; - GOOD_BACK_FLAG := 0; - GOOD_FRONT_FLAG := 0; - - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - - --- OFFSET := RTEMS.SUBTRACT( --- SEGMENT_ADDRESS_1, --- SPTEST.REGION_GOOD_AREA'ADDRESS --- ) / 4; --- --- --- -- bad FRONT_FLAG error --- --- GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG; --- --- -- bad BACK_FLAG error --- --- GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; - - TEXT_IO.PUT_LINE( "TA1 - debug_enable - DEBUG_REGION" ); - RTEMS.DEBUG_ENABLE( RTEMS.DEBUG_REGION ); - - RTEMS.REGION_EXTEND( - 100, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_EXTEND WITH INVALID_ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - INVALID_ID" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_EXTEND WITH INVALID_ADDRESS" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - within heap - INVALID_ADDRESS" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET - SPTEST.REGION_LENGTH )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET + SPTEST.REGION_LENGTH + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED" - ); - - end SCREEN_12; - ---PAGE --- --- SCREEN_13 --- - - procedure SCREEN_13 - is - RESULT : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.IO_CLOSE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CLOSE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE("TA1 - io_close - INVALID_NUMBER"); - - RTEMS.IO_CONTROL( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CONTROL WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - INVALID_NUMBER" - ); - - RTEMS.IO_INITIALIZE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_open - INVALID_NUMBER" ); - - RTEMS.IO_READ( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_READ WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_read - INVALID_NUMBER" ); - - RTEMS.IO_WRITE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_WRITE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_write - INVALID_NUMBER" ); - - TIME := ( 2000, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1999, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2100, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2099, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1991, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_13; - ---PAGE --- --- SCREEN_14 --- - - procedure SCREEN_14 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TIMER_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - INVALID_NAME" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 1 - SUCCESSFUL" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TIMER_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 2 - TOO_MANY" ); - - RTEMS.TIMER_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - local INVALID_ID" ); - - RTEMS.TIMER_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - global INVALID_ID" ); - - RTEMS.TIMER_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_ident - INVALID_NAME" ); - - RTEMS.TIMER_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - INVALID_ID" ); - - RTEMS.TIMER_RESET( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_RESET WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - INVALID_ID" ); - - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_RESET BEFORE INITIATED" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - NOT_DEFINED" ); - - RTEMS.TIMER_FIRE_AFTER( - 16#10100#, - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_AFTER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_ID" ); - - TIME := ( 1994, 12, 31, 1, 0, 0, 0 ); - RTEMS.TIMER_FIRE_WHEN( - 16#10100#, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_WHEN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - INVALID_ID" ); - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 0, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "TIMER_FIRE_AFTER WITH 0 TICKS" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_NUMBER" ); - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN WITH ILLEGAL TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME := ( 1990, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN BEFORE CURRENT TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - before INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_14; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.SCREEN_1; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 2 ); - - SPTEST.SCREEN_2; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 3 ); - - SPTEST.SCREEN_3; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 4 ); - - SPTEST.SCREEN_4; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 5 ); - - SPTEST.SCREEN_5; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 6 ); - - SPTEST.SCREEN_6; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 7 ); - - SPTEST.SCREEN_7; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 8 ); - - SPTEST.SCREEN_8; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 9 ); - - SPTEST.SCREEN_9; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 10 ); - - SPTEST.SCREEN_10; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 11 ); - - SPTEST.SCREEN_11; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 12 ); - - SPTEST.SCREEN_12; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 13 ); - - SPTEST.SCREEN_13; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 14 ); - - SPTEST.SCREEN_14; - - TEXT_IO.PUT_LINE( "*** END OF TEST 9 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - sem 1 - WAIT FOREVER" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN WAITING TO BE DELETED" - ); - TEXT_IO.PUT_LINE( - "TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED" - ); - - TEXT_IO.PUT_LINE( - "TA2 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - Q 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "MESSAGE_QUEUE_RECEIVE WAITING TO BE DELETED" - ); - TEXT_IO.PUT( "TA3 - message_queue_receive - woke up " ); - TEXT_IO.PUT_LINE( "with OBJECT_WAS_DELETED" ); - - TEXT_IO.PUT_LINE( - "TA3 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CANCEL( - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_CANCEL NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - 5, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_PERIOD NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE" - ); - - TEXT_IO.PUT_LINE( - "TA4 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - - end TASK_4; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/sptest.ads b/c/src/ada-tests/sptests/sp09/sptest.ads deleted file mode 100644 index 526b30be67..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.ads +++ /dev/null @@ -1,402 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores created --- by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message queues --- created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS periods created --- by this test. --- - - PERIOD_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PERIOD_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- This variable is used as the output ID on directives which return --- an ID but are invoked in a manner which returns a non-SUCCESSFUL --- status code. --- - - JUNK_ID : RTEMS.ID; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following area defines a memory area to be used as the --- memory space for a partition which starts at an invalid address. --- - - PARTITION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - PARTITION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_BAD_AREA use at PARTITION_BAD_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a region and constants used to define the regions --- starting area and length. --- - - REGION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) - of RTEMS.UNSIGNED32; - for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - REGION_START_OFFSET : constant RTEMS.UNSIGNED32 := 1024; - REGION_LENGTH : constant RTEMS.UNSIGNED32 := 512; - --- --- The following area defines a memory area to be used as the --- memory space for a region which starts at an invalid address. --- - - REGION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for REGION_BAD_AREA use at REGION_BAD_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_SUBPROGRAM --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. --- It performs no actions if it fires. --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SERVICE_ROUTINE --- --- DESCRIPTION: --- --- This subprogram serves as a dummy ISR which is installed at an --- illegal vector number. --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ); - --- --- SCREEN_1 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_1; - --- --- SCREEN_2 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_2; - --- --- SCREEN_3 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_3; - --- --- SCREEN_4 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_4; - --- --- SCREEN_5 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_5; - --- --- SCREEN_6 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_6; - --- --- SCREEN_7 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_7; - --- --- SCREEN_8 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_8; - --- --- SCREEN_9 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_9; - --- --- SCREEN_10 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_10; - --- --- SCREEN_11 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_11; - --- --- SCREEN_12 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_12; - --- --- SCREEN_13 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_13; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/config.h b/c/src/ada-tests/sptests/sp11/config.h deleted file mode 100644 index 89529d5b9f..0000000000 --- a/c/src/ada-tests/sptests/sp11/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 6 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp11/sp11.adb b/c/src/ada-tests/sptests/sp11/sp11.adb deleted file mode 100644 index 1720830ded..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP11 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP11 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP11; - diff --git a/c/src/ada-tests/sptests/sp11/sp11.scn b/c/src/ada-tests/sptests/sp11/sp11.scn deleted file mode 100644 index a23db839bc..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.scn +++ /dev/null @@ -1,74 +0,0 @@ -*** TEST 11 *** -TA1 - event_send - send EVENT_16 to TA2 -TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15 -TA2 - event_receive - waiting forever on EVENT_16 -TA2 - EVENT_16 received - eventout => 16#10000# -TA2 - event_send - send EVENT_14 and EVENT_15 to TA1 -TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY -TA1 - EVENT_14 and EVENT_15 received - eventout => 16#C000# -TA1 - event_send - send EVENT_18 to TA2 -TA1 - event_receive - waiting with 10 second timeout on EVENT_14 -TA2 - EVENT_17 or EVENT_18 received - eventout => 16#40000# -TA2 - event_send - send EVENT_14 to TA1 -TA2 - clock_set - 8:15: 0 2/12/1988 -TA2 - event_send - sending EVENT_10 to self after 5 seconds -TA2 - event_receive - waiting forever on EVENT_10 -TA1 - EVENT_14 received - eventout => 16#4000# -TA1 - event_send - send EVENT_19 to TA2 -TA1 - clock_get - 8:15: 0 2/12/1988 -<pause> -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - event_receive - waiting forever on EVENT_18 -TA2 - EVENT_10 received - eventout => 16#400# -TA2 - clock_get - 8:15: 5 02/12/1988 -TA2 - event_receive - PENDING_EVENTS -TA2 - eventout => 16#80000# -TA2 - event_receive - EVENT_19 - NO_WAIT -TA2 - EVENT_19 received - eventout => 16#80000# -TA2 - task_delete - deletes self -TA1 - EVENT_18 received - eventout => 16#40000# -TA1 - clock_get - 8:15: 5 2/12/1988 -TA1 - event_send - send EVENT_3 to self -TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY -TA1 - EVENT_3 received - eventout => 16#8# -TA1 - event_send - send EVENT_4 to self -TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY -TA1 - EVENT_4 received - eventout => 16#10# -<pause> -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_18 -TA1 - event_send - send EVENT_8 to self after 60 seconds -TA1 - event_send - send EVENT_9 to self after 60 seconds -TA1 - event_send - send EVENT_10 to self after 60 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_8 -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_send - send EVENT_1 every second -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 1 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 2 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 3 2/12/1988 -TA1 - timer_cancel - cancelling timer for event EVENT_1 -<pause> -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day -TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days -TA1 - event_send - resending EVENT_11 to self in 2 days -TA1 - clock_set - 8:15: 3 2/15/1988 -TA1 - event_receive - waiting forever on EVENT_11 -TA1 - EVENT_11 received - eventout => 16#800# -<pause> -TA1 - event_send/event_receive combination -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_receive all outstanding events -TA1 - event_send - send EVENT_10 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - clock_set - 7:15: 0 2/12/1988 -TA1 - set time backwards -TA1 - no events received -TA1 - clock_set - 7:15: 0 2/14/1988 -TA1 - set time forwards (leave a timer) -TA1 - EVENT_10 received -TA1 - event_send - send EVENT_11 to self in 100 ticks -TA1 - event_send - send EVENT_11 to self in 200 ticks -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/sptests/sp11/sptest.adb b/c/src/ada-tests/sptests/sp11/sptest.adb deleted file mode 100644 index 8ec174abe2..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.adb +++ /dev/null @@ -1,900 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 11 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - SPTEST.TIMER_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'M', '4', ' ' ); - SPTEST.TIMER_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'M', '5', ' ' ); - SPTEST.TIMER_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'M', '6', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 2 ), - SPTEST.TIMER_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM2" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 3 ), - SPTEST.TIMER_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM3" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 4 ), - SPTEST.TIMER_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM4" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 5 ), - SPTEST.TIMER_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM5" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 6 ), - SPTEST.TIMER_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM6" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - INDEX : RTEMS.UNSIGNED32; - begin - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_16 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 16" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14 + RTEMS.EVENT_15, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14 and 15" ); - TEXT_IO.PUT( "TA1 - EVENT_14 and EVENT_15 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_18 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting with 10 second timeout on EVENT_14" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14" ); - TEXT_IO.PUT( "TA1 - EVENT_14 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_19 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_19, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 19" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_18" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_18, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 18" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_3 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_3 + RTEMS.EVENT_22, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 3 and 22" ); - TEXT_IO.PUT( "TA1 - EVENT_3 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_4 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 4" ); - - TEXT_IO.PUT_LINE( -"TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_4 + RTEMS.EVENT_5, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 4 and 5" ); - TEXT_IO.PUT( "TA1 - EVENT_4 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_18" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_8 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_8_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_9 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_9_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 3 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_8" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_1 every second" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_1_TO_SELF_EVERY_SECOND'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 1 SECOND" ); - - INDEX := 0; - - loop - - exit when INDEX = 3; - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_1, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 1" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_1 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEST_SUPPORT.PRINT_TIME( " - at ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if INDEX < 2 then - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 TIMER RESET" ); - end if; - - INDEX := INDEX + 1; - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_1" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEST_SUPPORT.PAUSE; - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.HOUR := 7; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - TIME.HOUR := 8; - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - resending EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME.DAY := 15; - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_11" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 11" ); - TEXT_IO.PUT( "TA1 - EVENT_11 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - --- The following code tests the case of deleting a timer ??? - - TEXT_IO.PUT_LINE( "TA1 - event_send/event_receive combination" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 10, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 10 ticks" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - 11, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_receive all outstanding events" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME := ( 1988, 2, 12, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time backwards" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - if EVENTOUT >= RTEMS.EVENT_0 then - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - else - TEXT_IO.PUT_LINE( "TA1 - no events received" ); - end if; - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TIME := ( 1988, 2, 14, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time forwards (leave a timer)" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE all events" ); - if EVENTOUT = RTEMS.EVENT_10 then - TEXT_IO.PUT_LINE( "TA1 - EVENT_10 received" ); - else - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - end if; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 100 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 100 ticks" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 200 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 200 ticks" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_16" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 16" ); - TEXT_IO.PUT( "TA2 - EVENT_16 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 and EVENT_15 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14 + RTEMS.EVENT_15, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14 and 15" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_17 + RTEMS.EVENT_18, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 17 and 18" ); - TEXT_IO.PUT( "TA2 - EVENT_17 or EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA2 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA2 CLOCK_SET" ); - - TIME.SECOND := TIME.SECOND + 5; - TEXT_IO.PUT_LINE( - "TA2 - event_send - sending EVENT_10 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 5 ), - TIME, - SPTEST.TA2_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 5 SECONDS" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_10" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_10, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA2 - EVENT_10 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - event_receive - PENDING_EVENTS" ); - RTEMS.EVENT_RECEIVE( - RTEMS.PENDING_EVENTS, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - EVENT_19 - NO_WAIT" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_19, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - EVENT_19 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - deletes self" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE of TA2" ); - - end TASK_2; - ---PAGE --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - end TA1_SEND_18_TO_SELF_5_SECONDS; - ---PAGE --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_8, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 8" ); - - end TA1_SEND_8_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_9_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_9, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 9" ); - - end TA1_SEND_9_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_10_TO_SELF --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA1_SEND_10_TO_SELF; - ---PAGE --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 1" ); - - end TA1_SEND_1_TO_SELF_EVERY_SECOND; - ---PAGE --- --- TA1_SEND_11_TO_SELF --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_11, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 11" ); - - end TA1_SEND_11_TO_SELF; - ---PAGE --- --- TA2_SEND_10_TO_SELF --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA2_SEND_10_TO_SELF; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/sptest.ads b/c/src/ada-tests/sptests/sp11/sptest.ads deleted file mode 100644 index c5527218f0..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.ads +++ /dev/null @@ -1,178 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_18 to TASK_1. --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_8 to TASK_1. --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_9_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_9 to TASK_1. --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_10 to TASK_1. --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer every second --- and to send EVENT_1 to TASK_1 until the timer is cancelled. --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_11_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer at a --- specific time of day and to send EVENT_11 to TASK_1. --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA2_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_10 to TASK_2. --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/config.h b/c/src/ada-tests/sptests/sp12/config.h deleted file mode 100644 index 7feac09c9b..0000000000 --- a/c/src/ada-tests/sptests/sp12/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_SEMAPHORES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp12/sp12.adb b/c/src/ada-tests/sptests/sp12/sp12.adb deleted file mode 100644 index a2edd48d5d..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.adb +++ /dev/null @@ -1,58 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP12 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP12 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP12; - diff --git a/c/src/ada-tests/sptests/sp12/sp12.scn b/c/src/ada-tests/sptests/sp12/sp12.scn deleted file mode 100644 index eb0c71f372..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.scn +++ /dev/null @@ -1,78 +0,0 @@ -*** TEST 12 *** -INIT - Forward priority queue test -PRI1 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI5 - semaphore_obtain - wait forever on SM2 -INIT - Backward priority queue test -PRI5 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI1 - semaphore_obtain - wait forever on SM2 -<pause> -INIT - Binary Semaphore and Priority Inheritance Test -INIT - semaphore_create - allocated binary semaphore -INIT - semaphore_release - allocated binary semaphore -INIT - semaphore_delete - allocated binary semaphore -PRI5 - semaphore_obtain - wait forever on SM2 -PRI5 - task_suspend - until all priority tasks blocked -PDRV - priority of PRI5 is 67 -PRI4 - semaphore_obtain - wait forever on SM2 -PDRV - change priority of PRI5 from 67 to 68 -PDRV - priority of PRI5 is 67 -PRI3 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 67 -PRI2 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 66 -PRI1 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 65 -PDRV - task_resume - PRI5 -PRI5 - task_delete - all tasks waiting on SM2 -PRI5 - semaphore_obtain - nested -PRI5 - semaphore_release - nested -PRI5 - semaphore_release - restore priority -PRI5 - priority of PRI5 is 68 -<pause> -TA1 - semaphore_ident - smid => 16#10001# -TA1 - semaphore_obtain - wait forever on SM2 -TA1 - got SM2 -TA1 - semaphore_obtain - wait forever on SM3 -TA1 - got SM3 -TA1 - semaphore_obtain - get SM1 - NO_WAIT -TA1 - got SM1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - semaphore_obtain - wait forever on SM1 -TA3 - semaphore_obtain - wait forever on SM2 -<pause> -TA1 - semaphore_release - release SM1 -TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout -TA2 - got SM1 -TA2 - semaphore_release - release SM1 -TA2 - task_set_priority - make self highest priority task -TA2 - semaphore_obtain - wait forever on SM2 -TA1 - got SM1 -TA1 - semaphore_release - release SM2 -TA2 - got SM2 -TA2 - semaphore_release - release SM2 -TA2 - task_delete - delete self -TA1 - task_wake_after - sleep 5 seconds -TA3 - got SM2 -TA3 - semaphore_release - release SM2 -TA3 - semaphore_obtain - wait forever on SM3 -<pause> -TA1 - task_delete - delete TA3 -TA1 - task_wake_after - sleep 5 seconds -TA4 - semaphore_obtain - wait forever on SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - task_delete - delete TA4 -TA1 - semaphore_release - release SM1 -TA1 - task_wake_after - sleep 5 seconds -TA5 - got SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - semaphore_delete - delete SM1 -TA1 - semaphore_delete - delete SM3 -TA1 - task_delete - delete self -TA5 - SM1 deleted by TA1 -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/sptests/sp12/sptest.adb b/c/src/ada-tests/sptests/sp12/sptest.adb deleted file mode 100644 index e302dacc76..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.adb +++ /dev/null @@ -1,812 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 12 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - SPTEST.PRIORITY_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '1' ); - SPTEST.PRIORITY_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '2' ); - SPTEST.PRIORITY_TASK_NAME( 3 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '3' ); - SPTEST.PRIORITY_TASK_NAME( 4 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '4' ); - SPTEST.PRIORITY_TASK_NAME( 5 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '5' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM3" ); - - TEXT_IO.PUT_LINE( "INIT - Forward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 0 ); - - TEXT_IO.PUT_LINE( "INIT - Backward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 32 ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "INIT - Binary Semaphore and Priority Inheritance Test" - ); - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_create - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_release - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_delete - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - SPTEST.PRIORITY_TEST_DRIVER( 64 ); - -TEST_SUPPORT.PAUSE; - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PRIORITY_TEST_DRIVER --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. 5 - loop - - case INDEX is - when 1 | 2 | 3 => - SPTEST.TASK_PRIORITY( INDEX ) := - PRIORITY_BASE + RTEMS.TASK_PRIORITY( INDEX ); - when others => - SPTEST.TASK_PRIORITY( INDEX ) := PRIORITY_BASE + 3; - end case; - - RTEMS.TASK_CREATE( - SPTEST.PRIORITY_TASK_NAME( INDEX ), - SPTEST.TASK_PRIORITY( INDEX ), - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - if PRIORITY_BASE = 0 then - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - else - - for INDEX in reverse 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER LOOP" ); - - if PRIORITY_BASE = 64 then - if INDEX = 4 then - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - PRIORITY_BASE + 4, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - change priority of PRI5 from " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.PUT( " to " ); - UNSIGNED32_IO.PUT( PRIORITY_BASE + 4 ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - end loop; - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER AFTER LOOP" ); - - if PRIORITY_BASE = 0 then - for INDEX in 1 .. 5 - loop - - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_RELEASE LOOP" - ); - - end loop; - end if; - - if PRIORITY_BASE = 64 then - - TEXT_IO.PUT_LINE( "PDRV - task_resume - PRI5" ); - RTEMS.TASK_RESUME( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER SO PRI5 can run" - ); - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PRI5" ); - else - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_DELETE( - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - end if; - - - end PRIORITY_TEST_DRIVER; - ---PAGE --- --- PRIORITY_TASK --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ) is - TIMEOUT : RTEMS.INTERVAL; - ITS_PRIORITY : RTEMS.TASK_PRIORITY; - CURRENT_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - ITS_PRIORITY := SPTEST.TASK_PRIORITY( INTEGER( ITS_INDEX ) ); - - if ITS_PRIORITY < 3 then - TIMEOUT := 5 * TEST_SUPPORT.TICKS_PER_SECOND; - else - TIMEOUT := RTEMS.NO_TIMEOUT; - end if; - - TEST_SUPPORT.PUT_NAME( PRIORITY_TASK_NAME( INTEGER(ITS_INDEX) ), FALSE ); - TEXT_IO.PUT_LINE( " - semaphore_obtain - wait forever on SM2" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN OF SM2" ); - - if ITS_PRIORITY < 64 then - TEXT_IO.PUT( "PRI" ); - UNSIGNED32_IO.PUT( ITS_INDEX ); - TEXT_IO.PUT( " - WHY AM I HERE? (priority = " ); - UNSIGNED32_IO.PUT( ITS_PRIORITY ); - TEXT_IO.PUT_LINE( " )" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if ITS_INDEX = 5 then - TEXT_IO.PUT_LINE( - "PRI5 - task_suspend - until all priority tasks blocked" - ); - end if; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT_LINE( "PRI5 - task_delete - all tasks waiting on SM2" ); - for INDEX in 1 .. 4 - loop - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_obtain - nested" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - nested" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - restore priority" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - CURRENT_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PRI5 - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( CURRENT_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PRI5 TASK_SET_PRIORITY CURRENT" - ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end PRIORITY_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SMID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_IDENT( - SPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - SMID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_IDENT OF SM1" ); - TEXT_IO.PUT( "TA1 - semaphore_ident - smid => " ); - UNSIGNED32_IO.PUT( SMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - get SM1 - NO_WAIT" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout" - ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM1" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM3" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY ON TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - TEXT_IO.PUT_LINE( "TA3 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA4 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN ON SM1" - ); - TEXT_IO.PUT_LINE( "TA5 - SM1 deleted by TA1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 12 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/sptest.ads b/c/src/ada-tests/sptests/sp12/sptest.ads deleted file mode 100644 index 8d75953069..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.ads +++ /dev/null @@ -1,142 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - - PRIORITY_TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - PRIORITY_TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - TASK_PRIORITY : array ( 1 .. 5 ) of RTEMS.TASK_PRIORITY; - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PRIORITY_TEST_DRIVER --- --- DESCRIPTION: --- --- This subprogram creates and starts RTEMS tasks of different priority --- so that those tasks may exercise the priority blocking algorithm. --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ); - --- --- PRIORITY_TASK --- --- DESCRIPTION: --- --- Copies of this RTEMS are executed at different priorities and each --- instantiation blocks on a semaphore with priority blocking. This --- is done to exercise the priority blocking algorithms. --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/config.h b/c/src/ada-tests/sptests/sp13/config.h deleted file mode 100644 index 7a1e3fa026..0000000000 --- a/c/src/ada-tests/sptests/sp13/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp13/sp13.adb b/c/src/ada-tests/sptests/sp13/sp13.adb deleted file mode 100644 index 3d19379ccd..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP13 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP13 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP13; - diff --git a/c/src/ada-tests/sptests/sp13/sp13.scn b/c/src/ada-tests/sptests/sp13/sp13.scn deleted file mode 100644 index ced19af55b..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.scn +++ /dev/null @@ -1,66 +0,0 @@ -*** TEST 13 *** -TA1 - message_queue_ident - qid => 16#10001# -TA1 - message_queue_send - BUFFER 1 TO Q 1 -TA1 - message_queue_send - BUFFER 2 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - message_queue_receive - receive from queue 1 - NO_WAIT -TA2 - buffer received: BUFFER 1 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA2 - buffer received: BUFFER 2 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - message_queue_send - BUFFER 3 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - task_set_priority - make self highest priority task -TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER -<pause> -TA1 - message_queue_send - BUFFER 1 TO Q 2 -TA2 - buffer received: BUFFER 1 TO Q 2 -TA2 - message_queue_send - BUFFER 2 TO Q 2 -TA2 - message_queue_receive - receive from queue 1 - 10 second timeout -TA1 - message_queue_receive - receive from queue 1 - 10 second timeout -TA3 - buffer received: BUFFER 2 TO Q 2 -TA3 - message_queue_broadcast - BUFFER 3 TO Q 1 -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA3 - number of tasks awakened = 2 -TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 1 -TA1 - task_delete - delete TA2 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - buffer received: BUFFER 1 TO Q 3 -TA3 - task_delete - delete self -<pause> -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_send - BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 2 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 2 -<pause> -TA1 - message_queue_delete - delete queue 1 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_delete - delete queue 2 -TA1 - message_queue_flush - empty Q 3 -TA1 - 0 messages were flushed from Q 3 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_flush - Q 3 -TA1 - 3 messages were flushed from Q 3 -TA1 - message_queue_send - until all message buffers consumed -TA1 - message_queue_send - all message buffers consumed -TA1 - message_queue_flush - Q 3 -TA1 - 100 messages were flushed from Q 3 -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/sptests/sp13/sptest.adb b/c/src/ada-tests/sptests/sp13/sptest.adb deleted file mode 100644 index 9190f77e83..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.adb +++ /dev/null @@ -1,723 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 13 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'Q', '1', ' ', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'Q', '2', ' ', ' ' ); - SPTEST.QUEUE_NAME( 3 ) := RTEMS.BUILD_NAME( 'Q', '3', ' ', ' ' ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q1" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 10, - 16, - RTEMS.PRIORITY, - SPTEST.QUEUE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q2" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 3 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- FILL_BUFFER --- - --- --- Depends on tricks to make the copy work. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ) is - begin - - BUFFER.FIELD1 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST ), - SOURCE( SOURCE'FIRST + 1 ), - SOURCE( SOURCE'FIRST + 2 ), - SOURCE( SOURCE'FIRST + 3 ) - ); - - BUFFER.FIELD2 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 4 ), - SOURCE( SOURCE'FIRST + 5 ), - SOURCE( SOURCE'FIRST + 6 ), - SOURCE( SOURCE'FIRST + 7 ) - ); - - BUFFER.FIELD3 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 8 ), - SOURCE( SOURCE'FIRST + 9 ), - SOURCE( SOURCE'FIRST + 10 ), - SOURCE( SOURCE'FIRST + 11 ) - ); - - BUFFER.FIELD4 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 12 ), - SOURCE( SOURCE'FIRST + 13 ), - SOURCE( SOURCE'FIRST + 14 ), - SOURCE( SOURCE'FIRST + 15 ) - ); - - end FILL_BUFFER; - ---PAGE --- --- PUT_BUFFER --- - --- --- Depends on tricks to make the output work. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ) is - begin - - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD1, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD2, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD3, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD4, FALSE ); - - end PUT_BUFFER; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - QID : RTEMS.ID; - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - TIMES : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_IDENT( - SPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - QID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_IDENT" ); - TEXT_IO.PUT( "TA1 - message_queue_ident - qid => " ); - UNSIGNED32_IO.PUT( QID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 1 - " - ); - TEXT_IO.PUT_LINE( "10 second timeout" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 4 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 4 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 5 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 5 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - for TIMES in 1 .. 4 - loop - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 3 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - end loop; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 2 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 1" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 2" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - empty Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - until all message buffers consumed" - ); - loop - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TOO_MANY ); - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - all message buffers consumed" - ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT( "TA1 - ERROR - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages flushed" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - NO_WAIT" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA2 - message_queue_send - BUFFER 2 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - 10 second timeout" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA3 - message_queue_broadcast - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_BROADCAST( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_BROADCAST" ); - TEXT_IO.PUT( "TA3 - number of tasks awakened = " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/sptest.ads b/c/src/ada-tests/sptests/sp13/sptest.ads deleted file mode 100644 index cf53004c3d..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.ads +++ /dev/null @@ -1,132 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.NAME; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.NAME; - FIELD3 : RTEMS.NAME; - FIELD4 : RTEMS.NAME; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FILL_BUFFER --- --- DESCRIPTION: --- --- This subprogram takes the SOURCE input string and places --- up to the first sixteen characters of that string into --- the message BUFFER. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ); - --- --- PUT_BUFFER --- --- DESCRIPTION: --- --- This subprogram prints the specified message BUFFER. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/config.h b/c/src/ada-tests/sptests/sp14/config.h deleted file mode 100644 index ed43b85e09..0000000000 --- a/c/src/ada-tests/sptests/sp14/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp14/sp14.adb b/c/src/ada-tests/sptests/sp14/sp14.adb deleted file mode 100644 index 5f6d0819c0..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP14 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP14 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP14; - diff --git a/c/src/ada-tests/sptests/sp14/sp14.scn b/c/src/ada-tests/sptests/sp14/sp14.scn deleted file mode 100644 index 5f2cfd70c7..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.scn +++ /dev/null @@ -1,33 +0,0 @@ -*** TEST 14 *** -TA1 - signal_catch - INTERRUPT_LEVEL( 3 ) -TA1 - signal_send - SIGNAL_16 to self -ASR - ENTRY - signal => 16#10000# -ASR - EXIT - signal => 16#10000# -TA1 - signal_send - SIGNAL_0 to self -ASR - ENTRY - signal => 16#1# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_17 to TA1 -TA2 - task_wake_after - yield processor -ASR - ENTRY - signal => 16#20000# -ASR - EXIT - signal => 16#20000# -ASR - EXIT - signal => 16#1# -TA1 - signal_catch - NO_ASR -<pause> -TA1 - signal_send - SIGNAL_1 to self -ASR - ENTRY - signal => 16#2# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1 -TA2 - task_wake_after - yield processor -ASR - EXIT - signal => 16#2# -ASR - ENTRY - signal => 16#C0000# -ASR - EXIT - signal => 16#C0000# -TA1 - task_mode - disable ASRs -TA1 - sending signal to SELF from timer -TA1 - waiting for signal to arrive -TA1 - timer routine got the correct arguments -TA1 - task_mode - enable ASRs -ASR - ENTRY - signal => 16#8# -ASR - EXIT - signal => 16#8# -TA1 - signal_catch - ASR ADDRESS of NULL -TA1 - task_delete - delete self -*** END OF TEST 14 *** diff --git a/c/src/ada-tests/sptests/sp14/sptest.adb b/c/src/ada-tests/sptests/sp14/sptest.adb deleted file mode 100644 index d52d0dff15..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.adb +++ /dev/null @@ -1,330 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; -with INTERFACES; use INTERFACES; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 14 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- SIGNAL_3_TO_TASK_1 --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND of 3" ); - - SPTEST.TIMER_GOT_THIS_ID := ID; - SPTEST.TIMER_GOT_THIS_POINTER := POINTER; - - SPTEST.SIGNAL_SENT := TRUE; - - end SIGNAL_3_TO_TASK_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - INTERRUPT_LEVEL( 3 )" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.INTERRUPT_LEVEL( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH INTERRUPT(3)" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_16 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_16 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_0 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_0 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - NO_ASR" ); - RTEMS.SIGNAL_CATCH(SPTEST.PROCESS_ASR'ACCESS, RTEMS.NO_ASR, STATUS); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH - NO_ASR" ); - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_1 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_1 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_mode - disable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - SPTEST.TIMER_GOT_THIS_ID := 0; - SPTEST.TIMER_GOT_THIS_POINTER := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( "TA1 - sending signal to SELF from timer" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND / 2, - SPTEST.SIGNAL_3_TO_TASK_1'ACCESS, - SPTEST.TASK_1'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - waiting for signal to arrive" ); - - SPTEST.SIGNAL_SENT := FALSE; - SPTEST.ASR_FIRED := FALSE; - - loop - exit when SPTEST.SIGNAL_SENT = TRUE; - end loop; - - if SPTEST.TIMER_GOT_THIS_ID = SPTEST.TIMER_ID( 1 ) and then - RTEMS.ARE_EQUAL(SPTEST.TIMER_GOT_THIS_POINTER, - SPTEST.TASK_1'ADDRESS) then - - TEXT_IO.PUT_LINE( "TA1 - timer routine got the correct arguments" ); - - else - - TEXT_IO.PUT( "TA1 - timer got (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_GOT_THIS_ID ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TIMER_GOT_THIS_POINTER ); - TEXT_IO.PUT( ") instead of (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ) ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TASK_1'ADDRESS ); - TEXT_IO.PUT_LINE( ")!!!!" ); - - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_mode - enable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - ASR ADDRESS of NULL" ); - RTEMS.SIGNAL_CATCH( NULL, RTEMS.DEFAULT_MODES, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_CATCH - NULL ADDRESS" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - signal_send - SIGNAL_17 to TA1" ); - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_17, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_17 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( - "TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1" - ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_18 and SIGNAL_19 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 14 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_2; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "ASR - ENTRY - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - if THE_SIGNAL_SET = RTEMS.SIGNAL_16 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_17 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19 then - NULL; - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_0 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_1 then - TEXT_IO.PUT_LINE( "ASR - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER YIELD" - ); - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_3 then - - SPTEST.ASR_FIRED := TRUE; - - end if; - - TEXT_IO.PUT( "ASR - EXIT - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PROCESS_ASR; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/sptest.ads b/c/src/ada-tests/sptests/sp14/sptest.ads deleted file mode 100644 index d44d9d1b9b..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.ads +++ /dev/null @@ -1,131 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- SIGNAL_SENT is set to TRUE to indicate that a signal set has --- been sent from an ISR to the executing task. --- - - SIGNAL_SENT : BOOLEAN; - pragma volatile( SIGNAL_SENT ); - --- --- These hold the arguments passed to the timer service routine. --- - - TIMER_GOT_THIS_ID : RTEMS.ID; - pragma volatile( TIMER_GOT_THIS_ID ); - - TIMER_GOT_THIS_POINTER : RTEMS.ADDRESS; - pragma volatile( TIMER_GOT_THIS_POINTER ); - --- --- ASR_FIRED is set to TRUE to indicate that the ASR has executed --- and was passed the correct signal set. --- - - ASR_FIRED : BOOLEAN; - pragma volatile( ASR_FIRED ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SIGNAL_3_TO_TASK_1 --- --- DESCRIPTION: --- --- This subprogram sends signal 3 to TASK_1. --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is an ASR for TASK_1. --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/config.h b/c/src/ada-tests/sptests/sp15/config.h deleted file mode 100644 index 8325035a0e..0000000000 --- a/c/src/ada-tests/sptests/sp15/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PARTITIONS 2 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp15/sp15.adb b/c/src/ada-tests/sptests/sp15/sp15.adb deleted file mode 100644 index a848d60d0b..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP15 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP15 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP15; - diff --git a/c/src/ada-tests/sptests/sp15/sp15.scn b/c/src/ada-tests/sptests/sp15/sp15.scn deleted file mode 100644 index a0aa0e8149..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 15 *** -INIT - partition_create - partition 1 -INIT - partition_create - partition 2 -TA1 - partition_ident - partition 1 id = 16#10001# -TA1 - partition_ident - partition 2 id = 16#10002# -TA1 - partition_get_buffer - get buffer 1 from partition 1 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 1 - 16#200# -TA1 - partition_get_buffer - get buffer 1 from partition 2 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 2 - 16#80# -TA1 - partition_return_buffer - return buffer 1 to partition 1 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 1 - 16#200# -TA1 - partition_return_buffer - return buffer 1 to partition 2 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 2 - 16#80# -TA1 - partition_delete - delete partition 1 -TA1 - partition_delete - delete partition 2 -*** END OF TEST 15 *** diff --git a/c/src/ada-tests/sptests/sp15/sptest.adb b/c/src/ada-tests/sptests/sp15/sptest.adb deleted file mode 100644 index b4835c5210..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.adb +++ /dev/null @@ -1,284 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 15 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - SPTEST.PARTITION_NAME( 2 ) := RTEMS.BUILD_NAME( 'P', 'T', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 1" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - AREA_1'ADDRESS, - 4096, - 512, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 2" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 2 ), - AREA_2'ADDRESS, - 274, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PTID_1 : RTEMS.ID; - PTID_2 : RTEMS.ID; - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - BUFFER_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA1 - partition_ident - partition 1 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - PTID_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT1" ); - UNSIGNED32_IO.PUT( PTID_1, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - partition_ident - partition 2 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - PTID_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT2" ); - UNSIGNED32_IO.PUT( PTID_2, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 1" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 2" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 15 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/sptest.ads b/c/src/ada-tests/sptests/sp15/sptest.ads deleted file mode 100644 index ea22067451..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays define the memory areas used for the partitions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 273 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subpgram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Partition Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/config.h b/c/src/ada-tests/sptests/sp16/config.h deleted file mode 100644 index af594bd808..0000000000 --- a/c/src/ada-tests/sptests/sp16/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 4 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp16/sp16.adb b/c/src/ada-tests/sptests/sp16/sp16.adb deleted file mode 100644 index cbdc6008ac..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP16 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP16 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP16; - diff --git a/c/src/ada-tests/sptests/sp16/sp16.scn b/c/src/ada-tests/sptests/sp16/sp16.scn deleted file mode 100644 index 4706729d3d..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 16 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 100 byte segment from region 2 -TA1 - got segment from region 2 - 16#F78# -TA1 - region_get_segment - wait on 3K segment from region 3 -TA1 - got segment from region 3 - 16#3F8# -TA1 - region_get_segment - get 3080 byte segment from region 1 - NO_WAIT -TA1 - got segment from region 1 - 16#378# -TA1 - task_wake_after - yield processor -TA2 - region_get_segment - wait on 2K segment from region 1 -TA3 - region_get_segment - wait on 3968 byte segment from region 2 -<pause> -TA1 - region_return_segment - return segment to region 1 - 16#378# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA2 - got segment from region 1 - 16#7F8# -TA2 - region_return_segment - return segment to region 1 - 16#7F8# -TA2 - task_set_priority - make self highest priority task -TA2 - region_get_segment - wait on 3968 byte segment from region 2 -TA1 - got segment from region 1 - 16#3F8# -TA1 - region_return_segment - return segment to region 2 - 16#F78# -TA2 - got segment from region 2 - 16#8# -TA2 - region_return_segment - return segment to region 2 - 16#8# -TA2 - task_delete - delete self -TA1 - task_wake_after - yield processor -TA3 - got segment from region 2 - 16#8# -TA3 - region_get_segment - wait on 2K segment from region 3 -TA1 - task_delete - delete TA3 -<pause> -TA1 - task_wake_after - yield processor -TA4 - region_get_segment - wait on 1.5K segment from region 1 -TA5 - region_get_segment - wait on 1.5K segment from region 1 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA4 - got and returned 16#9F8# -TA5 - got and returned 16#3F0# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA1 - got segment from region 1 - 16#3F8# -TA1 - task_wake_after - sleep 1 second -TA4 - region_get_segment - wait on 3K segment from region 1 -TA5 - region_get_segment - wait on 3K segment from region 1 -TA1 - task_delete - delete TA4 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA5 - got segment from region 1 - 16#3F8# -TA5 - region_return_segment - return segment to region 1 - 16#3F8# -TA5 - task_delete - delete self -TA1 - region_delete - delete region 1 -*** END OF TEST 16 *** diff --git a/c/src/ada-tests/sptests/sp16/sptest.adb b/c/src/ada-tests/sptests/sp16/sptest.adb deleted file mode 100644 index cfec98d82c..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.adb +++ /dev/null @@ -1,686 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 16 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 2 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 3 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 2 ), - SPTEST.AREA_2'ADDRESS, - 4096, - 128, - RTEMS.PRIORITY, - SPTEST.REGION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN2" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 3 ), - SPTEST.AREA_3'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN3" ); - - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_3 --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_3'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_3; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "100 byte segment from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "3K segment from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 3 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_3( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - get 3080 byte segment " ); - TEXT_IO.PUT_LINE( "from region 1 - NO_WAIT" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3080, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - -TEST_SUPPORT.PAUSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - region_delete - delete region 1" ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 16 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA2 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA2 - task_set_priority - make self " ); - TEXT_IO.PUT_LINE( "highest priority task" ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - SPTEST.BASE_PRIORITY - 1, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT( - "TA2 - region_get_segment - wait on 3968 byte segment " - ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 3968 byte segment " ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA3 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA4 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( - "TA5 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA5 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA5" ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/sptest.ads b/c/src/ada-tests/sptests/sp16/sptest.ads deleted file mode 100644 index a9a8df0881..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.ads +++ /dev/null @@ -1,195 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_3 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_3'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_2 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_3 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_3. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_3 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/config.h b/c/src/ada-tests/sptests/sp17/config.h deleted file mode 100644 index 1e70e8d7b2..0000000000 --- a/c/src/ada-tests/sptests/sp17/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(25) -#define CONFIGURE_TICKS_PER_TIMESLICE 1000 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp17/sp17.adb b/c/src/ada-tests/sptests/sp17/sp17.adb deleted file mode 100644 index 1a0a317af7..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP17 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP17 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP17; - diff --git a/c/src/ada-tests/sptests/sp17/sp17.scn b/c/src/ada-tests/sptests/sp17/sp17.scn deleted file mode 100644 index 887284d877..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 17 *** -TA2 - Suspending self -TA1 - signal_catch: initializing signal catcher -TA1 - Sending signal to self -TA2 - signal_return preempted correctly -TA1 - TA2 correctly preempted me -TA1 - Got Back!!! -*** END OF TEST 17 *** diff --git a/c/src/ada-tests/sptests/sp17/sptest.adb b/c/src/ada-tests/sptests/sp17/sptest.adb deleted file mode 100644 index b1bbc26b3d..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 17 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - SPTEST.TASK_2_PREEMPTED := FALSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 2, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "ASR - TASK_RESUME OF TA2" ); - - end PROCESS_ASR; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch: initializing signal catcher" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.NO_ASR + RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - TEXT_IO.PUT_LINE( "TA1 - Sending signal to self" ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - if SPTEST.TASK_2_PREEMPTED = TRUE then - TEXT_IO.PUT_LINE( "TA1 - TA2 correctly preempted me" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - Got Back!!!" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 17 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.TASK_2_PREEMPTED := FALSE; - - TEXT_IO.PUT_LINE( "TA2 - Suspending self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - signal_return preempted correctly" ); - - SPTEST.TASK_2_PREEMPTED := TRUE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/sptest.ads b/c/src/ada-tests/sptests/sp17/sptest.ads deleted file mode 100644 index e6dc2040d5..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.ads +++ /dev/null @@ -1,93 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following is set to TRUE by TASK_2 when it preempts TASK_1. --- - - TASK_2_PREEMPTED : STANDARD.BOOLEAN; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is the ASR for TASK_1. --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests that when the transfer from the task --- to the ASR (and vice-versa) is performed, that the new mode --- is taken into account. If this occurs, then TASK_2 will be --- able to preempt upon completion of the ASR of TASK_1. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is designed to preempt TASK_1. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp19/README b/c/src/ada-tests/sptests/sp19/README deleted file mode 100644 index 07d60c5bc4..0000000000 --- a/c/src/ada-tests/sptests/sp19/README +++ /dev/null @@ -1,23 +0,0 @@ -# -# $Id$ -# - -This is a "problem" test in Ada versus the C equivalent. In C, -we used macros to : - - + declare a LOT of local integer and floating point variables - + load them with values - + check them at certain times - + to avoid floating point operations on CPUs w/o hardware support - -The macros are not equivalent to subprograms doing the same thing. -We are trying to insure that the register set is fully utilized and -checking that it survives context switches. If the routines are -subprograms, then calling conventions and scoping rules apply. Thus -the variables do not exist throughout the entire life of the task -as in the C test. - -It seems to point out that although the conditional compilation -and macro capabilities of C are often abused, they do provide -capabilities which are difficult if not impossible to mimic entirely -with subprograms. diff --git a/c/src/ada-tests/sptests/sp19/config.h b/c/src/ada-tests/sptests/sp19/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp19/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp19/sp19.adb b/c/src/ada-tests/sptests/sp19/sp19.adb deleted file mode 100644 index 61a5107332..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP19 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP19 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.FLOATING_POINT, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP19; - diff --git a/c/src/ada-tests/sptests/sp19/sp19.scn b/c/src/ada-tests/sptests/sp19/sp19.scn deleted file mode 100644 index 8b7feadb37..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.scn +++ /dev/null @@ -1,56 +0,0 @@ -*** TEST 19 *** -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -TA1 - integer base = ( 16#1000#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - integer base = ( 16#2000#) -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - integer base = ( 16#3000#) -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA4 - integer base = ( 16#4000#) -TA4 - float base = ( 4.00040E+03) -TA4 - clock_get - 9: 0: 0 12/31/1988 -TA5 - integer base = ( 16#5000#) -TA5 - float base = ( 5.00050E+03) -TA5 - clock_get - 9: 0: 0 12/31/1988 -TA4 - clock_get - 9: 0: 1 12/31/1988 -TA5 - clock_get - 9: 0: 1 12/31/1988 -TA4 - clock_get - 9: 0: 2 12/31/1988 -TA5 - clock_get - 9: 0: 2 12/31/1988 -TA4 - clock_get - 9: 0: 3 12/31/1988 -TA5 - clock_get - 9: 0: 3 12/31/1988 -TA4 - clock_get - 9: 0: 4 12/31/1988 -TA5 - clock_get - 9: 0: 4 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 5 12/31/1988 -TA5 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 6 12/31/1988 -TA5 - clock_get - 9: 0: 6 12/31/1988 -TA4 - clock_get - 9: 0: 7 12/31/1988 -TA5 - clock_get - 9: 0: 7 12/31/1988 -TA4 - clock_get - 9: 0: 8 12/31/1988 -TA5 - clock_get - 9: 0: 8 12/31/1988 -TA4 - clock_get - 9: 0: 9 12/31/1988 -TA5 - clock_get - 9: 0: 9 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:10 12/31/1988 -TA5 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:11 12/31/1988 -TA5 - clock_get - 9: 0:11 12/31/1988 -TA4 - clock_get - 9: 0:12 12/31/1988 -TA5 - clock_get - 9: 0:12 12/31/1988 -TA4 - clock_get - 9: 0:13 12/31/1988 -TA5 - clock_get - 9: 0:13 12/31/1988 -TA4 - clock_get - 9: 0:14 12/31/1988 -TA5 - clock_get - 9: 0:14 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA5 - clock_get - 9: 0:15 12/31/1988 -TA4 - clock_get - 9: 0:15 12/31/1988 -TA4 - task_delete - self -TA5 - task_delete - TA3 -*** END OF TEST 19 *** - diff --git a/c/src/ada-tests/sptests/sp19/sptest.ads b/c/src/ada-tests/sptests/sp19/sptest.ads deleted file mode 100644 index 92d65ffc3d..0000000000 --- a/c/src/ada-tests/sptests/sp19/sptest.ads +++ /dev/null @@ -1,102 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 19 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- This array contains the floating point factors used by the --- floating point tasks in this test. --- - - FP_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of FLOAT; - --- --- This array contains the integer factors used by the --- integer tasks in this test. --- - - INTEGER_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of - RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FIRST_FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the restart and deletion of floating point tasks. --- - - procedure FIRST_FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic capabilities of a floating point --- task. --- - - procedure FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task provides a non-floating point task to test --- that an application can utilize a mixture of floating point --- and non-floating point tasks. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/config.h b/c/src/ada-tests/sptests/sp20/config.h deleted file mode 100644 index d8e351ae1f..0000000000 --- a/c/src/ada-tests/sptests/sp20/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PERIODS 10 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp20/sp20.adb b/c/src/ada-tests/sptests/sp20/sp20.adb deleted file mode 100644 index 0bb685dc1d..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.adb +++ /dev/null @@ -1,56 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP20 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP20 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 10, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP20; - diff --git a/c/src/ada-tests/sptests/sp20/sp20.scn b/c/src/ada-tests/sptests/sp20/sp20.scn deleted file mode 100644 index ec21e4bdf2..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.scn +++ /dev/null @@ -1,27 +0,0 @@ -*** TEST 20 *** -TA1 - rate_monotonic_create id = 16#10001# -TA1 - rate_monotonic_ident id = 16#10001# -TA1 - (16#10001#) period 2 -TA2 - rate_monotonic_create id = 16#10002# -TA2 - rate_monotonic_ident id = 16#10002# -TA2 - (16#10002#) period 2 -TA3 - rate_monotonic_create id = 16#10003# -TA3 - rate_monotonic_ident id = 16#10003# -TA3 - (16#10003#) period 2 -TA4 - rate_monotonic_create id = 16#10004# -TA4 - rate_monotonic_ident id = 16#10004# -TA4 - (16#10004#) period 2 -TA5 - rate_monotonic_create id = 16#10005# -TA5 - rate_monotonic_ident id = 16#10005# -TA5 - (16#10005#) period 100 -TA5 - PERIODS CHECK OK (1) -TA5 - PERIODS CHECK OK (2) -TA5 - PERIODS CHECK OK (3) -TA5 - PERIODS CHECK OK (4) -TA5 - PERIODS CHECK OK (5) -TA5 - PERIODS CHECK OK (6) -TA5 - PERIODS CHECK OK (7) -TA5 - PERIODS CHECK OK (8) -TA5 - PERIODS CHECK OK (9) -TA5 - PERIODS CHECK OK (10) -*** END OF TEST 20 *** diff --git a/c/src/ada-tests/sptests/sp20/sptest.adb b/c/src/ada-tests/sptests/sp20/sptest.adb deleted file mode 100644 index c12bef23c0..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.adb +++ /dev/null @@ -1,280 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 20 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - SPTEST.PRIORITIES( INDEX ), - 4096, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_5'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_5 --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RMID : RTEMS.ID; - TEST_RMID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - PASS : RTEMS.UNSIGNED32; - FAILED : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( ARGUMENT, RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_create id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.RATE_MONOTONIC_IDENT( ARGUMENT, TEST_RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_IDENT" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_ident id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - if TEST_RMID /= RMID then - TEXT_IO.PUT_LINE( "RMID's DO NOT MATCH!!!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( " - (" ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 1, BASE => 16 ); - TEXT_IO.PUT( ") period " ); - UNSIGNED32_IO.PUT( - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - WIDTH => 1, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - case ARGUMENT is - when 1 .. 4 => - loop - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD" - ); - - SPTEST.COUNT( INTEGER( ARGUMENT ) ) := - SPTEST.COUNT( INTEGER( ARGUMENT ) ) + 1; - - end loop; - - when 5 => - - PASS := 0; - FAILED := 0; - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 1 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 2 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - for INDEX in 1 .. 4 - loop - - if SPTEST.TEMPORARY_COUNT( INDEX ) /= - SPTEST.ITERATIONS( INDEX ) then - - TEXT_IO.PUT( "FAIL -- " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INDEX ), - FALSE - ); - TEXT_IO.PUT( "ACTUAL=" ); - UNSIGNED32_IO.PUT( - SPTEST.TEMPORARY_COUNT( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.PUT( " EXPECTED=" ); - UNSIGNED32_IO.PUT( - SPTEST.ITERATIONS( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - FAILED := FAILED + 1; - - end if; - - end loop; - - if FAILED = 5 then - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - PASS := PASS + 1; - TEXT_IO.PUT( "TA5 - PERIODS CHECK OK (" ); - UNSIGNED32_IO.PUT( PASS, WIDTH => 1, BASE => 10 ); - TEXT_IO.PUT_LINE( ")" ); - - if PASS = 10 then - TEXT_IO.PUT_LINE( "*** END OF TEST 20 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - end loop; - - when others => - NULL; - - end case; - - end TASK_1_THROUGH_5; - ---PAGE --- --- GET_ALL_COUNTERS --- - - procedure GET_ALL_COUNTERS - is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO NO_PREEMPT" ); - - SPTEST.TEMPORARY_COUNT := SPTEST.COUNT; - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - end loop; - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO PREEMPT" ); - - end GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/sptest.ads b/c/src/ada-tests/sptests/sp20/sptest.ads deleted file mode 100644 index bfc62ad772..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the parameters which define the execution --- characteristics and periods of each instantiation of the --- copies of the RTEMS task TASKS_1_THROUGH_5. --- - - PERIODS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 2, 2, 2, 2, 100 ); - - ITERATIONS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 50, 50, 50, 50, 1 ); - - PRIORITIES : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 1, 1, 3, 4, 5 ); - --- --- The following type defines the array used to manage the --- execution counts of each task's period. --- - - type COUNT_ARRAY is array ( 1 .. 5 ) of RTEMS.UNSIGNED32; - --- --- These arrays contains the number of periods successfully completed --- by each of the tasks. At each of its periods, the fifth task --- will copy the contents of the COUNT array to TEMPORARY_COUNT, --- and clear the COUNT array. The copy is performed to insure --- that no periods fire while it is verifying the correctness --- of the test's execution. --- - - COUNT : SPTEST.COUNT_ARRAY; - TEMPORARY_COUNT : SPTEST.COUNT_ARRAY; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_5 --- --- DESCRIPTION: --- --- These RTEMS tasks test the Rate Monotonic Manager. --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- GET_ALL_COUNTERS --- --- DESCRIPTION: --- --- This subprogram atomically copies the contents of COUNTER to --- TEMPORARY_COUNTER. --- - - procedure GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/config.h b/c/src/ada-tests/sptests/sp21/config.h deleted file mode 100644 index 94ca99691d..0000000000 --- a/c/src/ada-tests/sptests/sp21/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER -#define CONFIGURE_TEST_NEEDS_STUB_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp21/sp21.adb b/c/src/ada-tests/sptests/sp21/sp21.adb deleted file mode 100644 index 6084211195..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP21 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP21 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP21; - diff --git a/c/src/ada-tests/sptests/sp21/sp21.scn b/c/src/ada-tests/sptests/sp21/sp21.scn deleted file mode 100644 index 86dd4922b4..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.scn +++ /dev/null @@ -1,19 +0,0 @@ -*** TEST 21 *** ------ TESTING THE NULL DRIVER CHECKS ----- -TA1 - io_initialize - NULL DRIVER SUCCESSFUL -TA1 - io_open - NULL DRIVER SUCCESSFUL -TA1 - io_close - NULL DRIVER SUCCESSFUL -TA1 - io_read - NULL DRIVER SUCCESSFUL -TA1 - io_write - NULL DRIVER SUCCESSFUL -TA1 - io_control - NULL DRIVER SUCCESSFUL ------ TESTING THE I/O MANAGER DIRECTIVES ----- -TA1 - io_initialize - STUB DRIVER SUCCESSFUL -TA1 - io_open - STUB DRIVER SUCCESSFUL -TA1 - io_close - STUB DRIVER SUCCESSFUL -TA1 - io_read - STUB DRIVER SUCCESSFUL -TA1 - io_write - STUB DRIVER SUCCESSFUL -TA1 - io_control - STUB DRIVER SUCCESSFUL ------ RETURNING INVALID MAJOR NUMBER ----- -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -*** END OF TEST 21 *** diff --git a/c/src/ada-tests/sptests/sp21/sptest.adb b/c/src/ada-tests/sptests/sp21/sptest.adb deleted file mode 100644 index 8ec76a7cf0..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.adb +++ /dev/null @@ -1,270 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 21 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RETURN_VALUE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "----- TESTING THE NULL DRIVER CHECKS -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - NULL DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- TESTING THE I/O MANAGER DIRECTIVES -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - STUB DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- RETURNING INVALID MAJOR NUMBER -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - INVALID_NUMBER" - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 21 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/sptest.ads b/c/src/ada-tests/sptests/sp21/sptest.ads deleted file mode 100644 index 04a8ad9c4f..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.ads +++ /dev/null @@ -1,69 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constants define the device major numbers --- utilized by this test. --- - - NO_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 3; - INVALID_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 5; - STUB_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 2; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Input Output Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/config.h b/c/src/ada-tests/sptests/sp22/config.h deleted file mode 100644 index 09a09692a8..0000000000 --- a/c/src/ada-tests/sptests/sp22/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 2 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp22/sp22.adb b/c/src/ada-tests/sptests/sp22/sp22.adb deleted file mode 100644 index 06cb14a01f..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP22 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP22 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP22; - diff --git a/c/src/ada-tests/sptests/sp22/sp22.scn b/c/src/ada-tests/sptests/sp22/sp22.scn deleted file mode 100644 index 8422e73141..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 22 *** -INIT - timer_create - creating timer 1 -INIT - timer 1 has id (16#10001#) -TA1 - timer_ident - identing timer 1 -TA1 - timer 1 has id (16#10001#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 3 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0: 4 12/31/1988 -TA1 - timer_reset - timer 1 -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 7 12/31/1988 -<pause> -TA1 - timer_after - timer 1 in 3 seconds -TA1 - timer_cancel - timer 1 -TA1 - clock_get - 9: 0: 7 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0:10 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0:11 12/31/1988 -TA1 - timer_cancel - timer 1 -TA1 - task_wake_after - YIELD (only task at priority) -TA1 - timer_delete - timer 1 -*** END OF TEST 22 *** diff --git a/c/src/ada-tests/sptests/sp22/sptest.adb b/c/src/ada-tests/sptests/sp22/sptest.adb deleted file mode 100644 index 830dbf9693..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.adb +++ /dev/null @@ -1,299 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 22 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - timer_create - creating timer 1" ); - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - TEXT_IO.PUT( "INIT - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_RESUME --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF SELF" ); - - end DELAYED_RESUME; - ---PAGE --- --- PRINT_TIME --- - - procedure PRINT_TIME - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( 1 ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end PRINT_TIME; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TMID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- GET ID - - TEXT_IO.PUT_LINE( "TA1 - timer_ident - identing timer 1" ); - RTEMS.TIMER_IDENT( SPTEST.TIMER_NAME( 1 ), TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_IDENT OF TM1" ); - TEXT_IO.PUT( "TA1 - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - --- AFTER WHICH IS ALLOWED TO FIRE - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- AFTER WHICH IS RESET AND ALLOWED TO FIRE - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_reset - timer 1" ); - RTEMS.TIMER_RESET( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_RESET" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - -TEST_SUPPORT.PAUSE; - --- --- Reset the time since we do not know how long the user waited --- before pressing <cr> at the pause. This insures that the --- actual output matches the screen. --- - - TIME := ( 1988, 12, 31, 9, 0, 7, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - --- after which is canceled - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- when which is allowed to fire - - SPTEST.PRINT_TIME; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- when which is canceled - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- delete - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - YIELD (only task at priority)" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_delete - timer 1" ); - RTEMS.TIMER_DELETE( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 22 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/sptest.ads b/c/src/ada-tests/sptests/sp22/sptest.ads deleted file mode 100644 index 9401ce1cc0..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.ads +++ /dev/null @@ -1,92 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_RESUME --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired as a timer service --- routine. When fired this subprogram resumes TASK_1. --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- PRINT_TIME --- --- DESCRIPTION: --- --- This subprogram prints the name of TASK_1 and the current TIME of day. --- - - procedure PRINT_TIME; - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/config.h b/c/src/ada-tests/sptests/sp23/config.h deleted file mode 100644 index 5e60e5c235..0000000000 --- a/c/src/ada-tests/sptests/sp23/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PORTS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp23/sp23.adb b/c/src/ada-tests/sptests/sp23/sp23.adb deleted file mode 100644 index ff3d5c0c4c..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP23 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP23; - diff --git a/c/src/ada-tests/sptests/sp23/sp23.scn b/c/src/ada-tests/sptests/sp23/sp23.scn deleted file mode 100644 index 1a3af24ac7..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 23 *** -INIT - port_create - DP1 - internal = 16#1000# external = 16#2000# -TA1 - port_ident - 16#10001# -TA1 - port_external_to_internal - external: 16#200E# => internal: 16#100E# -TA1 - port_internal_to_external - internal: 16#100E# => external: 16#200E# -TA1 - port_external_to_internal - external: 16#300E# => internal: 16#300E# -TA1 - port_internal_to_external - internal: 16#50E# => external: 16#50E# -TA1 - port_delete - DP1 -*** END OF TEST 23 *** diff --git a/c/src/ada-tests/sptests/sp23/sptest.adb b/c/src/ada-tests/sptests/sp23/sptest.adb deleted file mode 100644 index 0ff783a197..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.adb +++ /dev/null @@ -1,179 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INTERNAL_AREA : RTEMS.ADDRESS; - EXTERNAL_AREA : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 23 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - INTERNAL_AREA := SPTEST.INTERNAL_PORT_AREA( 0 )'ADDRESS; - EXTERNAL_AREA := SPTEST.EXTERNAL_PORT_AREA( 0 )'ADDRESS; - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - INTERNAL_AREA, - EXTERNAL_AREA, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.PORT_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_CREATE OF DP1" ); - TEXT_IO.PUT( "INIT - port_create - DP1 - internal = " ); - ADDRESS_IO.PUT( INTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " external = " ); - ADDRESS_IO.PUT( EXTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - DPID : RTEMS.ID; - TO_BE_CONVERTED : RTEMS.ADDRESS; - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PORT_IDENT( SPTEST.PORT_NAME( 1 ), DPID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_IDENT" ); - TEXT_IO.PUT( "TA1 - port_ident - " ); - UNSIGNED32_IO.PUT( DPID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.EXTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.INTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.ABOVE_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.BELOW_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - port_delete - DP1" ); - RTEMS.PORT_DELETE( SPTEST.PORT_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 23 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/sptest.ads b/c/src/ada-tests/sptests/sp23/sptest.ads deleted file mode 100644 index 9c72b05568..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are below the address space of the port. --- - - BELOW_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000500#); - - BELOW_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for BELOW_PORT_AREA use at BELOW_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are above the address space of the port. --- - - ABOVE_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00003000#); - - ABOVE_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for ABOVE_PORT_AREA use at ABOVE_PORT_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Dual Ported Memory Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/config.h b/c/src/ada-tests/sptests/sp24/config.h deleted file mode 100644 index ae1c63c601..0000000000 --- a/c/src/ada-tests/sptests/sp24/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 3 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp24/sp24.adb b/c/src/ada-tests/sptests/sp24/sp24.adb deleted file mode 100644 index d060a5308e..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP24 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP24 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP24; - diff --git a/c/src/ada-tests/sptests/sp24/sp24.scn b/c/src/ada-tests/sptests/sp24/sp24.scn deleted file mode 100644 index 374ef9540b..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.scn +++ /dev/null @@ -1,17 +0,0 @@ -*** TEST 24 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 24 *** - diff --git a/c/src/ada-tests/sptests/sp24/sptest.adb b/c/src/ada-tests/sptests/sp24/sptest.adb deleted file mode 100644 index b94a27eadb..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.adb +++ /dev/null @@ -1,171 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 24 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( INDEX ), - SPTEST.TIMER_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- RESUME_TASK --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - TASK_TO_RESUME : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_TO_RESUME := SPTEST.TASK_ID(INTEGER( RTEMS.GET_INDEX( TIMER_ID ) )); - RTEMS.TASK_RESUME( TASK_TO_RESUME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - end RESUME_TASK; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( INTEGER( ARGUMENT ) ), - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.RESUME_TASK'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 24 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INTEGER( TEST_SUPPORT.TASK_NUMBER( TID ) ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( " - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/sptest.ads b/c/src/ada-tests/sptests/sp24/sptest.ads deleted file mode 100644 index f664be5bd8..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.ads +++ /dev/null @@ -1,82 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( 1 .. 3 ) of RTEMS.ID; - TIMER_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- RESUME_TASK --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. When --- it fires it resumes the task which is mapped to this timer. --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/config.h b/c/src/ada-tests/sptests/sp25/config.h deleted file mode 100644 index 5d162bd899..0000000000 --- a/c/src/ada-tests/sptests/sp25/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp25/sp25.adb b/c/src/ada-tests/sptests/sp25/sp25.adb deleted file mode 100644 index 58e45b339d..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP25 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP25 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP25; - diff --git a/c/src/ada-tests/sptests/sp25/sp25.scn b/c/src/ada-tests/sptests/sp25/sp25.scn deleted file mode 100644 index 0b0fbcf102..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 25 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 64 byte segment from region 1 -TA1 - got segment from region 1 - 16#F9B8# -TA1 - region_get_segment - wait on 128 byte segment from region 1 -TA1 - got segment from region 1 - 16#F930# -TA1 - region_get_segment - wait on 256 byte segment from region 1 -TA1 - got segment from region 1 - 16#F828# -TA1 - region_get_segment - wait on 512 byte segment from region 1 -TA1 - got segment from region 1 - 16#F620# -TA1 - region_get_segment - wait on 1024 byte segment from region 1 -TA1 - got segment from region 1 - 16#F218# -TA1 - region_get_segment - wait on 2048 byte segment from region 1 -TA1 - got segment from region 1 - 16#EA10# -TA1 - region_get_segment - wait on 4096 byte segment from region 1 -TA1 - got segment from region 1 - 16#DA08# -TA1 - region_get_segment - wait on 8192 byte segment from region 1 -TA1 - got segment from region 1 - 16#BA00# -<pause> -TA1 - region_return_segment - return segment to region 1 - 16#F828# -TA1 - region_return_segment - return segment to region 1 - 16#F620# -TA1 - region_return_segment - return segment to region 1 - 16#F9B8# -TA1 - region_return_segment - return segment to region 1 - 16#F930# -TA1 - region_return_segment - return segment to region 1 - 16#DA08# -TA1 - region_return_segment - return segment to region 1 - 16#EA10# -TA1 - region_return_segment - return segment to region 1 - 16#BA00# -TA1 - region_return_segment - return segment to region 1 - 16#F218# -TA1 - region_delete - walks heap if debug enabled -*** END OF TEST 25 *** diff --git a/c/src/ada-tests/sptests/sp25/sptest.adb b/c/src/ada-tests/sptests/sp25/sptest.adb deleted file mode 100644 index a9aace5212..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.adb +++ /dev/null @@ -1,367 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 25 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 64000, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_5 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_6 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_7 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_8 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "64 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 64, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "128 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "256 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 256, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "512 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 512, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "1024 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "2048 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "4096 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 4096, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "8192 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 8192, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_3 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_4 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_1 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_2 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_7 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_6 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_8 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_5 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( - "TA1 - region_delete - walks heap if debug enabled" - ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 25 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/sptest.ads b/c/src/ada-tests/sptests/sp25/sptest.ads deleted file mode 100644 index 516421526f..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.ads +++ /dev/null @@ -1,103 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 64000 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/spsize.adb b/c/src/ada-tests/sptests/spsize/spsize.adb deleted file mode 100644 index e6da47f2ba..0000000000 --- a/c/src/ada-tests/sptests/spsize/spsize.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SPsize of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SPsize is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SPsize; - diff --git a/c/src/ada-tests/sptests/spsize/sptest.adb b/c/src/ada-tests/sptests/spsize/sptest.adb deleted file mode 100644 index 1080728f8f..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.adb +++ /dev/null @@ -1,199 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST SIZE ***" ); - - SPTEST.PUT_SIZE( - "Tasks", - TRUE, - "maximum_tasks", - RTEMS_TEST_SUPPORT.PER_TASK - ); - - SPTEST.PUT_SIZE( - "Timers", - TRUE, - "maximum_timers", - RTEMS_TEST_SUPPORT.PER_TIMER - ); - - SPTEST.PUT_SIZE( - "Semaphores", - TRUE, - "maximum_semaphores", - RTEMS_TEST_SUPPORT.PER_SEMAPHORE - ); - - SPTEST.PUT_SIZE( - "Message Queues", - TRUE, - "maximum_message_queues", - RTEMS_TEST_SUPPORT.PER_MESSAGE_QUEUE - ); - - SPTEST.PUT_SIZE( - "Messages", - TRUE, - "maximum_messages", - RTEMS_TEST_SUPPORT.PER_MESSAGE - ); - - SPTEST.PUT_SIZE( - "Regions", - TRUE, - "maximum_regions", - RTEMS_TEST_SUPPORT.PER_REGION - ); - - SPTEST.PUT_SIZE( - "Partitions", - TRUE, - "maximum_paritions", - RTEMS_TEST_SUPPORT.PER_PARTITION - ); - - SPTEST.PUT_SIZE( - "Ports", - TRUE, - "maximum_ports", - RTEMS_TEST_SUPPORT.PER_PORT - ); - - SPTEST.PUT_SIZE( - "Periods", - TRUE, - "maximum_periods", - RTEMS_TEST_SUPPORT.PER_PERIOD - ); - - SPTEST.PUT_SIZE( - "Extensions", - TRUE, - "maximum_extensions", - RTEMS_TEST_SUPPORT.PER_EXTENSION - ); - - SPTEST.PUT_SIZE( - "Device Drivers", - TRUE, - "number_of_device_drivers", - RTEMS_TEST_SUPPORT.PER_DRIVER - ); - - SPTEST.PUT_SIZE( - "System Requirements", - FALSE, - REQUIREMENT => RTEMS_TEST_SUPPORT.SYSTEM_REQUIREMENTS - ); - - SPTEST.PUT_SIZE( - "Floating Point Tasks", - TRUE, - "FP attributes", - RTEMS_TEST_SUPPORT.PER_FP_TASK - ); - - TEXT_IO.PUT_LINE( "User's Tasks' Stacks - " ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Interrupt Stacks - " ); - TEXT_IO.NEW_LINE; - - SPTEST.PUT_SIZE( - "Global object tables", - TRUE, - "maximum_nodes", - RTEMS_TEST_SUPPORT.PER_NODE - ); - - SPTEST.PUT_SIZE( - "Global objects", - TRUE, - "maximum_global_objects", - RTEMS_TEST_SUPPORT.PER_GLOBAL_OBJECT - ); - - SPTEST.PUT_SIZE( - "Proxies", - TRUE, - "maximum_proxies", - RTEMS_TEST_SUPPORT.PER_PROXY - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST SIZE ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - ---PAGE --- --- PUT_SIZE --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ) is - SPACES : constant STRING := " "; - begin - - -- 21 is length of longest description (task's stacks) - - TEXT_IO.PUT( DESCRIPTION ); - TEXT_IO.PUT( SPACES( 1 .. 21 - DESCRIPTION'LENGTH ) ); - TEXT_IO.PUT( " - " ); - if HAS_FIELD_NAME = TRUE then - TEXT_IO.PUT( FIELD_NAME ); - TEXT_IO.PUT( " * " ); - end if; - UNSIGNED32_IO.PUT( REQUIREMENT ); - TEXT_IO.NEW_LINE; - - end PUT_SIZE; - - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/sptest.ads b/c/src/ada-tests/sptests/spsize/sptest.ads deleted file mode 100644 index 312c7e9ead..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.ads +++ /dev/null @@ -1,56 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_SIZE --- --- DESCRIPTION: --- --- This procedure outputs the size information about the specified --- object in a standard format. --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ); - -end SPTEST; diff --git a/c/src/ada-tests/support/address_io.adb b/c/src/ada-tests/support/address_io.adb deleted file mode 100644 index 9e87ef3ed9..0000000000 --- a/c/src/ada-tests/support/address_io.adb +++ /dev/null @@ -1,47 +0,0 @@ --- --- Address_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type System.Address. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with System; -with System.Storage_Elements; -with Text_IO; - -package body Address_IO is - - procedure Put ( - Item : in System.Address; - Width : in Natural := 8; - Base : in Natural := 16 - ) is - package Integer_IO is new TEXT_IO.Integer_IO( Integer ); - begin - - Integer_IO.Put( - Integer( System.Storage_Elements.To_Integer( Item ) ), - Width, - Base - ); - - end Put; - -end Address_IO; - diff --git a/c/src/ada-tests/support/address_io.ads b/c/src/ada-tests/support/address_io.ads deleted file mode 100644 index 3f832b70e0..0000000000 --- a/c/src/ada-tests/support/address_io.ads +++ /dev/null @@ -1,35 +0,0 @@ --- --- ADDRESS_IO / SPECIFICATION --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type System.Address. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with System; - -package Address_IO is - - procedure Put ( - Item : in System.Address; - Width : in Natural := 8; - Base : in Natural := 16 - ); - -end Address_IO; - diff --git a/c/src/ada-tests/support/float_io.ads b/c/src/ada-tests/support/float_io.ads deleted file mode 100644 index 532dc6c447..0000000000 --- a/c/src/ada-tests/support/float_io.ads +++ /dev/null @@ -1,27 +0,0 @@ --- --- Float_IO / Specification --- --- Description: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type Float. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Text_IO; - -package Float_IO is new Text_IO.Float_IO( Float ); - diff --git a/c/src/ada-tests/support/fp.inc b/c/src/ada-tests/support/fp.inc deleted file mode 100644 index 4fde6b16c1..0000000000 --- a/c/src/ada-tests/support/fp.inc +++ /dev/null @@ -1,154 +0,0 @@ --- --- fp.inc --- --- Macros to produce a large number of LOCAL floating point variables. This --- preprocessing is necessary to insure that the variables are --- scoped properly and to avoid duplicating hundreds of lines --- of code. --- --- --- DEFICIENCIES: --- --- 1. This currently does not address whether or not the CPU --- actually has hardware floating point. It just does the work. --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ - --- --- private definitions for macro use --- - --- macro usage EPSILON() -define(`EPSILON',`0.0005') - --- macro usage FP_CHECK_ONE( value, base, factor ) -define(`FP_CHECK_ONE',` - if ( $1 - ( $2 + $3 ) ) > EPSILON or else ( $1 - ( $2 + $3 ) ) < - EPSILON then - UNSIGNED32_IO.PUT( TASK_INDEX ); - TEXT_IO.PUT( ": $1 wrong -- (" ); - FLOAT_IO.PUT( $1 ); - TEXT_IO.PUT( " not " ); - FLOAT_IO.PUT( $2 + $3 ); - TEXT_IO.PUT_LINE( ")" ); - end if -' -) - --- macro usage FP_DECLARE -define(`FP_DECLARE', ` - FP01 : FLOAT := 1.0; - FP02 : FLOAT := 2.0; - FP03 : FLOAT := 3.0; - FP04 : FLOAT := 4.0; - FP05 : FLOAT := 5.0; - FP06 : FLOAT := 6.0; - FP07 : FLOAT := 7.0; - FP08 : FLOAT := 8.0; - FP09 : FLOAT := 9.0; - FP10 : FLOAT := 10.0; - FP11 : FLOAT := 11.0; - FP12 : FLOAT := 12.0; - FP13 : FLOAT := 13.0; - FP14 : FLOAT := 14.0; - FP15 : FLOAT := 15.0; - FP16 : FLOAT := 16.0; - FP17 : FLOAT := 17.0; - FP18 : FLOAT := 18.0; - FP19 : FLOAT := 19.0; - FP20 : FLOAT := 20.0; - FP21 : FLOAT := 21.0; - FP22 : FLOAT := 22.0; - FP23 : FLOAT := 23.0; - FP24 : FLOAT := 24.0; - FP25 : FLOAT := 25.0; - FP26 : FLOAT := 26.0; - FP27 : FLOAT := 27.0; - FP28 : FLOAT := 28.0; - FP29 : FLOAT := 29.0; - FP30 : FLOAT := 30.0; - FP31 : FLOAT := 31.0; - FP32 : FLOAT := 32.0 -' -) - - --- macro usage FP_LOAD( factor ) -define(`FP_LOAD',` - FP01 := FP01 + $1; - FP02 := FP02 + $1; - FP03 := FP03 + $1; - FP04 := FP04 + $1; - FP05 := FP05 + $1; - FP06 := FP06 + $1; - FP07 := FP07 + $1; - FP08 := FP08 + $1; - FP09 := FP09 + $1; - FP10 := FP10 + $1; - FP11 := FP11 + $1; - FP12 := FP12 + $1; - FP13 := FP13 + $1; - FP14 := FP14 + $1; - FP15 := FP15 + $1; - FP16 := FP16 + $1; - FP17 := FP17 + $1; - FP18 := FP18 + $1; - FP19 := FP19 + $1; - FP20 := FP20 + $1; - FP21 := FP21 + $1; - FP22 := FP22 + $1; - FP23 := FP23 + $1; - FP24 := FP24 + $1; - FP25 := FP25 + $1; - FP26 := FP26 + $1; - FP27 := FP27 + $1; - FP28 := FP28 + $1; - FP29 := FP29 + $1; - FP30 := FP30 + $1; - FP31 := FP31 + $1; - FP32 := FP32 + $1 -') - --- macro usage FP_CHECK( factor ) -define(`FP_CHECK',` - FP_CHECK_ONE( FP01, 1.0, $1 ); - FP_CHECK_ONE( FP02, 2.0, $1 ); - FP_CHECK_ONE( FP03, 3.0, $1 ); - FP_CHECK_ONE( FP04, 4.0, $1 ); - FP_CHECK_ONE( FP05, 5.0, $1 ); - FP_CHECK_ONE( FP06, 6.0, $1 ); - FP_CHECK_ONE( FP07, 7.0, $1 ); - FP_CHECK_ONE( FP08, 8.0, $1 ); - FP_CHECK_ONE( FP09, 9.0, $1 ); - FP_CHECK_ONE( FP10, 10.0, $1 ); - FP_CHECK_ONE( FP11, 11.0, $1 ); - FP_CHECK_ONE( FP12, 12.0, $1 ); - FP_CHECK_ONE( FP13, 13.0, $1 ); - FP_CHECK_ONE( FP14, 14.0, $1 ); - FP_CHECK_ONE( FP15, 15.0, $1 ); - FP_CHECK_ONE( FP16, 16.0, $1 ); - FP_CHECK_ONE( FP17, 17.0, $1 ); - FP_CHECK_ONE( FP18, 18.0, $1 ); - FP_CHECK_ONE( FP19, 19.0, $1 ); - FP_CHECK_ONE( FP20, 20.0, $1 ); - FP_CHECK_ONE( FP21, 21.0, $1 ); - FP_CHECK_ONE( FP22, 22.0, $1 ); - FP_CHECK_ONE( FP23, 23.0, $1 ); - FP_CHECK_ONE( FP24, 24.0, $1 ); - FP_CHECK_ONE( FP25, 25.0, $1 ); - FP_CHECK_ONE( FP26, 26.0, $1 ); - FP_CHECK_ONE( FP27, 27.0, $1 ); - FP_CHECK_ONE( FP28, 28.0, $1 ); - FP_CHECK_ONE( FP29, 29.0, $1 ); - FP_CHECK_ONE( FP30, 30.0, $1 ); - FP_CHECK_ONE( FP31, 31.0, $1 ); - FP_CHECK_ONE( FP32, 32.0, $1 ) -' -) diff --git a/c/src/ada-tests/support/init.c b/c/src/ada-tests/support/init.c deleted file mode 100644 index de686055de..0000000000 --- a/c/src/ada-tests/support/init.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - * All rights assigned to U.S. Government, 1994. - * - * This material may be reproduced by or for the U.S. Government pursuant - * to the copyright license under the clause at DFARS 252.227-7013. This - * notice must appear in all copies of this file and its derivatives. - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <bsp.h> - -void *POSIX_Init( - void *argument -) -{ - extern int gnat_main ( int argc, char **argv, char **envp ); - - (void) gnat_main ( 0, 0, 0 ); - - exit( 0 ); -} - -/* - * Only for sp04 - */ - -rtems_id tcb_to_id( - Thread_Control *tcb -) -{ - return tcb->Object.id; -} - -#define CONFIGURE_INIT -#include "config.h" diff --git a/c/src/ada-tests/support/integer.inc b/c/src/ada-tests/support/integer.inc deleted file mode 100644 index b7be26e8b6..0000000000 --- a/c/src/ada-tests/support/integer.inc +++ /dev/null @@ -1,145 +0,0 @@ --- --- integer.inc --- --- Macros to produce a large number of LOCAL integer variables. This --- preprocessing is necessary to insure that the variables are --- scoped properly and to avoid duplicating hundreds of lines --- of code. --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ - --- --- private definitions for macro use --- - --- macro usage INTEGER_CHECK_ONE( value, base, factor ) -define(`INTEGER_CHECK_ONE',` - if $1 /= ($2 + $3) then - UNSIGNED32_IO.PUT( TASK_INDEX ); - TEXT_IO.PUT( ": $1 wrong -- (" ); - UNSIGNED32_IO.PUT( $1, BASE => 16); - TEXT_IO.PUT( " not " ); - UNSIGNED32_IO.PUT( $2, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - end if -' -) - --- macro usage INTEGER_DECLARE -define(`INTEGER_DECLARE', ` - INT01 : RTEMS.UNSIGNED32 := 1; - INT02 : RTEMS.UNSIGNED32 := 2; - INT03 : RTEMS.UNSIGNED32 := 3; - INT04 : RTEMS.UNSIGNED32 := 4; - INT05 : RTEMS.UNSIGNED32 := 5; - INT06 : RTEMS.UNSIGNED32 := 6; - INT07 : RTEMS.UNSIGNED32 := 7; - INT08 : RTEMS.UNSIGNED32 := 8; - INT09 : RTEMS.UNSIGNED32 := 9; - INT10 : RTEMS.UNSIGNED32 := 10; - INT11 : RTEMS.UNSIGNED32 := 11; - INT12 : RTEMS.UNSIGNED32 := 12; - INT13 : RTEMS.UNSIGNED32 := 13; - INT14 : RTEMS.UNSIGNED32 := 14; - INT15 : RTEMS.UNSIGNED32 := 15; - INT16 : RTEMS.UNSIGNED32 := 16; - INT17 : RTEMS.UNSIGNED32 := 17; - INT18 : RTEMS.UNSIGNED32 := 18; - INT19 : RTEMS.UNSIGNED32 := 19; - INT20 : RTEMS.UNSIGNED32 := 20; - INT21 : RTEMS.UNSIGNED32 := 21; - INT22 : RTEMS.UNSIGNED32 := 22; - INT23 : RTEMS.UNSIGNED32 := 23; - INT24 : RTEMS.UNSIGNED32 := 24; - INT25 : RTEMS.UNSIGNED32 := 25; - INT26 : RTEMS.UNSIGNED32 := 26; - INT27 : RTEMS.UNSIGNED32 := 27; - INT28 : RTEMS.UNSIGNED32 := 28; - INT29 : RTEMS.UNSIGNED32 := 29; - INT30 : RTEMS.UNSIGNED32 := 30; - INT31 : RTEMS.UNSIGNED32 := 31; - INT32 : RTEMS.UNSIGNED32 := 32 -' -) - - --- macro usage INTEGER_LOAD( factor ) -define(`INTEGER_LOAD',` - INT01 := INT01 + $1; - INT02 := INT02 + $1; - INT03 := INT03 + $1; - INT04 := INT04 + $1; - INT05 := INT05 + $1; - INT06 := INT06 + $1; - INT07 := INT07 + $1; - INT08 := INT08 + $1; - INT09 := INT09 + $1; - INT10 := INT10 + $1; - INT11 := INT11 + $1; - INT12 := INT12 + $1; - INT13 := INT13 + $1; - INT14 := INT14 + $1; - INT15 := INT15 + $1; - INT16 := INT16 + $1; - INT17 := INT17 + $1; - INT18 := INT18 + $1; - INT19 := INT19 + $1; - INT20 := INT20 + $1; - INT21 := INT21 + $1; - INT22 := INT22 + $1; - INT23 := INT23 + $1; - INT24 := INT24 + $1; - INT25 := INT25 + $1; - INT26 := INT26 + $1; - INT27 := INT27 + $1; - INT28 := INT28 + $1; - INT29 := INT29 + $1; - INT30 := INT30 + $1; - INT31 := INT31 + $1; - INT32 := INT32 + $1 -') - --- macro usage INTEGER_CHECK( factor ) -define(`INTEGER_CHECK',` - INTEGER_CHECK_ONE( INT01, 1, $1 ); - INTEGER_CHECK_ONE( INT02, 2, $1 ); - INTEGER_CHECK_ONE( INT03, 3, $1 ); - INTEGER_CHECK_ONE( INT04, 4, $1 ); - INTEGER_CHECK_ONE( INT05, 5, $1 ); - INTEGER_CHECK_ONE( INT06, 6, $1 ); - INTEGER_CHECK_ONE( INT07, 7, $1 ); - INTEGER_CHECK_ONE( INT08, 8, $1 ); - INTEGER_CHECK_ONE( INT09, 9, $1 ); - INTEGER_CHECK_ONE( INT10, 10, $1 ); - INTEGER_CHECK_ONE( INT11, 11, $1 ); - INTEGER_CHECK_ONE( INT12, 12, $1 ); - INTEGER_CHECK_ONE( INT13, 13, $1 ); - INTEGER_CHECK_ONE( INT14, 14, $1 ); - INTEGER_CHECK_ONE( INT15, 15, $1 ); - INTEGER_CHECK_ONE( INT16, 16, $1 ); - INTEGER_CHECK_ONE( INT17, 17, $1 ); - INTEGER_CHECK_ONE( INT18, 18, $1 ); - INTEGER_CHECK_ONE( INT19, 19, $1 ); - INTEGER_CHECK_ONE( INT20, 20, $1 ); - INTEGER_CHECK_ONE( INT21, 21, $1 ); - INTEGER_CHECK_ONE( INT22, 22, $1 ); - INTEGER_CHECK_ONE( INT23, 23, $1 ); - INTEGER_CHECK_ONE( INT24, 24, $1 ); - INTEGER_CHECK_ONE( INT25, 25, $1 ); - INTEGER_CHECK_ONE( INT26, 26, $1 ); - INTEGER_CHECK_ONE( INT27, 27, $1 ); - INTEGER_CHECK_ONE( INT28, 28, $1 ); - INTEGER_CHECK_ONE( INT29, 29, $1 ); - INTEGER_CHECK_ONE( INT30, 30, $1 ); - INTEGER_CHECK_ONE( INT31, 31, $1 ); - INTEGER_CHECK_ONE( INT32, 32, $1 ) -' -) diff --git a/c/src/ada-tests/support/rtems_calling_overhead.ads b/c/src/ada-tests/support/rtems_calling_overhead.ads deleted file mode 100644 index 31bea79ef0..0000000000 --- a/c/src/ada-tests/support/rtems_calling_overhead.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- RTEMS_CALLING_OVERHEAD / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains the invocation overhead for each --- of the RTEMS directives on the MC68020 Timing Platform. --- This time is then subtracted from the execution time --- of each directive as measured by the Timing Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package RTEMS_CALLING_OVERHEAD is - - INITIALIZE_EXECUTIVE : constant RTEMS.UNSIGNED32 := 0; - SHUTDOWN_EXECUTIVE : constant RTEMS.UNSIGNED32 := 0; - TASK_CREATE : constant RTEMS.UNSIGNED32 := 0; - TASK_IDENT : constant RTEMS.UNSIGNED32 := 0; - TASK_START : constant RTEMS.UNSIGNED32 := 0; - TASK_RESTART : constant RTEMS.UNSIGNED32 := 0; - TASK_DELETE : constant RTEMS.UNSIGNED32 := 0; - TASK_SUSPEND : constant RTEMS.UNSIGNED32 := 0; - TASK_RESUME : constant RTEMS.UNSIGNED32 := 0; - TASK_SET_PRIORITY : constant RTEMS.UNSIGNED32 := 0; - TASK_MODE : constant RTEMS.UNSIGNED32 := 0; - TASK_GET_NOTE : constant RTEMS.UNSIGNED32 := 0; - TASK_SET_NOTE : constant RTEMS.UNSIGNED32 := 0; - TASK_WAKE_WHEN : constant RTEMS.UNSIGNED32 := 0; - TASK_WAKE_AFTER : constant RTEMS.UNSIGNED32 := 0; - INTERRUPT_CATCH : constant RTEMS.UNSIGNED32 := 0; - CLOCK_GET : constant RTEMS.UNSIGNED32 := 0; - CLOCK_SET : constant RTEMS.UNSIGNED32 := 0; - CLOCK_TICK : constant RTEMS.UNSIGNED32 := 0; - - TIMER_CREATE : constant RTEMS.UNSIGNED32 := 0; - TIMER_DELETE : constant RTEMS.UNSIGNED32 := 0; - TIMER_IDENT : constant RTEMS.UNSIGNED32 := 0; - TIMER_FIRE_AFTER : constant RTEMS.UNSIGNED32 := 0; - TIMER_FIRE_WHEN : constant RTEMS.UNSIGNED32 := 0; - TIMER_RESET : constant RTEMS.UNSIGNED32 := 0; - TIMER_CANCEL : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_CREATE : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_DELETE : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_IDENT : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_OBTAIN : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_RELEASE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_CREATE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_IDENT : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_DELETE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_SEND : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_URGENT : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_BROADCAST : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_RECEIVE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_FLUSH : constant RTEMS.UNSIGNED32 := 0; - - EVENT_SEND : constant RTEMS.UNSIGNED32 := 0; - EVENT_RECEIVE : constant RTEMS.UNSIGNED32 := 0; - SIGNAL_CATCH : constant RTEMS.UNSIGNED32 := 0; - SIGNAL_SEND : constant RTEMS.UNSIGNED32 := 0; - PARTITION_CREATE : constant RTEMS.UNSIGNED32 := 0; - PARTITION_IDENT : constant RTEMS.UNSIGNED32 := 0; - PARTITION_DELETE : constant RTEMS.UNSIGNED32 := 0; - PARTITION_GET_BUFFER : constant RTEMS.UNSIGNED32 := 0; - PARTITION_RETURN_BUFFER : constant RTEMS.UNSIGNED32 := 0; - REGION_CREATE : constant RTEMS.UNSIGNED32 := 0; - REGION_IDENT : constant RTEMS.UNSIGNED32 := 0; - REGION_DELETE : constant RTEMS.UNSIGNED32 := 0; - REGION_GET_SEGMENT : constant RTEMS.UNSIGNED32 := 0; - REGION_RETURN_SEGMENT : constant RTEMS.UNSIGNED32 := 0; - PORT_CREATE : constant RTEMS.UNSIGNED32 := 0; - PORT_IDENT : constant RTEMS.UNSIGNED32 := 0; - PORT_DELETE : constant RTEMS.UNSIGNED32 := 0; - PORT_EXTERNAL_TO_INTERNAL : constant RTEMS.UNSIGNED32 := 0; - PORT_INTERNAL_TO_EXTERNAL : constant RTEMS.UNSIGNED32 := 0; - - IO_INITIALIZE : constant RTEMS.UNSIGNED32 := 0; - IO_OPEN : constant RTEMS.UNSIGNED32 := 0; - IO_CLOSE : constant RTEMS.UNSIGNED32 := 0; - IO_READ : constant RTEMS.UNSIGNED32 := 0; - IO_WRITE : constant RTEMS.UNSIGNED32 := 0; - IO_CONTROL : constant RTEMS.UNSIGNED32 := 0; - FATAL_ERROR_OCCURRED : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_CREATE : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_IDENT : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_DELETE : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_CANCEL : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_PERIOD : constant RTEMS.UNSIGNED32 := 0; - MULTIPROCESSING_ANNOUNCE : constant RTEMS.UNSIGNED32 := 0; - -end RTEMS_CALLING_OVERHEAD; diff --git a/c/src/ada-tests/support/status_io.ads b/c/src/ada-tests/support/status_io.ads deleted file mode 100644 index af56ff1a6a..0000000000 --- a/c/src/ada-tests/support/status_io.ads +++ /dev/null @@ -1,28 +0,0 @@ --- --- Status_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type Status.CODES. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with Text_IO; - -package Status_IO is new Text_IO.Enumeration_IO( RTEMS.Status_Codes ); - diff --git a/c/src/ada-tests/support/test_support.adb b/c/src/ada-tests/support/test_support.adb deleted file mode 100644 index 379f0dfdae..0000000000 --- a/c/src/ada-tests/support/test_support.adb +++ /dev/null @@ -1,236 +0,0 @@ --- --- Test_Support / Specification --- --- DESCRIPTION: --- --- This package provides routines which aid the Test Suites --- and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with Unsigned32_IO; -with Status_IO; -with Text_IO; - -package body Test_Support is - ---PAGE --- --- Fatal_Directive_Status --- - - procedure Fatal_Directive_Status ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes; - Message : in String - ) is - begin - - if not RTEMS.Are_Statuses_Equal( Status, Desired ) then - - Text_IO.Put( Message ); - Text_IO.Put( " FAILED -- expected " ); - Status_IO.Put( Desired ); - Text_IO.Put( " got " ); - Status_IO.Put( Status ); - Text_IO.New_Line; - - RTEMS.Fatal_Error_Occurred( RTEMS.Status_Codes'Pos( Status ) ); - - end if; - - end Fatal_Directive_Status; - ---PAGE --- --- Directive_Failed --- - - procedure Directive_Failed ( - Status : in RTEMS.Status_Codes; - Message : in String - ) is - begin - - Test_Support.Fatal_Directive_Status( - Status, - RTEMS.Successful, - Message - ); - - end Directive_Failed; - ---PAGE --- --- Print_Time --- - - procedure Print_Time ( - Prefix : in String; - Time_Buffer : in RTEMS.Time_Of_Day; - Suffix : in String - ) is - begin - - Text_IO.Put( Prefix ); - Unsigned32_IO.Put( Time_Buffer.Hour, Width=>2 ); - Text_IO.Put( ":" ); - Unsigned32_IO.Put( Time_Buffer.Minute, Width=>2 ); - Text_IO.Put( ":" ); - Unsigned32_IO.Put( Time_Buffer.Second, Width=>2 ); - Text_IO.Put( " " ); - Unsigned32_IO.Put( Time_Buffer.Month, Width=>2 ); - Text_IO.Put( "/" ); - Unsigned32_IO.Put( Time_Buffer.Day, Width=>2 ); - Text_IO.Put( "/" ); - Unsigned32_IO.Put( Time_Buffer.Year, Width=>2 ); - Text_IO.Put( Suffix ); - - end Print_Time; - ---PAGE --- --- Put_Dot --- - - procedure Put_Dot ( - Buffer : in String - ) is - begin - Text_IO.Put( Buffer ); - Text_IO.FLUSH; - end Put_Dot; - ---PAGE --- --- Pause --- - - procedure Pause is - Ignored_String : String( 1 .. 80 ); - Ignored_Last : Natural; - - begin - - -- - -- Really should be a "put" followed by a "flush." - -- - Text_IO.Put_Line( "<pause> " ); - -- Text_IO.Get_Line( Ignored_String, Ignored_Last ); - - -- exception - - -- when Text_IO.End_Error => - -- -- ignore this error. It happens when redirecting input from /dev/null - -- return; - - end Pause; - ---PAGE --- --- Pause_And_Screen_Number --- - - procedure Pause_And_Screen_Number ( - SCREEN : in RTEMS.Unsigned32 - ) is - Ignored_String : String( 1 .. 80 ); - Ignored_Last : Natural; - begin - - -- - -- Really should be a "put" followed by a "flush." - -- - Text_IO.Put( "<pause - screen " ); - Unsigned32_IO.Put( SCREEN, Width=>2 ); - Text_IO.Put_Line( "> " ); - -- Text_IO.Get_Line( Ignored_String, Ignored_Last ); - - -- exception - - -- when Text_IO.End_Error => - -- -- ignore this error. It happens when redirecting input from /dev/null - -- return; - - end Pause_And_Screen_Number; - ---PAGE --- --- Put_Name --- - - procedure Put_Name ( - Name : in RTEMS.Name; - New_Line : in Boolean - ) is - C1 : Character; - C2 : Character; - C3 : Character; - C4 : Character; - begin - - RTEMS.Name_To_Characters( Name, C1, C2, C3, C4 ); - - Text_IO.Put( C1 ); - Text_IO.Put( C2 ); - Text_IO.Put( C3 ); - Text_IO.Put( C4 ); - - if New_Line = True then - Text_IO.New_Line; - end if; - - end Put_Name; - ---PAGE --- --- Task_Number --- - - function Task_Number ( - TID : in RTEMS.ID - ) return RTEMS.Unsigned32 is - begin - - return RTEMS.Get_Index( TID ) - 1 - - RTEMS.Configuration.RTEMS_API_Configuration.Number_Of_Initialization_Tasks; - - end Task_Number; - ---PAGE --- --- Do_Nothing --- - - procedure Do_Nothing is - begin - NULL; - end Do_Nothing; - - ---PAGE --- --- Milliseconds_Per_Tick --- - - function Milliseconds_Per_Tick - return RTEMS.Unsigned32 is - begin - return RTEMS.Configuration.Microseconds_Per_Tick / 1000; - end Milliseconds_Per_Tick; -end Test_Support; diff --git a/c/src/ada-tests/support/test_support.ads b/c/src/ada-tests/support/test_support.ads deleted file mode 100644 index 4a40da4322..0000000000 --- a/c/src/ada-tests/support/test_support.ads +++ /dev/null @@ -1,173 +0,0 @@ --- --- Test_Support / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the Test Suites --- and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with Text_IO; - -package Test_Support is - --- --- Fatal_Directive_Status --- --- DESCRIPTION: --- --- This subprogram checks if Status is equal to Desired. If so, it --- returns immediately. Otherwise, it prints the Message along with --- the Status and Desired status and invokes the Fatal_Error_Occurred --- directive. --- - - procedure Fatal_Directive_Status ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes; - Message : in STRING - ); - pragma Inline ( Fatal_Directive_Status ); - --- Directive_Failed --- --- DESCRIPTION: --- --- This subprogram checks if Status is equal to Successful. If so, it --- returns immediately. Otherwise, it prints the Message along with --- the Status and Desired status and invokes the Fatal_Error_Occurred --- - - procedure Directive_Failed ( - Status : in RTEMS.Status_Codes; - Message : in STRING - ); - pragma Inline ( Directive_Failed ); - --- --- Print_Time --- --- DESCRIPTION: --- --- This subprogram prints the Prefix string, following by the --- time of day in Time_Buffer, followed by the Suffix. --- - - procedure Print_Time ( - Prefix : in STRING; - Time_Buffer : in RTEMS.Time_Of_Day; - Suffix : in STRING - ); - pragma Inline ( Print_Time ); - --- --- Put_Dot --- --- DESCRIPTION: --- --- This subprogram prints a single character without a carriage return. --- - - procedure Put_Dot ( - Buffer : in STRING - ); - pragma Inline ( Put_Dot ); - --- --- Pause --- --- DESCRIPTION: --- --- This subprogram is used to pause screen output in the Test Suites --- until the user presses carriage return. --- - - procedure Pause; - --- --- Pause_And_Screen_Number --- --- DESCRIPTION: --- --- This subprogram is used to pause screen output and print the current --- number in the Test Suites until the user presses carriage return. --- - - procedure Pause_And_Screen_Number ( - SCREEN : in RTEMS.Unsigned32 - ); - --- --- Put_Name --- --- DESCRIPTION: --- --- This subprogram prints the RTEMS object Name. If New_Line is TRUE, --- then a carriage return is printed after the Name. --- - - procedure Put_Name ( - Name : in RTEMS.Name; - New_Line : in Boolean - ); - --- --- Task_Number --- --- DESCRIPTION: --- --- This function returns the task index which the test should use --- for TID. --- - - function Task_Number ( - TID : in RTEMS.ID - ) return RTEMS.Unsigned32; - pragma Inline ( Task_Number ); - --- --- Do_Nothing --- --- DESCRIPTION: --- --- This procedure is called when a test wishes to use a delay --- loop and insure that the compiler does not optimize it away. --- - - procedure Do_Nothing; - --- --- Ticks_Per_Second is the number of RTEMS clock ticks which --- occur each second. --- - - Ticks_Per_Second : RTEMS.Interval; - pragma Import (C, Ticks_Per_Second, "_TOD_Ticks_per_second"); - --- --- Milliseconds_Per_Tick is the number of milliseconds which --- occur between each RTEMS clock tick. --- - - function Milliseconds_Per_Tick - return RTEMS.Unsigned32; - -private - -end Test_Support; diff --git a/c/src/ada-tests/support/time_test_support.adb b/c/src/ada-tests/support/time_test_support.adb deleted file mode 100644 index 5eba15fa58..0000000000 --- a/c/src/ada-tests/support/time_test_support.adb +++ /dev/null @@ -1,77 +0,0 @@ --- --- TIME_TEST_SUPPORT / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the individual tests in --- the Timing Test Suite and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEXT_IO; -with UNSIGNED32_IO; - -package body TIME_TEST_SUPPORT is - ---PAGE --- --- PUT_TIME --- - - procedure PUT_TIME ( - MESSAGE : in STRING; - TOTAL_TIME : in RTEMS.UNSIGNED32; - ITERATIONS : in RTEMS.UNSIGNED32; - LOOP_OVERHEAD : in RTEMS.UNSIGNED32; - CALLING_OVERHEAD : in RTEMS.UNSIGNED32 - ) is - PER_ITERATION : RTEMS.UNSIGNED32; - begin - - PER_ITERATION := (TOTAL_TIME - LOOP_OVERHEAD) / ITERATIONS; - PER_ITERATION := PER_ITERATION - CALLING_OVERHEAD; - - if PER_ITERATION = 0 then - - TEXT_IO.PUT( "TOTAL_TIME " ); - UNSIGNED32_IO.PUT( TOTAL_TIME ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "ITERATIONS " ); - UNSIGNED32_IO.PUT( ITERATIONS ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "LOOP_OVERHEAD " ); - UNSIGNED32_IO.PUT( LOOP_OVERHEAD ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "CALLING_OVERHEAD " ); - UNSIGNED32_IO.PUT( CALLING_OVERHEAD ); - TEXT_IO.NEW_LINE; - - end if; - - TEXT_IO.PUT( MESSAGE ); - TEXT_IO.PUT( " " ); - UNSIGNED32_IO.PUT( PER_ITERATION ); - TEXT_IO.NEW_LINE; - TEXT_IO.FLUSH; - - end PUT_TIME; - -end TIME_TEST_SUPPORT; diff --git a/c/src/ada-tests/support/time_test_support.ads b/c/src/ada-tests/support/time_test_support.ads deleted file mode 100644 index 6dbacaf69d..0000000000 --- a/c/src/ada-tests/support/time_test_support.ads +++ /dev/null @@ -1,54 +0,0 @@ --- --- TIME_TEST_SUPPORT / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the individual tests in --- the Timing Test Suite and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package TIME_TEST_SUPPORT is - --- --- The following constants define the number of times a directive --- will be performed in the Timing Suite. --- - - OPERATION_COUNT : constant RTEMS.UNSIGNED32 := 100; - ITERATION_COUNT : constant RTEMS.UNSIGNED32 := 100; - --- --- PUT_TIME --- --- DESCRIPTION: --- --- This subprogram prints the MESSAGE followed by the length of --- time which each individual operation took. All times are --- in microseconds. --- - - procedure PUT_TIME ( - MESSAGE : in STRING; - TOTAL_TIME : in RTEMS.UNSIGNED32; - ITERATIONS : in RTEMS.UNSIGNED32; - LOOP_OVERHEAD : in RTEMS.UNSIGNED32; - CALLING_OVERHEAD : in RTEMS.UNSIGNED32 - ); - -end TIME_TEST_SUPPORT; diff --git a/c/src/ada-tests/support/timer_driver.adb b/c/src/ada-tests/support/timer_driver.adb deleted file mode 100644 index caa2374759..0000000000 --- a/c/src/ada-tests/support/timer_driver.adb +++ /dev/null @@ -1,45 +0,0 @@ --- --- Timer_Driver / Body --- --- Description: --- --- This package is the body for the Timer Driver. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package body Timer_Driver is - ---PAGE --- --- Set_Find_Average_Overhead --- --- - - procedure Set_Find_Average_Overhead ( - Find_Flag : in Standard.Boolean - ) is - procedure Set_Find_Average_Overhead_base ( - Find_Flag : in RTEMS.Boolean - ); - pragma Import (C, Set_Find_Average_Overhead_base, - "Set_find_average_overhead"); - begin - Set_Find_Average_Overhead_base (RTEMS.From_Ada_Boolean (Find_Flag)); - end Set_Find_Average_Overhead; - -end Timer_Driver; diff --git a/c/src/ada-tests/support/timer_driver.ads b/c/src/ada-tests/support/timer_driver.ads deleted file mode 100644 index bd7c4891b7..0000000000 --- a/c/src/ada-tests/support/timer_driver.ads +++ /dev/null @@ -1,81 +0,0 @@ --- --- Timer_Driver / Specification --- --- Description: --- --- This package is the specification for the Timer Driver. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package Timer_Driver is - --- --- Initialize --- --- Description: --- --- This subprogram initializes the hardware timer to start it. --- - - procedure Initialize; - pragma Import (C, Initialize, "Timer_initialize"); - --- --- Read_Timer --- --- Description: --- --- This subprogram stops the timer, calculates the length of time --- in microseconds since the timer was started, and returns that --- value. --- - - function Read_Timer - return RTEMS.Unsigned32; - pragma Import (C, Read_Timer, "Read_timer"); - --- --- Empty_Function --- --- Description: --- --- This subprogram is an empty subprogram. It is used to --- insure that a loop will be included in the final executable --- so that loop overhead can be subtracted from the directive --- times reported. --- - - procedure Empty_Function; - pragma Import (C, Empty_Function, "Empty_function"); - --- --- Set_Find_Average_Overhead --- --- Description: --- --- This subprogram sets the Find_Average_Overhead flag to the --- the value passed. --- - - procedure Set_Find_Average_Overhead ( - Find_Flag : in Standard.Boolean - ); - -private - -end Timer_Driver; diff --git a/c/src/ada-tests/support/unsigned32_io.ads b/c/src/ada-tests/support/unsigned32_io.ads deleted file mode 100644 index 4e207461c4..0000000000 --- a/c/src/ada-tests/support/unsigned32_io.ads +++ /dev/null @@ -1,28 +0,0 @@ --- --- Unsigned32_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type RTEMS.Unsigned32. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with Text_IO; - -package Unsigned32_IO is new Text_IO.Modular_IO( RTEMS.Unsigned32 ); - diff --git a/c/src/ada-tests/tmtests/tm01/config.h b/c/src/ada-tests/tmtests/tm01/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tm01/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm01/tm01.adb b/c/src/ada-tests/tmtests/tm01/tm01.adb deleted file mode 100644 index 34671d1495..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tm01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM01 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM01; - diff --git a/c/src/ada-tests/tmtests/tm01/tmtest.adb b/c/src/ada-tests/tmtests/tm01/tmtest.adb deleted file mode 100644 index ba9ab5dee1..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tmtest.adb +++ /dev/null @@ -1,276 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 1 ***" ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - TMTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - TMTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEMAPHORE_OBTAIN_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_RELEASE_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_OBTAIN_NO_WAIT_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_OBTAIN_LOOP_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_RELEASE_LOOP_TIME : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - ITERATIONS : RTEMS.UNSIGNED32; - NAME : RTEMS.NAME; - SMID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - NAME := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - - SEMAPHORE_OBTAIN_TIME := 0; - SEMAPHORE_RELEASE_TIME := 0; - SEMAPHORE_OBTAIN_NO_WAIT_TIME := 0; - SEMAPHORE_OBTAIN_LOOP_TIME := 0; - SEMAPHORE_RELEASE_LOOP_TIME := 0; - --- Time one invocation of SEMAPHORE_CREATE - - TIMER_DRIVER.INITIALIZE; - - RTEMS.SEMAPHORE_CREATE( - NAME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SMID, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_CREATE - ); - --- Time one invocation of SEMAPHORE_DELETE - - TIMER_DRIVER.INITIALIZE; - - RTEMS.SEMAPHORE_DELETE( SMID, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_DELETE - ); - --- Create semaphore for repeated operations. - - RTEMS.SEMAPHORE_CREATE( - NAME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SMID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - --- Perform repeated SEMAPHORE OBTAIN's and RELEASE's - - for ITERATIONS in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_LOOP_TIME := SEMAPHORE_OBTAIN_LOOP_TIME + - TMTEST.END_TIME; - SEMAPHORE_RELEASE_LOOP_TIME := SEMAPHORE_RELEASE_LOOP_TIME + - TMTEST.END_TIME; - - -- Semaphore_obtain (available loop) - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_OBTAIN( - SMID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_TIME := SEMAPHORE_OBTAIN_TIME + TMTEST.END_TIME; - - -- Semaphore_release - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_RELEASE( SMID, STATUS ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_RELEASE_TIME := SEMAPHORE_RELEASE_TIME + - TMTEST.END_TIME; - - -- Semaphore_p (NO_WAIT) - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_OBTAIN( - SMID, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_NO_WAIT_TIME := - SEMAPHORE_OBTAIN_NO_WAIT_TIME + TMTEST.END_TIME; - - -- Semaphore_v - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_RELEASE( SMID, STATUS ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_RELEASE_TIME := SEMAPHORE_RELEASE_TIME + - TMTEST.END_TIME; - - end loop; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (semaphore available)", - SEMAPHORE_OBTAIN_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT, - SEMAPHORE_OBTAIN_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (NO_WAIT)", - SEMAPHORE_OBTAIN_NO_WAIT_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT, - SEMAPHORE_OBTAIN_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (no task waiting)", - SEMAPHORE_RELEASE_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT * 2, - SEMAPHORE_RELEASE_LOOP_TIME * 2, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm01/tmtest.ads b/c/src/ada-tests/tmtests/tm01/tmtest.ads deleted file mode 100644 index 3c8b449675..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tmtest.ads +++ /dev/null @@ -1,68 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task performs the all of the timing operations in this test. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm02/config.h b/c/src/ada-tests/tmtests/tm02/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm02/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm02/tm02.adb b/c/src/ada-tests/tmtests/tm02/tm02.adb deleted file mode 100644 index ee13a6ddf7..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tm02.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM02 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM02 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM02; - diff --git a/c/src/ada-tests/tmtests/tm02/tmtest.adb b/c/src/ada-tests/tmtests/tm02/tmtest.adb deleted file mode 100644 index 606661c956..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tmtest.adb +++ /dev/null @@ -1,209 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 2 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 2 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT is - PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - HIGH_ID : RTEMS.ID; - LOW_ID : RTEMS.ID; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 5; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - HIGH_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH TASK" ); - - PRIORITY := PRIORITY + 1; - - RTEMS.TASK_START( - HIGH_ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH TASK" ); - - for INDEX in 2 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE MIDDLE" ); - - PRIORITY := PRIORITY + 1; - - RTEMS.TASK_START( - TASK_ID, - TMTEST.MIDDLE_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START MIDDLE" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - LOW_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF LOW TASK" ); - - RTEMS.TASK_START( LOW_ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF LOW TASK" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm02/tmtest.ads b/c/src/ada-tests/tmtests/tm02/tmtest.ads deleted file mode 100644 index 49e5df7c16..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tmtest.ads +++ /dev/null @@ -1,103 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task starts the timer and performs a blocking --- SEMAPHORE_OBTAIN. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS task start the timer and performs a blocking --- SEMAPHORE_OBTAIN. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time for --- a blocking SEMAPHORE_OBTAIN. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm03/config.h b/c/src/ada-tests/tmtests/tm03/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm03/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm03/tm03.adb b/c/src/ada-tests/tmtests/tm03/tm03.adb deleted file mode 100644 index 13787b3d97..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tm03.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM03 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM03 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM03; - diff --git a/c/src/ada-tests/tmtests/tm03/tmtest.adb b/c/src/ada-tests/tmtests/tm03/tmtest.adb deleted file mode 100644 index 192248bbcc..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tmtest.adb +++ /dev/null @@ -1,194 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 3 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 3 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ), - 252, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TEST_INIT" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_INIT'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TEST_INIT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - for INDEX in 2 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE MIDDLE" ); - - PRIORITY := PRIORITY - 1; - - RTEMS.TASK_START( TASK_ID, TMTEST.MIDDLE_TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START MIDDLE" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH TASK" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH TASK" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - - end TEST_INIT; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm03/tmtest.ads b/c/src/ada-tests/tmtests/tm03/tmtest.ads deleted file mode 100644 index 0090300559..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tmtest.ads +++ /dev/null @@ -1,95 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. After completion --- of test initialization, the timer is started and a preemptive --- SEMAPHORE_RELEASE is performed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- This RTEMS task performs a blocking SEMAPHORE_OBTAIN. Once --- is obtains the semaphore unit and executes again, it performs --- a preemptive SEMAPHORE_RELEASE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- timer for a preemptive SEMAPHORE_RELEASE. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm04/config.h b/c/src/ada-tests/tmtests/tm04/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm04/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm04/tm04.adb b/c/src/ada-tests/tmtests/tm04/tm04.adb deleted file mode 100644 index 2207f55dc1..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tm04.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM04 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM04 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM04; - diff --git a/c/src/ada-tests/tmtests/tm04/tmtest.adb b/c/src/ada-tests/tmtests/tm04/tmtest.adb deleted file mode 100644 index bef30afc6f..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tmtest.adb +++ /dev/null @@ -1,501 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 4 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 4 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TIME_TEST_SUPPORT.OPERATION_COUNT; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.LOW_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - end TEST_INIT; - ---PAGE --- --- HIGHEST_TASK --- - - procedure HIGHEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT = 1 then - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (blocked, preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 254, OLD_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - elsif ARGUMENT = 2 then - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (ready, preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - else - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end if; - - end HIGHEST_TASK; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - NAME : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESTART( TMTEST.HIGHEST_ID, 1, STATUS ); - -- preempted by Higher_task - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESTART( TMTEST.HIGHEST_ID, 2, STATUS ); - -- preempted by Higher_task - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - end loop; - - NAME := RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.LOW_TASKS'ACCESS, - 0, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_START", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_START - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - end loop; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 250, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.RESTART_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (suspended)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (suspended)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 250, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.RESTART_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (ready)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( INDEX ), - 5, - OLD_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY LOOP" ); - end loop; - - -- yield processor -- tasks block - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (blocked, no preempt)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - -- yield processor -- tasks block - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (blocked)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASKS --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT - 1; - - if TMTEST.TASK_COUNT = 0 then - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', ' ', ' ' ), - 5, - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HI" ); - - RTEMS.TASK_START( - ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HI" ); - - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 3, - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.HIGHEST_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( - TMTEST.HIGHEST_ID, - TMTEST.HIGHEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - - end if; - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end LOW_TASKS; - ---PAGE --- --- RESTART_TASK --- - - procedure RESTART_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT = 1 then - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - end if; - - end RESTART_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm04/tmtest.ads b/c/src/ada-tests/tmtests/tm04/tmtest.ads deleted file mode 100644 index b4b29555df..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tmtest.ads +++ /dev/null @@ -1,161 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable contains the id of the highest priority task --- in the system. --- - - HIGHEST_ID : RTEMS.ID; - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following is used to perform the same operation --- on a group of tasks. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGHEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by one of the LOW_TASKS. The --- first time it executes, it performs a blocking SEMAPHORE_OBTAIN --- which transfers control of the processor to HIGH_TASK. --- The first time HIGHEST_TASK is restarted, it stops the --- timer and reports the execution time for a TASK_RESTART --- for a blocked task which preempts the caller. The second --- time HIGHEST_TASK is restarted, it stops the timer and reports --- the execution time for a TASK_RESTART for a ready task which --- has its original priority restored and preempts the caller. --- - - procedure HIGHEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by one of the LOW_TASKS. This --- task restarts HIGHEST_TASK twice. HIGHEST_TASK is blocked the --- first time and preempts this task when restarted. HIGHEST_TASK --- is ready the second time but has lowered its priority. When --- restarted for the second time, HIGHEST_TASK will have its --- original priority restored and preempt this task. --- Once control of the processor is returned to this task after --- HIGHEST_TASK deletes itself, the following execution times --- are measured and reported. --- --- + readying SEMAPHORE_RELEASE --- + TASK_CREATE --- + TASK_START --- + TASK_RESTART of a suspended task --- + TASK_DELETE of a suspended task --- + TASK_RESTART of a ready task --- + TASK_RESTART of a blocked task which does not cause a preempt --- + TASK_DELETE of a blocked task --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- The last of these RTEMS tasks to execute creates HIGH_TASK --- and HIGHEST_TASK. All of these tasks perform a blocking --- SEMAPHORE_OBTAIN. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- RESTART_TASK --- --- DESCRIPTION: --- --- This RTEMS task --- - - procedure RESTART_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm05/config.h b/c/src/ada-tests/tmtests/tm05/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm05/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm05/tm05.adb b/c/src/ada-tests/tmtests/tm05/tm05.adb deleted file mode 100644 index 535717a052..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tm05.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM05 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM05 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM05; - diff --git a/c/src/ada-tests/tmtests/tm05/tmtest.adb b/c/src/ada-tests/tmtests/tm05/tmtest.adb deleted file mode 100644 index 438988615a..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tmtest.adb +++ /dev/null @@ -1,174 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 5 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 5 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME causing preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESUME - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.TASK_INDEX := TMTEST.TASK_INDEX + 1; - RTEMS.TASK_RESUME( TMTEST.TASK_ID( TMTEST.TASK_INDEX ), STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND self", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_SUSPEND - ); - - TMTEST.TASK_INDEX := 1; - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESUME( TMTEST.TASK_ID( TMTEST.TASK_INDEX ), STATUS ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm05/tmtest.ads b/c/src/ada-tests/tmtests/tm05/tmtest.ads deleted file mode 100644 index 2bb9b28c8d..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tmtest.ads +++ /dev/null @@ -1,113 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - - TASK_INDEX : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It starts the timer and performs a TASK_SUSPEND on SELF. --- When this task executes again, it stops the timer and --- reports the execution time for a preemptive TASK_RESUME. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a TASK_SUSPEND on SELF. When each --- task executes again, it performs preemptive TASK_RESUME on --- a higher priority task. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. --- When this task executes, it stops the timer and reports the --- execution time for a blocking TASK_SUSPEND. After this, --- it starts the timer and performs a TASK_RESUME on a --- higher priority task. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm06/config.h b/c/src/ada-tests/tmtests/tm06/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm06/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm06/tm06.adb b/c/src/ada-tests/tmtests/tm06/tm06.adb deleted file mode 100644 index c3f0e3ea1b..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tm06.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM06 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM06 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM06; - diff --git a/c/src/ada-tests/tmtests/tm06/tmtest.adb b/c/src/ada-tests/tmtests/tm06/tmtest.adb deleted file mode 100644 index e8d471cd87..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tmtest.adb +++ /dev/null @@ -1,210 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 6 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 6 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_RESTARTED := TIME_TEST_SUPPORT.OPERATION_COUNT; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - end TEST_INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - if TMTEST.TASK_RESTARTED = TIME_TEST_SUPPORT.OPERATION_COUNT then - TIMER_DRIVER.INITIALIZE; - end if; - - TMTEST.TASK_RESTARTED := TMTEST.TASK_RESTARTED - 1; - - if TMTEST.TASK_RESTARTED /= 0 then - RTEMS.TASK_RESTART( RTEMS.SELF, 0, STATUS ); - end if; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART self", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 254, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.NULL_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SUSPEND - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESUME( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESUME - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE others", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- NULL_TASK --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - NULL; - - end NULL_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm06/tmtest.ads b/c/src/ada-tests/tmtests/tm06/tmtest.ads deleted file mode 100644 index bbeed402cf..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tmtest.ads +++ /dev/null @@ -1,104 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is used to determine which restart of TASK_1 will start --- timer and which will stop the timer and report the execution time. --- - - TASK_RESTARTED : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_RESTART of SELF --- + TASK_SUSPEND of another task with no context switch --- + TASK_RESUME with no preemption --- + TASK_DELETE of another task --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_TASK --- --- DESCRIPTION: --- --- This RTEMS task has no operations. It is used to have --- tasks to perform directives upon. --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm07/config.h b/c/src/ada-tests/tmtests/tm07/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm07/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm07/tm07.adb b/c/src/ada-tests/tmtests/tm07/tm07.adb deleted file mode 100644 index dc39b07f1e..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tm07.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM07 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM07 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM07; - diff --git a/c/src/ada-tests/tmtests/tm07/tmtest.adb b/c/src/ada-tests/tmtests/tm07/tmtest.adb deleted file mode 100644 index 12a2402626..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tmtest.adb +++ /dev/null @@ -1,179 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 7 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 7 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT > 0 then - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART suspended/preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - else - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - end if; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_INDEX := TMTEST.TASK_INDEX + 1; - - if ARGUMENT > 0 then - RTEMS.TASK_RESTART( - TMTEST.TASK_ID( TMTEST.TASK_INDEX ), - 16#7FFFFFFF#, - STATUS - ); - else - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - end if; - - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_INDEX := 1; - TIMER_DRIVER.INITIALIZE; - - RTEMS.TASK_RESTART( - TMTEST.TASK_ID( TMTEST.TASK_INDEX ), - 16#7FFFFFFF#, - STATUS - ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm07/tmtest.ads b/c/src/ada-tests/tmtests/tm07/tmtest.ads deleted file mode 100644 index 1e97840005..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tmtest.ads +++ /dev/null @@ -1,111 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with TIME_TEST_SUPPORT; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - - TASK_INDEX : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- The first time it executes it suspends itself. When restarted --- it stops the timer and reports the time for a TASK_RESTART --- of a suspended task which results in a preemption. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks suspend themselves the first time they execute. --- When restarted they perform a TASK_RESTART of a suspended --- higher priority task which results in a preemption. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. --- When it executes it starts the timer and restarts a higher --- priority task which immediately preempts this task. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm08/config.h b/c/src/ada-tests/tmtests/tm08/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm08/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm08/tm08.adb b/c/src/ada-tests/tmtests/tm08/tm08.adb deleted file mode 100644 index 03b6a77bb8..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tm08.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM08 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM08 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM08; - diff --git a/c/src/ada-tests/tmtests/tm08/tmtest.adb b/c/src/ada-tests/tmtests/tm08/tmtest.adb deleted file mode 100644 index 971c7be472..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tmtest.adb +++ /dev/null @@ -1,341 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 8 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 8 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_CREATE( - 1, - 128, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_CREATE( - 1, - 254, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - end TEST_INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - OLD_MODE : RTEMS.MODE; - OLD_NOTE : RTEMS.NOTEPAD_INDEX; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - RTEMS.CURRENT_PRIORITY, - OLD_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY current priority", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - 253, - OLD_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_MODE( - RTEMS.CURRENT_MODE, - RTEMS.CURRENT_MODE, - OLD_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (current)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 1 ), - RTEMS.INTERRUPT_MASK, - OLD_MODE, - STATUS - ); - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.INTERRUPT_MASK, - OLD_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (no reschedule)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * 2, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - OLD_MODE, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (reschedule)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - OLD_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - 1, - OLD_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_MODE( -- preempted by TEST_TASK1 - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - OLD_MODE, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_NOTE( - TMTEST.TASK_ID, - 8, - 10, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_NOTE ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_NOTE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_GET_NOTE( - TMTEST.TASK_ID, - 8, - OLD_NOTE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_GET_NOTE ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_GET_NOTE - ); - - TIME := (1988, 1, 1, 0, 0, 0, 0 ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_SET( - TIME, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_SET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.CLOCK_SET - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.CLOCK_GET - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- TEST_TASK1 --- - - procedure TEST_TASK1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (preemptive) ", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end TEST_TASK1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm08/tmtest.ads b/c/src/ada-tests/tmtests/tm08/tmtest.ads deleted file mode 100644 index 0eccb2a452..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tmtest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - - TASK_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_SET_PRIORITY to obtain the current priority --- + TASK_SET_PRIORITY which does not require a context switch --- + TASK_MODE to obtain the current mode --- + TASK_MODE which does not require a reschedule --- + TASK_MODE which does require a reschedule --- + TASK_MODE which causes a preemption *** TEST_TASK1 executes --- + TASK_SET_NOTE --- + TASK_GET_NOTE --- + CLOCK_SET --- + CLOCK_GET --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK2 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_MODE which results in a preemption --- - - procedure TEST_TASK1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm09/config.h b/c/src/ada-tests/tmtests/tm09/config.h deleted file mode 100644 index b0a10b776c..0000000000 --- a/c/src/ada-tests/tmtests/tm09/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm09/tm09.adb b/c/src/ada-tests/tmtests/tm09/tm09.adb deleted file mode 100644 index add60e1e84..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tm09.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM09 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM09 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM09; - diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.adb b/c/src/ada-tests/tmtests/tm09/tmtest.adb deleted file mode 100644 index 0dd7d9d798..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tmtest.adb +++ /dev/null @@ -1,302 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 9 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 9 ***" ); - - RTEMS.TASK_CREATE( - 1, - 128, - 4096, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_CREATE( - 1, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_CREATE - ); - - TMTEST.QUEUE_TEST; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_DELETE( - TMTEST.QUEUE_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- QUEUE_TEST --- - - procedure QUEUE_TEST - is - SEND_LOOP_TIME : RTEMS.UNSIGNED32; - URGENT_LOOP_TIME : RTEMS.UNSIGNED32; - RECEIVE_LOOP_TIME : RTEMS.UNSIGNED32; - SEND_TIME : RTEMS.UNSIGNED32; - URGENT_TIME : RTEMS.UNSIGNED32; - RECEIVE_TIME : RTEMS.UNSIGNED32; - EMPTY_FLUSH_TIME : RTEMS.UNSIGNED32; - FLUSH_TIME : RTEMS.UNSIGNED32; - FLUSH_COUNT : RTEMS.UNSIGNED32; - EMPTY_FLUSH_COUNT : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - ITERATIONS : RTEMS.UNSIGNED32; - LOOP_COUNT : RTEMS.UNSIGNED32; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - SEND_LOOP_TIME := 0; - URGENT_LOOP_TIME := 0; - RECEIVE_LOOP_TIME := 0; - SEND_TIME := 0; - URGENT_TIME := 0; - RECEIVE_TIME := 0; - EMPTY_FLUSH_TIME := 0; - FLUSH_TIME := 0; - FLUSH_COUNT := 0; - EMPTY_FLUSH_COUNT := 0; - - BUFFER_POINTER := BUFFER'ADDRESS; - - for ITERATIONS in 1 .. TIME_TEST_SUPPORT.ITERATION_COUNT - loop - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - SEND_LOOP_TIME := SEND_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - URGENT_LOOP_TIME := URGENT_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - RECEIVE_LOOP_TIME := RECEIVE_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - end loop; - SEND_TIME := SEND_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - RECEIVE_TIME := RECEIVE_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - end loop; - URGENT_TIME := URGENT_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - RECEIVE_TIME := RECEIVE_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_FLUSH( - TMTEST.QUEUE_ID, - EMPTY_FLUSH_COUNT, - STATUS - ); - EMPTY_FLUSH_TIME := EMPTY_FLUSH_TIME + TIMER_DRIVER.READ_TIMER; - - -- send one message to flush - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_FLUSH( - TMTEST.QUEUE_ID, - FLUSH_COUNT, - STATUS - ); - FLUSH_TIME := FLUSH_TIME + TIMER_DRIVER.READ_TIMER; - - end loop; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (no tasks waiting)", - SEND_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT, - SEND_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (no tasks waiting)", - URGENT_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT, - URGENT_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (messages available)", - RECEIVE_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT * 2, - RECEIVE_LOOP_TIME * 2, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH (empty queue)", - EMPTY_FLUSH_TIME, - TIME_TEST_SUPPORT.ITERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_FLUSH - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH (messages flushed)", - FLUSH_TIME, - TIME_TEST_SUPPORT.ITERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_FLUSH - ); - - end QUEUE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.ads b/c/src/ada-tests/tmtests/tm09/tmtest.ads deleted file mode 100644 index d1a4f3eac1..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tmtest.ads +++ /dev/null @@ -1,100 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + MESSAGE_QUEUE_CREATE --- + MESSAGE_QUEUE_DELETE --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- QUEUE_TEST --- --- DESCRIPTION: --- --- This subprogram is responsible for measuring and reporting the --- following directive execution times: --- --- + MESSAGE_QUEUE_SEND with no tasks waiting --- + MESSAGE_QUEUE_URGENT with no tasks waiting --- + MESSAGE_QUEUE_RECEIVE with messages available --- + MESSAGE_QUEUE_FLUSH with an empty message queue --- + MESSAGE_QUEUE_FLUSH with messages flushed --- - - procedure QUEUE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm10/config.h b/c/src/ada-tests/tmtests/tm10/config.h deleted file mode 100644 index a3748d64ce..0000000000 --- a/c/src/ada-tests/tmtests/tm10/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 110 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm10/tm10.adb b/c/src/ada-tests/tmtests/tm10/tm10.adb deleted file mode 100644 index 79f725dc0b..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tm10.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM10 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM10 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM10; - diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.adb b/c/src/ada-tests/tmtests/tm10/tmtest.adb deleted file mode 100644 index 99e776f311..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tmtest.adb +++ /dev/null @@ -1,225 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 10 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 10 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - OVERHEAD : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - PRIORITY := 5; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY + 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.MESSAGE_QUEUE_CREATE( - 1, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (NO_WAIT)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.ads b/c/src/ada-tests/tmtests/tm10/tmtest.ads deleted file mode 100644 index 9268fa8bac..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tmtest.ads +++ /dev/null @@ -1,117 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 10 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. After initialization --- has been completed, the NO_WAIT case for MESSAGE_QUEUE_RECEIVE --- is timed and reported. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It starts the timer and performs a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time --- of a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm11/config.h b/c/src/ada-tests/tmtests/tm11/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm11/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm11/tm11.adb b/c/src/ada-tests/tmtests/tm11/tm11.adb deleted file mode 100644 index d88dae9fa4..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tm11.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM11 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM11 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM11; - diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.adb b/c/src/ada-tests/tmtests/tm11/tmtest.adb deleted file mode 100644 index 5cba54d365..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tmtest.adb +++ /dev/null @@ -1,219 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 11 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 11 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - --- As each task is started, it preempts this task and performs a blocking --- MESSAGE_QUEUE_RECEIVE. Upon completion of this loop all created tasks --- are blocked. - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end MIDDLE_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.ads b/c/src/ada-tests/tmtests/tm11/tmtest.ads deleted file mode 100644 index 82b9ba2fbe..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tmtest.ads +++ /dev/null @@ -1,114 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. As each application --- task is created and started, it will preempt this task and --- perform a blocking MESSAGE_QUEUE_RECEIVE. Once all of the --- initialization is completed, the timer is started and the first --- preemptive MESSAGE_QUEUE_SEND is executed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It performs a blocking blocking MESSAGE_QUEUE_RECEIVE. It is --- the last test task created and started. Thus it is the last --- task to be enqueued waiting for a message and the last task --- to receive the message. Once it receives the message, it --- stops the timer and reports the execution time for a --- preemptive MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- As each of these RTEMS tasks is created and started, it preempts --- the initialization task and perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm12/config.h b/c/src/ada-tests/tmtests/tm12/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm12/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm12/tm12.adb b/c/src/ada-tests/tmtests/tm12/tm12.adb deleted file mode 100644 index aa19b74a5c..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tm12.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM12 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM12 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM12; - diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.adb b/c/src/ada-tests/tmtests/tm12/tmtest.adb deleted file mode 100644 index eb25d84829..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tmtest.adb +++ /dev/null @@ -1,212 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 12 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 12 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.LOW_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); --XXX - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); --XXX - - end LOW_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.ads b/c/src/ada-tests/tmtests/tm12/tmtest.ads deleted file mode 100644 index b18df42719..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tmtest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. It --- only executes after all of the LOW_TASKS have blocked. It then --- times a readying MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm13/config.h b/c/src/ada-tests/tmtests/tm13/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm13/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm13/tm13.adb b/c/src/ada-tests/tmtests/tm13/tm13.adb deleted file mode 100644 index 79f3aabf2b..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tm13.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM13 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM13 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM13; - diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.adb b/c/src/ada-tests/tmtests/tm13/tmtest.adb deleted file mode 100644 index 2a657d9515..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tmtest.adb +++ /dev/null @@ -1,217 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 13 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 13 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - --- As each task is started, it preempts this task and performs a blocking --- MESSAGE_QUEUE_RECEIVE. Upon completion of this loop all created tasks --- are blocked. - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end MIDDLE_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.ads b/c/src/ada-tests/tmtests/tm13/tmtest.ads deleted file mode 100644 index 2ecf4a3a96..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tmtest.ads +++ /dev/null @@ -1,114 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. As each application --- task is created and started, it will preempt this task and --- perform a blocking MESSAGE_QUEUE_RECEIVE. Once all of the --- initialization is completed, the timer is started and the first --- preemptive MESSAGE_QUEUE_URGENT is executed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It performs a blocking blocking MESSAGE_QUEUE_RECEIVE. It is --- the last test task created and started. Thus it is the last --- task to be enqueued waiting for a message and the last task --- to receive the message. Once it receives the message, it --- stops the timer and reports the execution time for a --- preemptive MESSAGE_QUEUE_URGENT. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- As each of these RTEMS tasks is created and started, it preempts --- the initialization task and perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm14/config.h b/c/src/ada-tests/tmtests/tm14/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm14/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm14/tm14.adb b/c/src/ada-tests/tmtests/tm14/tm14.adb deleted file mode 100644 index c155fcd29d..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tm14.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM14 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM14 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM14; - diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.adb b/c/src/ada-tests/tmtests/tm14/tmtest.adb deleted file mode 100644 index 69eeb368eb..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tmtest.adb +++ /dev/null @@ -1,216 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 14 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 14 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.LOW_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASKS --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end LOW_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.ads b/c/src/ada-tests/tmtests/tm14/tmtest.ads deleted file mode 100644 index e08a167fcb..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tmtest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. It --- only executes after all of the LOW_TASKS have blocked. It then --- times a readying MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm15/config.h b/c/src/ada-tests/tmtests/tm15/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm15/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm15/tm15.adb b/c/src/ada-tests/tmtests/tm15/tm15.adb deleted file mode 100644 index ede6d05307..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tm15.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM15 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM15 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM15; - diff --git a/c/src/ada-tests/tmtests/tm15/tmtest.adb b/c/src/ada-tests/tmtests/tm15/tmtest.adb deleted file mode 100644 index c1ed0dc9c2..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tmtest.adb +++ /dev/null @@ -1,276 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 15 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 15 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TIME_SET := FALSE; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.HIGH_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_RECEIVE( - RTEMS.PENDING_EVENTS, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (current)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (NO_WAIT)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - end TEST_INIT; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (returns to caller)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_SEND( - TMTEST.TASK_ID( INDEX ), - RTEMS.EVENT_16, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - ---PAGE --- --- HIGH_TASKS --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if TMTEST.TIME_SET = FALSE then - TMTEST.TIME_SET := TRUE; - TIMER_DRIVER.INITIALIZE; - end if; - - RTEMS.EVENT_RECEIVE( - 16#7FFFFFFF#, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - end HIGH_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm15/tmtest.ads b/c/src/ada-tests/tmtests/tm15/tmtest.ads deleted file mode 100644 index 9ccc3d6558..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tmtest.ads +++ /dev/null @@ -1,109 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 15 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. - TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is set to TRUE if the timer has been initialized --- and is currently timing an operation. --- - - TIME_SET : Standard.BOOLEAN; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. Once initialization --- has been completed, the following operations are timed and reported: --- --- + event_receive of currently PENDING_EVENTS --- + event_receive NO_WAIT case --- - - procedure TEST_INIT; - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time --- of a blocking EVENT_RECEIVE. After this the following --- operations are timed and the execution time is reported: --- --- + EVENT_SEND which does not ready a task --- + EVENT_RECEIVE with the event condition available --- + EVENT_SEND which readies a task --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks executive a blocking EVENT_RECEIVE after --- initialization is complete. The first of these tasks to --- execute starts the timer. --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm16/config.h b/c/src/ada-tests/tmtests/tm16/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm16/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm16/tm16.adb b/c/src/ada-tests/tmtests/tm16/tm16.adb deleted file mode 100644 index 91acf3fe15..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tm16.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM16 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM16 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM16; - diff --git a/c/src/ada-tests/tmtests/tm16/tmtest.adb b/c/src/ada-tests/tmtests/tm16/tmtest.adb deleted file mode 100644 index 57dcdd482d..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tmtest.adb +++ /dev/null @@ -1,197 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 16 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 16 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 251, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TEST INIT" ); - - RTEMS.TASK_START( - ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TEST INIT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TASK_ENTRY, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - PRIORITY := PRIORITY - 1; - - end loop; - - TMTEST.TASK_COUNT := 0; - - TIMER_DRIVER.INITIALIZE; -- starts the timer - - RTEMS.EVENT_SEND( -- preempts task - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - RTEMS.EVENT_16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( -- task blocks - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.EVENT_SEND( -- preempts task - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - RTEMS.EVENT_16, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( -- task blocks - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm16/tmtest.ads b/c/src/ada-tests/tmtests/tm16/tmtest.ads deleted file mode 100644 index 44b7feabd2..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tmtest.ads +++ /dev/null @@ -1,111 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 16 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is used to index through the TASK_ID array --- so that events can be send to the next task. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. Once initialization --- has been completed, this task sets the TASK_COUNT to 0 and --- starts the timer before performing a preemptive EVENT_SEND. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is highest priority task in the system. --- Its first action is to perform a blocking EVENT_RECEIVE. --- It is the last task to have its event set sent to it. Thus it --- is the last task to be awakened by a preemptive EVENT_SEND. --- After it preempts the last MIDDLE_TASKS, it stops the timer --- and reports the execution time of preemptive EVENT_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking EVENT_RECEIVE. When --- readied, each task will increment the TASK_COUNT and --- perform a preemptive EVENT_SEND. TASK_COUNT is used to --- index the TASK_ID array in such a way that incrementing --- TASK_COUNT makes it index the ID of the next task to --- send events to. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm17/config.h b/c/src/ada-tests/tmtests/tm17/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm17/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm17/tm17.adb b/c/src/ada-tests/tmtests/tm17/tm17.adb deleted file mode 100644 index 263352447b..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tm17.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM17 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM17 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM17; - diff --git a/c/src/ada-tests/tmtests/tm17/tmtest.adb b/c/src/ada-tests/tmtests/tm17/tmtest.adb deleted file mode 100644 index 1b36ab0cbf..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tmtest.adb +++ /dev/null @@ -1,160 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 17 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ENTRY : RTEMS.TASK_ENTRY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 17 ***" ); - - TMTEST.TASK_PRIORITY := 254; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - TMTEST.TASK_PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LAST_TASK'ACCESS; - elsif INDEX = 0 then - TASK_ENTRY := TMTEST.FIRST_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TMTEST.TASK_COUNT := 1; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- FIRST_TASK --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - - TMTEST.TASK_PRIORITY := TMTEST.TASK_PRIORITY - 1; - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - TMTEST.TASK_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - - end FIRST_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_PRIORITY := TMTEST.TASK_PRIORITY - 1; - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - TMTEST.TASK_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LAST_TASK --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LAST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm17/tmtest.ads b/c/src/ada-tests/tmtests/tm17/tmtest.ads deleted file mode 100644 index e63a76fc62..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tmtest.ads +++ /dev/null @@ -1,109 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 17 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.NAME; - --- --- These variables are used to index the TASK_ID array and change --- the priority of each successive task such that the TASK_SET_PRIORITY --- results in a preemption. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - TASK_PRIORITY : RTEMS.TASK_PRIORITY; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FIRST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the first task to execute in the system. It --- starts the timer and updates the TASK_COUNT and TASK_PRIORITY --- variables so that a preemptive TASK_SET_PRIORITY can be performed. --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- These RTEMS tasks update the TASK_COUNT and TASK_PRIORITY variables --- so that a preemptive TASK_SET_PRIORITY can be performed. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LAST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the last task to execute in the system. It --- stops the timer and reports the execution time of a preemptive --- TASK_SET_PRIORITY. --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm18/config.h b/c/src/ada-tests/tmtests/tm18/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm18/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm18/tm18.adb b/c/src/ada-tests/tmtests/tm18/tm18.adb deleted file mode 100644 index 207c78261e..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tm18.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM18 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM18 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM18; - diff --git a/c/src/ada-tests/tmtests/tm18/tmtest.adb b/c/src/ada-tests/tmtests/tm18/tmtest.adb deleted file mode 100644 index 2603ed0c77..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tmtest.adb +++ /dev/null @@ -1,154 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 18 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 18 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - ID : RTEMS.ID; - TASK_ENTRY : RTEMS.TASK_ENTRY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LAST_TASK'ACCESS; - elsif INDEX = 0 then - TASK_ENTRY := TMTEST.FIRST_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- FIRST_TASK --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - - end FIRST_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LAST_TASK --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (self)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LAST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm18/tmtest.ads b/c/src/ada-tests/tmtests/tm18/tmtest.ads deleted file mode 100644 index 4fe81c9fcb..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tmtest.ads +++ /dev/null @@ -1,97 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 18 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- FIRST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the first task to execute. It starts the --- timer and performs a TASK_DELETE on itself. --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- These RTEMS tasks perform a TASK_DELETE on themselves. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LAST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the last task to execute. It stops the --- timer and reports the execution time of a TASK_DELETE SELF. --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm19/config.h b/c/src/ada-tests/tmtests/tm19/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm19/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm19/tm19.adb b/c/src/ada-tests/tmtests/tm19/tm19.adb deleted file mode 100644 index 6e62411a10..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tm19.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM19 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM19 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM19; - diff --git a/c/src/ada-tests/tmtests/tm19/tmtest.adb b/c/src/ada-tests/tmtests/tm19/tmtest.adb deleted file mode 100644 index 1beb25e26b..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tmtest.adb +++ /dev/null @@ -1,287 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 19 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 19 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 127, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK2" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 126, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK3" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 3 ), - TMTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR_FOR_PASS_1 --- - - procedure PROCESS_ASR_FOR_PASS_1 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND (self)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_SEND - ); - - TEXT_IO.PUT_LINE( "SIGNAL_ENTER (preemptive) na" ); - - TIMER_DRIVER.INITIALIZE; - - end PROCESS_ASR_FOR_PASS_1; - ---PAGE --- --- PROCESS_ASR_FOR_PASS_2 --- - - procedure PROCESS_ASR_FOR_PASS_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "SIGNAL_ENTER (preemptive) na" ); - - RTEMS.TASK_RESUME( TMTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - TIMER_DRIVER.INITIALIZE; - - end PROCESS_ASR_FOR_PASS_2; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_PASS_1'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_CATCH", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_CATCH - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( TMTEST.TASK_ID( 2 ), RTEMS.SIGNAL_1, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND (non-preemptive)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_SEND - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - - -- end time is done in ASR - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_RETURN (non-preemptive)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_PASS_2'ACCESS, - RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - - end TASK_1; - ---PAGE --- --- PROCESS_ASR_FOR_TASK_2 --- - - procedure PROCESS_ASR_FOR_TASK_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - NULL; - - end PROCESS_ASR_FOR_TASK_2; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_TASK_2'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_RETURN (preemptive)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_3; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm19/tmtest.ads b/c/src/ada-tests/tmtests/tm19/tmtest.ads deleted file mode 100644 index 2ac34a75fb..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tmtest.ads +++ /dev/null @@ -1,144 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 19 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR_FOR_PASS_1 --- --- DESCRIPTION: --- --- This subprogram is the ASR used to measure and report the --- execution time of a SIGNAL_SEND to SELF. Before it exits --- it starts the timer so that the execution time required to --- exit from an ASR back to the same task can be measured. --- - - procedure PROCESS_ASR_FOR_PASS_1 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- PROCESS_ASR_FOR_PASS_2 --- --- DESCRIPTION: --- --- This subprogram is the ASR which sets up for a preemptive --- return from an ASR. Before it exits it starts the timer --- so that the execution time required to exit from an ASR --- and transfer control to the another task can be measured. --- - - procedure PROCESS_ASR_FOR_PASS_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + SIGNAL_CATCH --- + non-preemptive SIGNAL_SEND --- + non-preemptive return from an ASR --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR_FOR_TASK_2 --- --- DESCRIPTION: --- --- This subprogram is the ASR for TASK_2. It performs no actions. --- - - procedure PROCESS_ASR_FOR_TASK_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is used as the recipient of a SIGNAL_SEND. --- After establishing an ASR, it suspends itself to insure --- that it does not execute again. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task is used as the recipient of a preemptive --- SIGNAL_SEND. This task suspends itself and is resumed by --- an ASR for TASK_1. Once the task executes, it stops the --- timer and reports the execution time for a preemptive --- return from an ASR. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm20/config.h b/c/src/ada-tests/tmtests/tm20/config.h deleted file mode 100644 index 83d86e9b8c..0000000000 --- a/c/src/ada-tests/tmtests/tm20/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_PARTITIONS 1 -#define CONFIGURE_MAXIMUM_REGIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm20/tm20.adb b/c/src/ada-tests/tmtests/tm20/tm20.adb deleted file mode 100644 index 4462a79bb9..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tm20.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM20 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM20 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM20; - diff --git a/c/src/ada-tests/tmtests/tm20/tmtest.adb b/c/src/ada-tests/tmtests/tm20/tmtest.adb deleted file mode 100644 index 6b17059e35..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tmtest.adb +++ /dev/null @@ -1,588 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 20 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 20 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', '1' ), - 128, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', '2' ), - 129, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER_COUNT : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - RETURN_VALUE : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.PARTITION_NAME := RTEMS.BUILD_NAME( 'P', 'A', 'R', 'T' ); - - TIMER_DRIVER.INITIALIZE; - - RTEMS.PARTITION_CREATE( - TMTEST.PARTITION_NAME, - TMTEST.PARTITION_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.PARTITION_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_CREATE - ); - - TMTEST.REGION_NAME := RTEMS.BUILD_NAME( 'R', 'E', 'G', 'N' ); - - TIMER_DRIVER.INITIALIZE; - - RTEMS.REGION_CREATE( - TMTEST.REGION_NAME, - TMTEST.REGION_AREA'ADDRESS, - 2048, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.REGION_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_GET_BUFFER - ); - - BUFFER_COUNT := 0; - loop - - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESSES( BUFFER_COUNT ), - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.UNSATISFIED ); - - BUFFER_COUNT := BUFFER_COUNT + 1; - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER (not available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_GET_BUFFER - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_RETURN_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_RETURN_BUFFER", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_RETURN_BUFFER - ); - - for INDEX in 0 .. BUFFER_COUNT - 1 - loop - - RTEMS.PARTITION_RETURN_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESSES( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_DELETE( TMTEST.PARTITION_ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_DELETE - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_3, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_4, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (NO_WAIT)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (no tasks waiting)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - -- execute TASK_2 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 254, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - -- execute TASK_2 - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_DELETE( TMTEST.REGION_ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_DELETE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_INITIALIZE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_INITIALIZE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_INITIALIZE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_OPEN( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_OPEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_OPEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_CLOSE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CLOSE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_CLOSE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_READ( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_READ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_READ - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_WRITE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_WRITE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_WRITE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_CONTROL( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CONTROL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_CONTROL - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (blocking)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - - -- preempt back to TASK_1 - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (ready -- return)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_2; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm20/tmtest.ads b/c/src/ada-tests/tmtests/tm20/tmtest.ads deleted file mode 100644 index cf1dfeaaa1..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tmtest.ads +++ /dev/null @@ -1,151 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 20 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These following are the ID and NAME of the RTEMS partition created --- by this test. --- - - PARTITION_ID : RTEMS.ID; - PARTITION_NAME : RTEMS.NAME; - --- --- These following are the ID and NAME of the RTEMS region created --- by this test. --- - - REGION_ID : RTEMS.ID; - REGION_NAME : RTEMS.NAME; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following area defines a memory area to be used as the --- memory space for a region. --- - - REGION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - - for REGION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following are the buffers allocated from the region. --- - - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - BUFFER_ADDRESS_4 : RTEMS.ADDRESS; - - BUFFER_ADDRESSES : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ADDRESS; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + PARTITION_CREATE --- + REGION_CREATE --- + PARTITION_GET_BUFFER with a buffer available --- + PARTITION_GET_BUFFER with no buffers available --- + PARTITION_RETURN_BUFFER --- + PARTITION_DELETE --- + REGION_GET_SEGMENT with a segment available --- + REGION_GET_SEGMENT with the NO_WAIT option --- + REGION_RETURN_SEGMENT with no tasks waiting for memory --- + REGION_RETURN_SEGMENT preemptive --- + REGION_DELETE --- + IO_INITIALIZE --- + IO_OPEN --- + IO_CLOSE --- + IO_READ --- + IO_WRITE --- + IO_CONTROL --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + blocking REGION_GET_SEGMENT --- + REGION_RETURN_SEGMENT which readies a task --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm21/config.h b/c/src/ada-tests/tmtests/tm21/config.h deleted file mode 100644 index 43d589d0f0..0000000000 --- a/c/src/ada-tests/tmtests/tm21/config.h +++ /dev/null @@ -1,43 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 102 -#define CONFIGURE_MAXIMUM_TIMERS 100 -#define CONFIGURE_MAXIMUM_SEMAPHORES 100 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100 -#define CONFIGURE_MAXIMUM_PARTITIONS 100 -#define CONFIGURE_MAXIMUM_REGIONS 100 -#define CONFIGURE_MAXIMUM_PORTS 100 -#define CONFIGURE_MAXIMUM_PERIODS 100 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm21/tm21.adb b/c/src/ada-tests/tmtests/tm21/tm21.adb deleted file mode 100644 index 05958d5ad5..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tm21.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM21 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM21 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM21; - diff --git a/c/src/ada-tests/tmtests/tm21/tmtest.adb b/c/src/ada-tests/tmtests/tm21/tmtest.adb deleted file mode 100644 index 51ea93cc8b..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tmtest.adb +++ /dev/null @@ -1,302 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 21 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 21 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 250, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_1" ); - - RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - INDEX, - 254, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - INDEX, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - RTEMS.SEMAPHORE_CREATE( - INDEX, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.REGION_CREATE( - INDEX, - TMTEST.REGION_AREA'ADDRESS, - 2048, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); - - RTEMS.PARTITION_CREATE( - INDEX, - TMTEST.PARTITION_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - RTEMS.PORT_CREATE( - INDEX, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - 16#FF#, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_CREATE" ); - - RTEMS.TIMER_CREATE( INDEX, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.RATE_MONOTONIC_CREATE( INDEX, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_IDENT( INDEX, RTEMS.SEARCH_ALL_NODES, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.SEMAPHORE_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PARTITION_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PARTITION_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.REGION_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.REGION_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TIMER_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.RATE_MONOTONIC_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_IDENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm21/tmtest.ads b/c/src/ada-tests/tmtests/tm21/tmtest.ads deleted file mode 100644 index 36d687256f..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tmtest.ads +++ /dev/null @@ -1,122 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 21 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with TIMER_DRIVER; -with System.Storage_Elements; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- These following are the ID and NAME of the RTEMS region created --- by this test. --- - - REGION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for REGION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_IDENT --- + MESSAGE_QUEUE_IDENT --- + SEMAPHORE_IDENT --- + PARTITION_IDENT --- + REGION_IDENT --- + PORT_IDENT --- + TIMER_IDENT --- + RATE_MONOTONIC_IDENT --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm22/config.h b/c/src/ada-tests/tmtests/tm22/config.h deleted file mode 100644 index a9d518d83e..0000000000 --- a/c/src/ada-tests/tmtests/tm22/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 103 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm22/tm22.adb b/c/src/ada-tests/tmtests/tm22/tm22.adb deleted file mode 100644 index 037168ddcf..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tm22.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM22 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM22 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM22; - diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.adb b/c/src/ada-tests/tmtests/tm22/tmtest.adb deleted file mode 100644 index d1a2c3cf29..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tmtest.adb +++ /dev/null @@ -1,256 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 22 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 22 ***" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.MESSAGE_QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 10, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'P', 'R', 'M', 'T' ), - 11, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE PREEMPT" ); - - RTEMS.TASK_START( ID, TMTEST.PREEMPT_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START PREEMPT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (readying)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (no waiting tasks)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - -- should go to PREEMPT_TASK here - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - - -- should be preempted by LOW_TASK - - end PREEMPT_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.ads b/c/src/ada-tests/tmtests/tm22/tmtest.ads deleted file mode 100644 index 43270fcf65..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tmtest.ads +++ /dev/null @@ -1,119 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 22 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - MESSAGE_QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by LOW_TASK and executes after --- LOW_TASK has performed a blocking MESSAGE_QUEUE_RECEIVE. --- This task then executes and performs a readying --- MESSAGE_QUEUE_BROADCAST and reports its execution time. --- Finally, the task suspends itself so LOW_TASK can continue --- execution. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task performs a blocking MESSAGE_QUEUE_RECEIVE --- so that when HIGH_TASK performs a MESSAGE_QUEUE_BROADCAST, --- there will be a task to be readied. Following this, the --- execution time for a MESSAGE_QUEUE_BROADCAST to a message --- queue with no waiting tasks is measured and reported. --- Then this task performs another blocking MESSAGE_QUEUE_RECEIVE --- so that when PREEMPT_TASK performs a MESSAGE_QUEUE_BROADCAST, --- PREEMPT_TASK will be preempted by this task. After control --- of the processor is transferred back to this task by the --- preemption, the timer is stopped and the execution time of --- a preemptive MESSAGE_QUEUE_BROADCAST is reported. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PREEMPT_TASK --- --- DESCRIPTION: --- --- This RTEMS task starts the timer and performs a preemptive --- MESSAGE_QUEUE_BROADCAST. --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm23/config.h b/c/src/ada-tests/tmtests/tm23/config.h deleted file mode 100644 index 5e53478121..0000000000 --- a/c/src/ada-tests/tmtests/tm23/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm23/tm23.adb b/c/src/ada-tests/tmtests/tm23/tm23.adb deleted file mode 100644 index b6855a86e1..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tm23.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM23 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM23; - diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.adb b/c/src/ada-tests/tmtests/tm23/tmtest.adb deleted file mode 100644 index bb9dabe3be..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.adb +++ /dev/null @@ -1,399 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OVERHEAD : RTEMS.UNSIGNED32; - TASK_PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - TASK_ENTRY : RTEMS.TASK_ENTRY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 23 ***" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TASK_PRIORITY := 5; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - TASK_PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - TASK_PRIORITY := TASK_PRIORITY + 1; - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- NULL_DELAY --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end NULL_DELAY; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.TASK_PRIORITY; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CREATE( - INDEX, - TMTEST.TIMER_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - - TMTEST.TIME_OF_DAY := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TMTEST.TIME_OF_DAY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TMTEST.TIME_OF_DAY.YEAR := 1989; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CREATE( INDEX, TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_WHEN - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.ads b/c/src/ada-tests/tmtests/tm23/tmtest.ads deleted file mode 100644 index 9f713ae073..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.ads +++ /dev/null @@ -1,130 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with TIME_TEST_SUPPORT; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS timers created by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This data item contains a time of day used by all of the --- "WHEN" directives timed in this test. --- - - TIME_OF_DAY : RTEMS.TIME_OF_DAY; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_DELAY --- --- DESCRIPTION: --- --- This subprogram is a timer service routine. It performs --- no actions. --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following directive execution times: --- --- + TIMER_CREATE --- + TIMER_FIRE_AFTER with an inactive timer --- + TIMER_FIRE_AFTER with an active timer --- + TIMER_CANCEL of an active timer --- + TIMER_CANCEL of an inactive timer --- + TIMER_RESET of an active timer --- + TIMER_RESET of an inactive timer --- + TIMER_FIRE_WHEN of an inactive timer --- + TIMER_FIRE_WHEN of an active timer --- + TIMER_DELETE of an active timer --- + TIMER_DELETE of an inactive timer --- --- After measuring and reporting the above times, this task starts --- the timer and executes the TASK_WAKE_WHEN directive. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks executes the TASK_WAKE_WHEN directive. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time for --- the TASK_WAKE_WHEN directive. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm24/config.h b/c/src/ada-tests/tmtests/tm24/config.h deleted file mode 100644 index 7e7793cf15..0000000000 --- a/c/src/ada-tests/tmtests/tm24/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm24/tm24.adb b/c/src/ada-tests/tmtests/tm24/tm24.adb deleted file mode 100644 index 03873ba82c..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tm24.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM24 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM24 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM24; - diff --git a/c/src/ada-tests/tmtests/tm24/tmtest.adb b/c/src/ada-tests/tmtests/tm24/tmtest.adb deleted file mode 100644 index e8af0ca6ea..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tmtest.adb +++ /dev/null @@ -1,165 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 24 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 24 ***" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.OVERHEAD := TIMER_DRIVER.READ_TIMER; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 10, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'R', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER (no context switch)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - TMTEST.OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_AFTER - ); - - TMTEST.TASK_COUNT := 0; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end HIGH_TASK; - ---PAGE --- --- TASKS --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - if TMTEST.TASK_COUNT = 1 then - - TIMER_DRIVER.INITIALIZE; - - elsif TMTEST.TASK_COUNT = TIME_TEST_SUPPORT.OPERATION_COUNT then - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER (context switch)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - TMTEST.OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_AFTER - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - - end TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm24/tmtest.ads b/c/src/ada-tests/tmtests/tm24/tmtest.ads deleted file mode 100644 index df90eddb91..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tmtest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 24 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This variable is used to determine which task should --- start the timer and which task should stop the timer --- and report the execution time. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- This variable contains the execution time required of the --- loop used to execute the directive. --- - - OVERHEAD : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- execution time for an invocation of TASK_WAKE_AFTER which --- attempts to yield but does not result in a context switch. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks are responsible for measuring and reporting the --- execution time for an invocation of TASK_WAKE_AFTER which --- attempts to yield but does result in a context switch. --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm25/config.h b/c/src/ada-tests/tmtests/tm25/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm25/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm25/tm25.adb b/c/src/ada-tests/tmtests/tm25/tm25.adb deleted file mode 100644 index c3099ab193..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tm25.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM25 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM25 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM25; - diff --git a/c/src/ada-tests/tmtests/tm25/tmtest.adb b/c/src/ada-tests/tmtests/tm25/tmtest.adb deleted file mode 100644 index 080129028e..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tmtest.adb +++ /dev/null @@ -1,157 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 25 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 25 ***" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.LOW_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.HIGH_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASKS --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.INTERVAL'LAST, - STATUS - ); - - end HIGH_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_TICK( STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_TICK", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.CLOCK_TICK - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm25/tmtest.ads b/c/src/ada-tests/tmtests/tm25/tmtest.ads deleted file mode 100644 index 069e7e17ee..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tmtest.ads +++ /dev/null @@ -1,80 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 25 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking SEMAPHORE_OBTAIN which --- has an optional timeout. --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the execution time for the CLOCK_TICK directive. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm26/README b/c/src/ada-tests/tmtests/tm26/README deleted file mode 100644 index c54eb82024..0000000000 --- a/c/src/ada-tests/tmtests/tm26/README +++ /dev/null @@ -1,6 +0,0 @@ -# -# $Id$ -# - -This test requires interfacing to internal RTEMS routines and -is probably not worth the effort to convert. diff --git a/c/src/ada-tests/tmtests/tm26/config.h b/c/src/ada-tests/tmtests/tm26/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm26/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm26/tm26.adb b/c/src/ada-tests/tmtests/tm26/tm26.adb deleted file mode 100644 index 8d4db0a3ed..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tm26.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM26 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM26 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM26; - diff --git a/c/src/ada-tests/tmtests/tm26/tmtest.adp b/c/src/ada-tests/tmtests/tm26/tmtest.adp deleted file mode 100644 index ddf0c39f7a..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tmtest.adp +++ /dev/null @@ -1,650 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 26 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS_CALLING_OVERHEAD; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -include(../../support/fp.inc) - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 26 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'F', 'P', '1', ' ' ), - 201, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.FLOATING_POINT, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF FP1" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.FLOATING_POINT_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF FP1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'F', 'P', '2', ' ' ), - 202, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.FLOATING_POINT, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF FP2" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.FLOATING_POINT_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF FP2" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 200, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF LOW" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.LOW_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF LOW" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - 128, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF MIDDLE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.MIDDLE_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF MIDDLE" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'E', 'M', '1' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'N', 'U', 'L', 'L' ), - 254, - 512, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.NULL_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- NULL_TASK --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - NULL; - - end NULL_TASK; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_ENABLE_DISPATCH; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_ENABLE_DISPATCH", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING, - RTEMS.SUSPENDED - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_SET_STATE", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - -- FORCE CONTEXT SWITCH - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := TRUE; - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_DISPATCH; -- dispatches MIDDLE_TASK - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASK --- - - procedure MIDDLE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_DISPATCH (NO FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING, - RTEMS.SUSPENDED - ); - - TMTEST.MIDDLE_TCB := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 200 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - TMTEST.MIDDLE_TCB.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - end MIDDLE_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (NO FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 201 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - end LOW_TASK; - ---PAGE --- --- FLOATING_POINT_TASK_1 --- - - procedure FLOATING_POINT_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - FP_DECLARE; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (restore 1st FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 202 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_2 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (used->init FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - FP_LOAD( 1.0 ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 202 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_2 - - end FLOATING_POINT_TASK_1; - ---PAGE --- --- FLOATING_POINT_TASK_2 --- - - procedure FLOATING_POINT_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - FP_DECLARE; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (init->init FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 201 ).FIRST - ) - ); - - FP_LOAD( 1.0 ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_1 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (used->used FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TMTEST.COMPLETE_TEST; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end FLOATING_POINT_TASK_2; - ---PAGE --- --- COMPLETE_TEST --- - - procedure COMPLETE_TEST - is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - LOCATION : RTEMS_TEST_SUPPORT.OBJECTS_LOCATIONS; - THE_SEMAPHORE : RTEMS.TCB_POINTER; - THE_THREAD : RTEMS.TCB_POINTER; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_RESUME( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_RESUME", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - TMTEST.MIDDLE_TCB, - RTEMS.WAITING_FOR_MESSAGE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_UNBLOCK( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_UNBLOCK", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - TMTEST.MIDDLE_TCB, - RTEMS.WAITING_FOR_MESSAGE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_READY( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_READY", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS_TEST_SUPPORT.THREAD_GET( - TASK_ID, - LOCATION, - THE_THREAD - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - 0 - ); - --- TIMER_DRIVER.INITIALIZE; --- for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT --- loop --- RTEMS_TEST_SUPPORT.SEMAPHORE_GET( --- TMTEST.SEMAPHORE_ID, --- LOCATION, --- THE_SEMAPHORE --- ); --- end loop; --- TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - --- TIME_TEST_SUPPORT.PUT_TIME( --- "SEMAPHORE_GET", --- TMTEST.END_TIME, --- TIME_TEST_SUPPORT.OPERATION_COUNT, --- 0, --- 0 --- ); - TEXT_IO.PUT_LINE( "SEMAPHORE_GET NOT IN ADA" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS_TEST_SUPPORT.THREAD_GET( - 16#3#, - LOCATION, - THE_THREAD - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_GET (invalid id)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - 0 - ); - - end COMPLETE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm26/tmtest.ads b/c/src/ada-tests/tmtests/tm26/tmtest.ads deleted file mode 100644 index 3f56e24010..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tmtest.ads +++ /dev/null @@ -1,189 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 26 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This points to the RTEMS task control block for the MIDDLE_TASK. --- - - MIDDLE_TCB : RTEMS.TCB_POINTER; - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_TASK --- --- DESCRIPTION: --- --- This RTEMS task has a NULL body and is only included to --- allow TASK_START to be invoked without impacting another --- task. --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority test task and --- thus executes first. It is responsible for measuring --- and reporting the following times: --- --- + THREAD_DISABLE_DISPATCH --- + THREAD_ENABLE_DISPATCH --- + THREAD_SET_STATE --- --- After measuring and reporting the above times, this task --- starts the timer and forces dispatch to the MIDDLE_TASK. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for THREAD_DISPATCH without any floating point context --- save and restore involved. Following this, it starts the --- timer and forces a CONTEXT_SWITCH to the LOW_TASK. --- - - procedure MIDDLE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a raw CONTEXT_SWITCH without any floating point context --- save and restore involved. Following this, it starts the --- timer and performs a CONTEXT_RESTORE_FP for the FLOATING_POINT_TASK_1 --- and a CONTEXT_SWITCH to FLOATING_POINT_TASK_1. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FLOATING_POINT_TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a CONTEXT_SWITCH which restores the first floating --- point context. Following this, it starts the --- timer and performs a CONTEXT_SAVE_FP and CONTEXT_RESTORE_FP --- and a CONTEXT_SWITCH to FLOATING_POINT_TASK_2. Once --- control is returned to this task FLOATING_POINT_TASK_2, the --- timer is stopped and the execution time for CONTEXT_SWITCH --- from a used to an initialized floating point context is reported. --- Following this, it starts the timer and performs a --- CONTEXT_SAVE_FP and CONTEXT_RESTORE_FP and a CONTEXT_SWITCH --- to FLOATING_POINT_TASK_2. --- - - procedure FLOATING_POINT_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FLOATING_POINT_TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a CONTEXT_SWITCH which switches from one freshly --- initialized floating point context to another freshly --- initialized floating point context. Following this, it --- "dirties" its floating point context and starts the --- timer. After this it performs a CONTEXT_SAVE_FP and --- CONTEXT_RESTORE_FP and a CONTEXT_SWITCH to FLOATING_POINT_TASK_1. --- Once control is returned to this task FLOATING_POINT_TASK_2, the --- timer is stopped and the execution time for CONTEXT_SWITCH --- from one used floating point context to another used floating --- point context is reported. After this, this task invokes --- the COMPLETE_TEST subprogram to measure and report --- the remaining execution times measured by this test. --- - - procedure FLOATING_POINT_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- COMPLETE_TEST --- --- DESCRIPTION: --- --- This subprogram is responsible for measuring and reporting the --- following execution times: --- --- + THREAD_RESUME --- + THREAD_UNBLOCK --- + THREAD_READY --- + THREAD_GET with a valid id --- + THREAD_GET with an invalid id --- - - procedure COMPLETE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm27/README b/c/src/ada-tests/tmtests/tm27/README deleted file mode 100644 index 7fa8ba0b23..0000000000 --- a/c/src/ada-tests/tmtests/tm27/README +++ /dev/null @@ -1,8 +0,0 @@ -# -# $Id$ -# - -This test requires interfacing to BSP provided macros which aid in -installing an ISR. It may or may not be worth the effort to convert. -Primarily this would require a C file which provided real bodies -to invoke for these macros. diff --git a/c/src/ada-tests/tmtests/tm27/config.h b/c/src/ada-tests/tmtests/tm27/config.h deleted file mode 100644 index 7e7793cf15..0000000000 --- a/c/src/ada-tests/tmtests/tm27/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm27/tm27.adb b/c/src/ada-tests/tmtests/tm27/tm27.adb deleted file mode 100644 index 7a8e1ca9f3..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tm27.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM27 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM27 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM27; - diff --git a/c/src/ada-tests/tmtests/tm27/tmtest.adb b/c/src/ada-tests/tmtests/tm27/tmtest.adb deleted file mode 100644 index 12761659be..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tmtest.adb +++ /dev/null @@ -1,268 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 27 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERRUPT_TIME_TEST_SUPPORT; -with INTERFACES; use INTERFACES; -with RTEMS_CALLING_OVERHEAD; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 27 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK_1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK_2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 1; - - TMTEST.INTERRUPT_NEST := 1; - - INTERRUPT_TIME_TEST_SUPPORT.INSTALL_HANDLER( - TMTEST.ISR_HANDLER'ADDRESS - ); - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (nested interrupt)", - TMTEST.INTERRUPT_ENTER_NESTED_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (nested interrupt)", - TMTEST.INTERRUPT_RETURN_NESTED_TIME, - 1, - 0, - 0 - ); - - TMTEST.INTERRUPT_NEST := 0; - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 0; - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (no preempt)", - TMTEST.INTERRUPT_ENTER_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (no preempt)", - TMTEST.INTERRUPT_RETURN_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 0; - - RTEMS_TEST_SUPPORT.THREAD_HEIR := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 254 ).LAST - ) - ); - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := TRUE; - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (preempt)", - TMTEST.INTERRUPT_ENTER_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (preempt)", - TMTEST.INTERRUPT_RETURN_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_2; - ---PAGE --- --- ISR_HANDLER --- - --- --- The ISR_HANDLER and ISR_HANDLER_INNER subprograms are structured --- so that there will be as little entry overhead as possible included --- in the interrupt entry time. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TMTEST.ISR_HANDLER_INNER; - - end ISR_HANDLER; - --- --- ISR_HANDLER_INNER --- - - procedure ISR_HANDLER_INNER - is - begin - - -- enable tracing here is necessary - - INTERRUPT_TIME_TEST_SUPPORT.CLEAR_INTERRUPT; - - case TMTEST.INTERRUPT_NEST is - when 0 => - TMTEST.INTERRUPT_ENTER_TIME := TMTEST.END_TIME; - - when 1 => - TMTEST.INTERRUPT_ENTER_TIME := TMTEST.END_TIME; - TMTEST.INTERRUPT_NEST := 2; - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to a nested copy of ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_NESTED_TIME := TIMER_DRIVER.READ_TIMER; - - when 2 => - TMTEST.INTERRUPT_ENTER_NESTED_TIME := TMTEST.END_TIME; - - when others => - NULL; - - end case; - - -- Start the timer so interrupt return times can be measured - - TIMER_DRIVER.INITIALIZE; - - end ISR_HANDLER_INNER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm27/tmtest.ads b/c/src/ada-tests/tmtests/tm27/tmtest.ads deleted file mode 100644 index ef7848c822..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tmtest.ads +++ /dev/null @@ -1,131 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 27 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following variable indicates which interrupt case is --- currently being timed. --- - - INTERRUPT_NEST : RTEMS.UNSIGNED32; - --- --- The following variables are set to the appropriate execution --- times by the ISR. This is done so the times will be available --- to be printed by a task. --- - - INTERRUPT_ENTER_TIME : RTEMS.UNSIGNED32; - INTERRUPT_RETURN_TIME : RTEMS.UNSIGNED32; - - INTERRUPT_ENTER_NESTED_TIME : RTEMS.UNSIGNED32; - INTERRUPT_RETURN_NESTED_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task reports the following execution times: --- --- + interrupt entry overhead for a nested interrupt --- + interrupt exit overhead for a nested interrupt --- + interrupt entry overhead when no preemption occurs --- + interrupt exit overhead when no preemption occurs --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task reports the following execution times: --- --- + interrupt entry overhead when preemption occurs --- + interrupt exit overhead when preemption occurs --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- ISR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is the test ISR. It simply stops the --- timer and save the execution time for ISR_HANDLER_INNER. --- This is done to minimize the subroutine linkage overhead --- for this routine. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ); - --- --- ISR_HANDLER_INNER --- --- DESCRIPTION: --- --- This subprogram is responsible for storing the execution --- time for the case currently being timed. --- - - procedure ISR_HANDLER_INNER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm28/config.h b/c/src/ada-tests/tmtests/tm28/config.h deleted file mode 100644 index 0c238dfbaf..0000000000 --- a/c/src/ada-tests/tmtests/tm28/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_PORTS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm28/tm28.adb b/c/src/ada-tests/tmtests/tm28/tm28.adb deleted file mode 100644 index e76d166e7a..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tm28.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM28 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM28 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM28; - diff --git a/c/src/ada-tests/tmtests/tm28/tmtest.adb b/c/src/ada-tests/tmtests/tm28/tmtest.adb deleted file mode 100644 index 7505635c06..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tmtest.adb +++ /dev/null @@ -1,176 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 28 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 28 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - NAME : RTEMS.NAME; - OVERHEAD : RTEMS.UNSIGNED32; - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - NAME := RTEMS.BUILD_NAME( 'P', 'O', 'R', 'T' ); - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_CREATE( - NAME, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - 16#FF#, - TMTEST.PORT_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - TMTEST.PORT_ID( 1 ), - TMTEST.EXTERNAL_PORT_AREA( 16#F# )'ADDRESS, - CONVERTED, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_EXTERNAL_TO_INTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_EXTERNAL_TO_INTERNAL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - TMTEST.PORT_ID( 1 ), - TMTEST.INTERNAL_PORT_AREA( 16#F# )'ADDRESS, - CONVERTED, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_INTERNAL_TO_EXTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_INTERNAL_TO_EXTERNAL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_DELETE( TMTEST.PORT_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm28/tmtest.ads b/c/src/ada-tests/tmtests/tm28/tmtest.ads deleted file mode 100644 index 5bf220d453..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tmtest.ads +++ /dev/null @@ -1,106 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 28 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with SYSTEM; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; -with System.Storage_Elements; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - --- --- This array contains the IDs of all RTEMS ports created by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + PORT_CREATE --- + PORT_EXTERNAL_TO_INTERNAL --- + PORT_INTERNAL_TO_EXTERNAL --- + PORT_DELETE --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm29/config.h b/c/src/ada-tests/tmtests/tm29/config.h deleted file mode 100644 index d22b4a61cb..0000000000 --- a/c/src/ada-tests/tmtests/tm29/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_PERIODS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm29/tm29.adb b/c/src/ada-tests/tmtests/tm29/tm29.adb deleted file mode 100644 index 7834403d2b..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tm29.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM29 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM29 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM29; - diff --git a/c/src/ada-tests/tmtests/tm29/tmtest.adb b/c/src/ada-tests/tmtests/tm29/tmtest.adb deleted file mode 100644 index e1f1af77dd..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tmtest.adb +++ /dev/null @@ -1,234 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 29 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 29 ***" ); - - TMTEST.PERIOD_NAME := RTEMS.BUILD_NAME( 'P', 'R', 'D', ' ' ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (initial)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_PERIOD( ID, RTEMS.PERIOD_STATUS, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (STATUS)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CANCEL", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE (cancelled)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_DELETE - ); - - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_PERIOD" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE (active)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 200, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - TMTEST.TASK_COUNT := 0; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASKS --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - - -- Give up the processor to allow all tasks to actually - -- create and start their period timer before the benchmark - -- timer driver is initialized. - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - if TMTEST.TASK_COUNT = 1 then - TIMER_DRIVER.INITIALIZE; - end if; - - RTEMS.RATE_MONOTONIC_PERIOD( ID, 100, STATUS ); - - end TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm29/tmtest.ads b/c/src/ada-tests/tmtests/tm29/tmtest.ads deleted file mode 100644 index e60ded1e11..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tmtest.ads +++ /dev/null @@ -1,96 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 29 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the name used for all periods created by this test. --- - - PERIOD_NAME : RTEMS.NAME; - --- --- The following is used to allow all tasks to create and start --- their period timers before the timer is started for timing --- the blocking case of RATE_MONOTONIC_PERIOD. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. It also measures and --- reports the following directive execution times: --- --- + RATE_MONOTONIC_CREATE --- + RATE_MONOTONIC_PERIOD the initial time --- + RATE_MONOTONIC_PERIOD for a period's status --- + RATE_MONOTONIC_CANCEL --- + RATE_MONOTONIC_DELETE of a cancelled period --- + RATE_MONOTONIC_DELETE of an active period --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- The first of these RTEMS tasks starts the timer. All of these --- tasks execute a blocking RATE_MONOTONIC_PERIOD. --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a blocking RATE_MONOTONIC_PERIOD. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmck/config.h b/c/src/ada-tests/tmtests/tmck/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tmck/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tmck/tmck.adb b/c/src/ada-tests/tmtests/tmck/tmck.adb deleted file mode 100644 index 4f05735bca..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmck.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TMCK of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TMCK is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TMCK; - diff --git a/c/src/ada-tests/tmtests/tmck/tmtest.adb b/c/src/ada-tests/tmtests/tmck/tmtest.adb deleted file mode 100644 index 254a462bcc..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmtest.adb +++ /dev/null @@ -1,220 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Timer Check Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST CHECK ***" ); - - TIMER_DRIVER.SET_FIND_AVERAGE_OVERHEAD( TRUE ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - begin - - TMTEST.CHECK_READ_TIMER; - -TEST_SUPPORT.PAUSE; - - TIMER_DRIVER.INITIALIZE; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "NULL timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 1000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (1000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 10000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (10000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 50000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (50000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 100000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (100000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- CHECK_READ_TIMER --- - - procedure CHECK_READ_TIMER - is - INDEX : RTEMS.UNSIGNED32; - TIME : RTEMS.UNSIGNED32; - begin - - for INDEX in TMTEST.DISTRIBUTION'FIRST .. TMTEST.DISTRIBUTION'LAST - loop - TMTEST.DISTRIBUTION( INDEX ) := 0; - end loop; - - for INDEX in 1 .. TMTEST.OPERATION_COUNT - loop - - loop - TIMER_DRIVER.INITIALIZE; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - exit when - TMTEST.END_TIME <= RTEMS.UNSIGNED32( TMTEST.DISTRIBUTION'LAST ); - - TEXT_IO.PUT( "TOO LONG (" ); - UNSIGNED32_IO.PUT( TMTEST.END_TIME ); - TEXT_IO.PUT_LINE( ")!!!" ); - end loop; - - TMTEST.DISTRIBUTION( TMTEST.END_TIME ) := - TMTEST.DISTRIBUTION( TMTEST.END_TIME ) + 1; - - end loop; - - TEXT_IO.PUT_LINE( - "Units may not be in microseconds for this test!!!" - ); - - TIME := 0; - - for INDEX in TMTEST.DISTRIBUTION'FIRST .. TMTEST.DISTRIBUTION'LAST - loop - if TMTEST.DISTRIBUTION( INDEX ) /= 0 then - TIME := TIME + (TMTEST.DISTRIBUTION( INDEX ) * INDEX); - UNSIGNED32_IO.PUT( INDEX ); - TEXT_IO.PUT( " " ); - UNSIGNED32_IO.PUT( TMTEST.DISTRIBUTION( INDEX ) ); - TEXT_IO.NEW_LINE; - end if; - end loop; - - TEXT_IO.PUT( "Total time = " ); - UNSIGNED32_IO.PUT( TIME ); - TEXT_IO.NEW_LINE; - - end CHECK_READ_TIMER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmck/tmtest.ads b/c/src/ada-tests/tmtests/tmck/tmtest.ads deleted file mode 100644 index 8f82d786a2..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmtest.ads +++ /dev/null @@ -1,97 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Timer Check Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following defines the number of iterations of each timed --- operation to perform. --- - - OPERATION_COUNT : constant RTEMS.UNSIGNED32 := 100000; - --- --- The following array is used to determine how many times --- each time between 0 and 1000 microseconds was returned --- when simply starting and stopping the timer. - - DISTRIBUTION : array ( RTEMS.UNSIGNED32 range 0 .. 10000 ) of RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task invokes CHECK_READ_TIMER before demonstrating --- that increasing the order of magnitude of the number of loop --- iterations performed has a corresponding impact on the time --- reported by the timer driver. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- CHECK_READ_TIMER --- --- DESCRIPTION: --- --- This subprogram is used to determine the overhead associated --- with starting and stopping the timer. It is also useful --- for determining if unexpected times will be reported. --- - - procedure CHECK_READ_TIMER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmoverhd/README b/c/src/ada-tests/tmtests/tmoverhd/README deleted file mode 100644 index d5624c4270..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/README +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# - -This test is of marginal usefulness in testing the bindings. It -shows how much overhead is required to call the Ada binding -routine but does not give any indication of how much overhead the -binding itself adds. This information can be inferred by subtracting -the C times from Ada times on the same target processor. diff --git a/c/src/ada-tests/tmtests/tmoverhd/config.h b/c/src/ada-tests/tmtests/tmoverhd/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include <confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb deleted file mode 100644 index e6a3519e99..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb +++ /dev/null @@ -1,877 +0,0 @@ --- --- DUMMY_RTEMS / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains implementation of stub routines --- which are used to time the invocation overhead incurred --- with an Ada application program invokes each RTEMS directive. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package body DUMMY_RTEMS is - --- Initialization Manager - - procedure INITIALIZE_EXECUTIVE ( - CONFIGURATION_TABLE : in RTEMS.CONFIGURATION_TABLE_POINTER; - CPU_TABLE : in RTEMS.CPU_TABLE_POINTER - ) is - begin - - NULL; - - end INITIALIZE_EXECUTIVE; - - procedure SHUTDOWN_EXECUTIVE ( - RESULT : in RTEMS.UNSIGNED32 - ) is - begin - - NULL; - - end SHUTDOWN_EXECUTIVE; - --- Task Manager - - procedure TASK_CREATE ( - NAME : in RTEMS.NAME; - INITIAL_PRIORITY : in RTEMS.TASK_PRIORITY; - STACK_SIZE : in RTEMS.UNSIGNED32; - INITIAL_MODES : in RTEMS.MODE; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_CREATE; - - procedure TASK_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_IDENT; - - procedure TASK_START ( - ID : in RTEMS.ID; - ENTRY_POINT : in RTEMS.TASK_ENTRY; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_START; - - procedure TASK_RESTART ( - ID : in RTEMS.ID; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_RESTART; - - procedure TASK_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_DELETE; - - procedure TASK_SUSPEND ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SUSPEND; - - procedure TASK_RESUME ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_RESUME; - - procedure TASK_SET_PRIORITY ( - ID : in RTEMS.ID; - NEW_PRIORITY : in RTEMS.TASK_PRIORITY; - OLD_PRIORITY : out RTEMS.TASK_PRIORITY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SET_PRIORITY; - - procedure TASK_MODE ( - MODE_SET : in RTEMS.MODE; - MASK : in RTEMS.MODE; - PREVIOUS_MODE_SET : out RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_MODE; - - procedure TASK_GET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_GET_NOTE; - - procedure TASK_SET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SET_NOTE; - - procedure TASK_WAKE_WHEN ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_WAKE_WHEN; - - procedure TASK_WAKE_AFTER ( - TICKS : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_WAKE_AFTER; - --- Interrupt Manager - - procedure INTERRUPT_CATCH ( - NEW_ISR_HANDLER : in RTEMS.ADDRESS; - VECTOR : in RTEMS.VECTOR_NUMBER; - OLD_ISR_HANDLER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end INTERRUPT_CATCH; - --- Clock Manager - - procedure CLOCK_GET ( - OPTION : in RTEMS.CLOCK_GET_OPTIONS; - TIME_BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_GET; - - procedure CLOCK_SET ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_SET; - - procedure CLOCK_TICK ( - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_TICK; - --- Timer Manager - - procedure TIMER_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_CREATE; - - procedure TIMER_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_DELETE; - - procedure TIMER_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_IDENT; - - procedure TIMER_FIRE_AFTER ( - ID : in RTEMS.ID; - TICKS : in RTEMS.INTERVAL; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_FIRE_AFTER; - - procedure TIMER_FIRE_WHEN ( - ID : in RTEMS.ID; - WALL_TIME : in RTEMS.TIME_OF_DAY; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_FIRE_WHEN; - - procedure TIMER_RESET ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_RESET; - - procedure TIMER_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_CANCEL; - --- Semaphore Manager - - procedure SEMAPHORE_CREATE ( - NAME : in RTEMS.NAME; - COUNT : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - PRIORITY_CEILING : in RTEMS.TASK_PRIORITY; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_CREATE; - - procedure SEMAPHORE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_DELETE; - - procedure SEMAPHORE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_IDENT; - - procedure SEMAPHORE_OBTAIN ( - ID : in RTEMS.ID; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_OBTAIN; - - procedure SEMAPHORE_RELEASE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_RELEASE; - --- Message Queue Manager - - procedure MESSAGE_QUEUE_CREATE ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_CREATE; - - procedure MESSAGE_QUEUE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_IDENT; - - procedure MESSAGE_QUEUE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_DELETE; - - procedure MESSAGE_QUEUE_SEND ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_SEND; - - procedure MESSAGE_QUEUE_URGENT ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_URGENT; - - procedure MESSAGE_QUEUE_BROADCAST ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_BROADCAST; - - procedure MESSAGE_QUEUE_RECEIVE ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - Size : out RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_RECEIVE; - - procedure MESSAGE_QUEUE_FLUSH ( - ID : in RTEMS.ID; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_FLUSH; - --- Event Manager - - procedure EVENT_SEND ( - ID : in RTEMS.ID; - EVENT_IN : in RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end EVENT_SEND; - - procedure EVENT_RECEIVE ( - EVENT_IN : in RTEMS.EVENT_SET; - OPTION_SET : in RTEMS.OPTION; - TICKS : in RTEMS.INTERVAL; - EVENT_OUT : out RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end EVENT_RECEIVE; - --- Signal Manager - - procedure SIGNAL_CATCH ( - ASR_HANDLER : in RTEMS.ASR_HANDLER; - MODE_SET : in RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SIGNAL_CATCH; - - procedure SIGNAL_SEND ( - ID : in RTEMS.ID; - SIGNAL_SET : in RTEMS.SIGNAL_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SIGNAL_SEND; - --- Partition Manager - - procedure PARTITION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - BUFFER_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_CREATE; - - procedure PARTITION_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_IDENT; - - procedure PARTITION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_DELETE; - - procedure PARTITION_GET_BUFFER ( - ID : in RTEMS.ID; - BUFFER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_GET_BUFFER; - - procedure PARTITION_RETURN_BUFFER ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_RETURN_BUFFER; - --- Region Manager - - procedure REGION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - PAGE_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_CREATE; - - procedure REGION_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_IDENT; - - procedure REGION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_DELETE; - - procedure REGION_GET_SEGMENT ( - ID : in RTEMS.ID; - SIZE : in RTEMS.UNSIGNED32; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SEGMENT : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_GET_SEGMENT; - - procedure REGION_RETURN_SEGMENT ( - ID : in RTEMS.ID; - SEGMENT : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_RETURN_SEGMENT; - --- Dual Ported Memory Manager - - procedure PORT_CREATE ( - NAME : in RTEMS.NAME; - INTERNAL_START : in RTEMS.ADDRESS; - EXTERNAL_START : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_CREATE; - - procedure PORT_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_IDENT; - - procedure PORT_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_DELETE; - - procedure PORT_EXTERNAL_TO_INTERNAL ( - ID : in RTEMS.ID; - EXTERNAL : in RTEMS.ADDRESS; - INTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_EXTERNAL_TO_INTERNAL; - - procedure PORT_INTERNAL_TO_EXTERNAL ( - ID : in RTEMS.ID; - INTERNAL : in RTEMS.ADDRESS; - EXTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_INTERNAL_TO_EXTERNAL; - --- Input/Output Manager - - procedure IO_INITIALIZE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_INITIALIZE; - - procedure IO_OPEN ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_OPEN; - - procedure IO_CLOSE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_CLOSE; - - procedure IO_READ ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_READ; - - procedure IO_WRITE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_WRITE; - - procedure IO_CONTROL ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_CONTROL; - --- Fatal Error Manager - - procedure FATAL_ERROR_OCCURRED ( - THE_ERROR : in RTEMS.UNSIGNED32 - ) is - begin - - NULL; - - end FATAL_ERROR_OCCURRED; - --- Rate Monotonic Manager - - procedure RATE_MONOTONIC_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_CREATE; - - procedure RATE_MONOTONIC_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_IDENT; - - procedure RATE_MONOTONIC_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_DELETE; - - procedure RATE_MONOTONIC_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_CANCEL; - - procedure RATE_MONOTONIC_PERIOD ( - ID : in RTEMS.ID; - LENGTH : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_PERIOD; - --- Multiprocessing Manager - - procedure MULTIPROCESSING_ANNOUNCE - is - begin - - NULL; - - end MULTIPROCESSING_ANNOUNCE; - -end DUMMY_RTEMS; diff --git a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads deleted file mode 100644 index ccad73c0ef..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads +++ /dev/null @@ -1,521 +0,0 @@ --- --- DUMMY_RTEMS / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains specifications for stub routines --- which are used to time the invocation overhead incurred --- with an Ada application program invokes each RTEMS directive. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package DUMMY_RTEMS is - --- Initialization Manager - - procedure INITIALIZE_EXECUTIVE ( - CONFIGURATION_TABLE : in RTEMS.CONFIGURATION_TABLE_POINTER; - CPU_TABLE : in RTEMS.CPU_TABLE_POINTER - ); - - procedure SHUTDOWN_EXECUTIVE ( - RESULT : in RTEMS.UNSIGNED32 - ); - --- Task Manager - - procedure TASK_CREATE ( - NAME : in RTEMS.NAME; - INITIAL_PRIORITY : in RTEMS.TASK_PRIORITY; - STACK_SIZE : in RTEMS.UNSIGNED32; - INITIAL_MODES : in RTEMS.MODE; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_START ( - ID : in RTEMS.ID; - ENTRY_POINT : in RTEMS.TASK_ENTRY; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_RESTART ( - ID : in RTEMS.ID; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SUSPEND ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_RESUME ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SET_PRIORITY ( - ID : in RTEMS.ID; - NEW_PRIORITY : in RTEMS.TASK_PRIORITY; - OLD_PRIORITY : out RTEMS.TASK_PRIORITY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_MODE ( - MODE_SET : in RTEMS.MODE; - MASK : in RTEMS.MODE; - PREVIOUS_MODE_SET : out RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_GET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_WAKE_WHEN ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_WAKE_AFTER ( - TICKS : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - --- Interrupt Manager - - procedure INTERRUPT_CATCH ( - NEW_ISR_HANDLER : in RTEMS.ADDRESS; - VECTOR : in RTEMS.VECTOR_NUMBER; - OLD_ISR_HANDLER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Clock Manager - - procedure CLOCK_GET ( - OPTION : in RTEMS.CLOCK_GET_OPTIONS; - TIME_BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure CLOCK_SET ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure CLOCK_TICK ( - RESULT : out RTEMS.STATUS_CODES - ); - --- Timer Manager - - procedure TIMER_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_FIRE_AFTER ( - ID : in RTEMS.ID; - TICKS : in RTEMS.INTERVAL; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_FIRE_WHEN ( - ID : in RTEMS.ID; - WALL_TIME : in RTEMS.TIME_OF_DAY; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_RESET ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - --- Semaphore Manager - - procedure SEMAPHORE_CREATE ( - NAME : in RTEMS.NAME; - COUNT : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - PRIORITY_CEILING : in RTEMS.TASK_PRIORITY; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_OBTAIN ( - ID : in RTEMS.ID; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_RELEASE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - --- Message Queue Manager - - procedure MESSAGE_QUEUE_CREATE ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure MESSAGE_QUEUE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_SEND ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_URGENT ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_BROADCAST ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_RECEIVE ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SIZE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_FLUSH ( - ID : in RTEMS.ID; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - --- Event Manager - - procedure EVENT_SEND ( - ID : in RTEMS.ID; - EVENT_IN : in RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure EVENT_RECEIVE ( - EVENT_IN : in RTEMS.EVENT_SET; - OPTION_SET : in RTEMS.OPTION; - TICKS : in RTEMS.INTERVAL; - EVENT_OUT : out RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ); - --- Signal Manager - - procedure SIGNAL_CATCH ( - ASR_HANDLER : in RTEMS.ASR_HANDLER; - MODE_SET : in RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SIGNAL_SEND ( - ID : in RTEMS.ID; - SIGNAL_SET : in RTEMS.SIGNAL_SET; - RESULT : out RTEMS.STATUS_CODES - ); - --- Partition Manager - - procedure PARTITION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - BUFFER_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_GET_BUFFER ( - ID : in RTEMS.ID; - BUFFER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_RETURN_BUFFER ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Region Manager - - procedure REGION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - PAGE_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_GET_SEGMENT ( - ID : in RTEMS.ID; - SIZE : in RTEMS.UNSIGNED32; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SEGMENT : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_RETURN_SEGMENT ( - ID : in RTEMS.ID; - SEGMENT : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Dual Ported Memory Manager - - procedure PORT_CREATE ( - NAME : in RTEMS.NAME; - INTERNAL_START : in RTEMS.ADDRESS; - EXTERNAL_START : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_EXTERNAL_TO_INTERNAL ( - ID : in RTEMS.ID; - EXTERNAL : in RTEMS.ADDRESS; - INTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_INTERNAL_TO_EXTERNAL ( - ID : in RTEMS.ID; - INTERNAL : in RTEMS.ADDRESS; - EXTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Input/Output Manager - - procedure IO_INITIALIZE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_OPEN ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_CLOSE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_READ ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_WRITE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_CONTROL ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - --- Fatal Error Manager - - procedure FATAL_ERROR_OCCURRED ( - THE_ERROR : in RTEMS.UNSIGNED32 - ); - --- Rate Monotonic Manager - - procedure RATE_MONOTONIC_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_PERIOD ( - ID : in RTEMS.ID; - LENGTH : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - --- Multiprocessing Manager - - procedure MULTIPROCESSING_ANNOUNCE; - -end DUMMY_RTEMS; diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb b/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb deleted file mode 100644 index 50066a949c..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TMOVERHD of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TMOVERHD is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TMOVERHD; - diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb b/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb deleted file mode 100644 index 2faf4bb226..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb +++ /dev/null @@ -1,1564 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Calling Overhead Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with DUMMY_RTEMS; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST OVERHEAD ***" ); - - TIMER_DRIVER.SET_FIND_AVERAGE_OVERHEAD( TRUE ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TIMER_HANDLER --- - - procedure TIMER_HANDLER ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end TIMER_HANDLER; - ---PAGE --- --- ISR_HANDLER --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ) is - begin - - NULL; - - end ISR_HANDLER; - ---PAGE --- --- ASR_HANDLER --- - - procedure ASR_HANDLER ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - begin - - NULL; - - end ASR_HANDLER; - ---PAGE --- --- TASK_1 --- - - CPU_TABLE : aliased RTEMS.CPU_TABLE; - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - NAME : RTEMS.NAME; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - IN_PRIORITY : RTEMS.TASK_PRIORITY; - OUT_PRIORITY : RTEMS.TASK_PRIORITY; - IN_MODE : RTEMS.MODE; - MASK : RTEMS.MODE; - OUT_MODE : RTEMS.MODE; - NOTE : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - TIMEOUT : RTEMS.INTERVAL; - SIGNALS : RTEMS.SIGNAL_SET; - ADDRESS_1 : RTEMS.ADDRESS; - EVENTS : RTEMS.SIGNAL_SET; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MAJOR : RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : RTEMS.DEVICE_MINOR_NUMBER; - IO_RESULT : RTEMS.UNSIGNED32; - ERROR : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - NAME := RTEMS.BUILD_NAME( 'N', 'A', 'M', 'E' ); - - BUFFER_POINTER := BUFFER'ADDRESS; - --- INITIALIZE_EXECUTIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.INITIALIZE_EXECUTIVE( - RTEMS.CONFIGURATION, - CPU_TABLE'ACCESS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INITIALIZE_EXECUTIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SHUTDOWN_EXECUTIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SHUTDOWN_EXECUTIVE( ERROR ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SHUTDOWN_EXECUTIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_CREATE( - NAME, - IN_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_START - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_START", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_RESTART - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_RESTART( ID, 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SUSPEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SUSPEND( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_RESUME - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_RESUME( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SET_PRIORITY - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SET_PRIORITY( - ID, - IN_PRIORITY, - OUT_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_MODE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_MODE( - IN_MODE, - MASK, - OUT_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_GET_NOTE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_GET_NOTE( ID, 1, NOTE, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_GET_NOTE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SET_NOTE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SET_NOTE( ID, 1, NOTE, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_NOTE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_WAKE_WHEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_WAKE_AFTER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_WAKE_AFTER( TIMEOUT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- INTERRUPT_CATCH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.INTERRUPT_CATCH( - TMTEST.ISR_HANDLER'ADDRESS, - RTEMS.VECTOR_NUMBER'FIRST, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_CATCH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_GET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_SET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_SET( TIME, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_SET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_TICK - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_TICK( STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_TICK", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- TIMER_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_CREATE( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_FIRE_AFTER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_FIRE_AFTER( - ID, - TIMEOUT, - TMTEST.TIMER_HANDLER'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_FIRE_WHEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_FIRE_WHEN( - ID, - TIME, - TMTEST.TIMER_HANDLER'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_RESET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_RESET( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_CANCEL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_CANCEL( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_CREATE( - NAME, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_OBTAIN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_OBTAIN( - ID, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_RELEASE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_RELEASE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_CREATE( - NAME, - 128, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, 16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_URGENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, 16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_BROADCAST - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_BROADCAST( - ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_RECEIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_RECEIVE( - ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_FLUSH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_FLUSH( ID, COUNT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- EVENT_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.EVENT_SEND( ID, EVENTS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- EVENT_RECEIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - EVENTS, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SIGNAL_CATCH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SIGNAL_CATCH( - TMTEST.ASR_HANDLER'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_CATCH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SIGNAL_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SIGNAL_SEND( ID, SIGNALS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_CREATE( - NAME, - TMTEST.MEMORY_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_GET_BUFFER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_GET_BUFFER( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_RETURN_BUFFER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_RETURN_BUFFER( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_RETURN_BUFFER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_CREATE( - NAME, - TMTEST.MEMORY_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_GET_SEGMENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_GET_SEGMENT( - ID, - 243, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_RETURN_SEGMENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_RETURN_SEGMENT( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_CREATE( - NAME, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - TMTEST.INTERNAL_PORT_AREA'LENGTH, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_IDENT( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_EXTERNAL_TO_INTERNAL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_EXTERNAL_TO_INTERNAL( - ID, - TMTEST.EXTERNAL_PORT_AREA( 7 )'ADDRESS, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_EXTERNAL_TO_INTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_INTERNAL_TO_EXTERNAL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_INTERNAL_TO_EXTERNAL( - ID, - TMTEST.INTERNAL_PORT_AREA( 7 )'ADDRESS, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_INTERNAL_TO_EXTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- IO_INITIALIZE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_INITIALIZE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_INITIALIZE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_OPEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_OPEN( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_OPEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_CLOSE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_CLOSE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CLOSE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_READ - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_READ( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_READ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_WRITE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_WRITE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_WRITE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_CONTROL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_CONTROL( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CONTROL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- FATAL_ERROR_OCCURRED - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.FATAL_ERROR_OCCURRED( ERROR ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "FATAL_ERROR_OCCURRED", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_CREATE( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_CANCEL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CANCEL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_PERIOD - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_PERIOD( ID, TIMEOUT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MULTIPROCESSING_ANNOUNCE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MULTIPROCESSING_ANNOUNCE; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MULTIPROCESSING_ANNOUNCE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads b/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads deleted file mode 100644 index 52b4da559d..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads +++ /dev/null @@ -1,155 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Calling Overhead Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with TIMER_DRIVER; -with System.Storage_Elements; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - - --- --- The following area defines a memory area to be used as the --- memory space for a partition and later for a region. --- - - MEMORY_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) of RTEMS.UNSIGNED8; - for MEMORY_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TIMER_HANDLER --- --- DESCRIPTION: --- --- This subprogram is a timer service routine. --- - - procedure TIMER_HANDLER ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- ISR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is an interrupt service routine. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ); - --- --- ASR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is an asynchronous signal routine. --- - - procedure ASR_HANDLER ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and --- reporting the calling overhead for all RTEMS --- directives. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; |