From 6d4e604be8b43c0555cd1c9531fe78ae199a1189 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 2 Jun 1997 20:19:03 +0000 Subject: Initial revision --- c/src/ada-tests/tmtests/tm21/tmtest.ads | 160 ++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 c/src/ada-tests/tmtests/tm21/tmtest.ads (limited to 'c/src/ada-tests/tmtests/tm21/tmtest.ads') diff --git a/c/src/ada-tests/tmtests/tm21/tmtest.ads b/c/src/ada-tests/tmtests/tm21/tmtest.ads new file mode 100644 index 0000000000..c9998c4ad4 --- /dev/null +++ b/c/src/ada-tests/tmtests/tm21/tmtest.ads @@ -0,0 +1,160 @@ +-- +-- TMTEST / SPECIFICATION +-- +-- DESCRIPTION: +-- +-- This package is the specification for Test 21 of the RTEMS +-- Timing Test Suite. +-- +-- DEPENDENCIES: +-- +-- +-- +-- 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. +-- +-- tmtest.ads,v 1.3 1995/07/12 19:44:08 joel Exp +-- + +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 + ); + +-- +-- 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 + TMTEST.INIT'ACCESS, -- entry point + RTEMS.NO_PREEMPT, -- initial mode + 0 -- argument list + ) + ); + +-- +-- This is the Configuration Table for this test. +-- + + CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( + RTEMS.NULL_ADDRESS, -- will be replaced by BSP + 256 * 1024, -- executive RAM size + 102, -- maximum # tasks + 100, -- maximum # timers + 100, -- maximum # semaphores + 100, -- maximum # message queues + 5, -- maximum # messages + 100, -- maximum # partitions + 100, -- maximum # regions + 100, -- maximum # dp memory areas + 100, -- maximum # periods + 0, -- maximum # user extensions + RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick + 0 -- # ticks in a timeslice + ); + +end TMTEST; -- cgit v1.2.3