forked from Imagelibrary/rtems
new files
This commit is contained in:
105
c/src/ada-tests/support/rtems_calling_overhead.ads
Normal file
105
c/src/ada-tests/support/rtems_calling_overhead.ads
Normal file
@@ -0,0 +1,105 @@
|
||||
--
|
||||
-- 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;
|
||||
77
c/src/ada-tests/support/time_test_support.adb
Normal file
77
c/src/ada-tests/support/time_test_support.adb
Normal file
@@ -0,0 +1,77 @@
|
||||
--
|
||||
-- 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;
|
||||
54
c/src/ada-tests/support/time_test_support.ads
Normal file
54
c/src/ada-tests/support/time_test_support.ads
Normal file
@@ -0,0 +1,54 @@
|
||||
--
|
||||
-- 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;
|
||||
45
c/src/ada-tests/support/timer_driver.adb
Normal file
45
c/src/ada-tests/support/timer_driver.adb
Normal file
@@ -0,0 +1,45 @@
|
||||
--
|
||||
-- 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;
|
||||
81
c/src/ada-tests/support/timer_driver.ads
Normal file
81
c/src/ada-tests/support/timer_driver.ads
Normal file
@@ -0,0 +1,81 @@
|
||||
--
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user