From e17ffea65702a14cc0b252b94533f3354a351b61 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 3 Jun 1997 22:06:49 +0000 Subject: Changed to variable length messages. --- c/src/ada-tests/tmtests/tm09/tmtest.adb | 13 +++++++++--- c/src/ada-tests/tmtests/tm09/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm10/tmtest.adb | 24 ++++++++++++++-------- c/src/ada-tests/tmtests/tm10/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm11/tmtest.adb | 26 ++++++++++++++++-------- c/src/ada-tests/tmtests/tm11/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm12/tmtest.adb | 21 +++++++++++-------- c/src/ada-tests/tmtests/tm12/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm13/tmtest.adb | 26 ++++++++++++++++-------- c/src/ada-tests/tmtests/tm13/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm14/tmtest.adb | 22 ++++++++++++-------- c/src/ada-tests/tmtests/tm14/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tm22/tmtest.adb | 24 ++++++++++++++-------- c/src/ada-tests/tmtests/tm22/tmtest.ads | 13 ++++++++++++ c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb | 12 +++++++---- c/src/ada-tests/tmtests/tmoverhd/tmtest.adb | 13 +++++++----- c/src/ada-tests/tmtests/tmoverhd/tmtest.ads | 13 ++++++++++++ 17 files changed, 219 insertions(+), 66 deletions(-) (limited to 'c/src/ada-tests') diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.adb b/c/src/ada-tests/tmtests/tm09/tmtest.adb index 83c08df903..0dd7d9d798 100644 --- a/c/src/ada-tests/tmtests/tm09/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm09/tmtest.adb @@ -80,6 +80,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_CREATE( 1, TIME_TEST_SUPPORT.OPERATION_COUNT, + 16, RTEMS.DEFAULT_OPTIONS, TMTEST.QUEUE_ID, STATUS @@ -133,8 +134,9 @@ package body TMTEST is INDEX : RTEMS.UNSIGNED32; ITERATIONS : RTEMS.UNSIGNED32; LOOP_COUNT : RTEMS.UNSIGNED32; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin @@ -149,7 +151,7 @@ package body TMTEST is FLUSH_COUNT := 0; EMPTY_FLUSH_COUNT := 0; - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; for ITERATIONS in 1 .. TIME_TEST_SUPPORT.ITERATION_COUNT loop @@ -181,6 +183,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_SEND( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); end loop; @@ -194,6 +197,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); end loop; @@ -205,6 +209,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_URGENT( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); end loop; @@ -218,6 +223,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); end loop; @@ -235,6 +241,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_SEND( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); TIMER_DRIVER.INITIALIZE; diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.ads b/c/src/ada-tests/tmtests/tm09/tmtest.ads index 85867105fa..d1a4f3eac1 100644 --- a/c/src/ada-tests/tmtests/tm09/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm09/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.adb b/c/src/ada-tests/tmtests/tm10/tmtest.adb index f72ae39c94..641bee696f 100644 --- a/c/src/ada-tests/tmtests/tm10/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm10/tmtest.adb @@ -64,12 +64,13 @@ package body TMTEST is PRIORITY : RTEMS.TASK_PRIORITY; OVERHEAD : RTEMS.UNSIGNED32; TASK_ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; PRIORITY := 5; @@ -125,6 +126,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.NO_WAIT, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); end loop; @@ -147,12 +149,13 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; TIMER_DRIVER.INITIALIZE; @@ -161,6 +164,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); @@ -174,18 +178,20 @@ package body TMTEST is procedure MIDDLE_TASKS ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_RECEIVE( TMTEST.QUEUE_ID, BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.ads b/c/src/ada-tests/tmtests/tm10/tmtest.ads index c5d6372aa6..9268fa8bac 100644 --- a/c/src/ada-tests/tmtests/tm10/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm10/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.adb b/c/src/ada-tests/tmtests/tm11/tmtest.adb index 5dce5e8fe9..bd799fd877 100644 --- a/c/src/ada-tests/tmtests/tm11/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm11/tmtest.adb @@ -82,12 +82,13 @@ package body TMTEST is TASK_ENTRY : RTEMS.TASK_ENTRY; PRIORITY : RTEMS.TASK_PRIORITY; TASK_ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + 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 @@ -98,6 +99,7 @@ package body TMTEST is TIME_TEST_SUPPORT.OPERATION_COUNT, RTEMS.DEFAULT_OPTIONS, TMTEST.QUEUE_ID, + MESSAGE_SIZE, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); @@ -135,6 +137,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_SEND( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); @@ -148,18 +151,20 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_RECEIVE( TMTEST.QUEUE_ID, BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); @@ -185,24 +190,27 @@ package body TMTEST is procedure MIDDLE_TASKS ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + 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 ); diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.ads b/c/src/ada-tests/tmtests/tm11/tmtest.ads index 8d7dc6c9f3..82b9ba2fbe 100644 --- a/c/src/ada-tests/tmtests/tm11/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm11/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.adb b/c/src/ada-tests/tmtests/tm12/tmtest.adb index adcc3610f1..8dd56114d9 100644 --- a/c/src/ada-tests/tmtests/tm12/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm12/tmtest.adb @@ -82,12 +82,12 @@ package body TMTEST is TASK_ENTRY : RTEMS.TASK_ENTRY; PRIORITY : RTEMS.TASK_PRIORITY; TASK_ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), @@ -137,14 +137,14 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; INDEX : RTEMS.UNSIGNED32; OVERHEAD : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; TIMER_DRIVER.INITIALIZE; for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT @@ -159,6 +159,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_SEND( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); --XXX @@ -187,18 +188,20 @@ package body TMTEST is procedure LOW_TASKS ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + 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 diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.ads b/c/src/ada-tests/tmtests/tm12/tmtest.ads index 025523888b..b18df42719 100644 --- a/c/src/ada-tests/tmtests/tm12/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm12/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.adb b/c/src/ada-tests/tmtests/tm13/tmtest.adb index f450f89944..312b9cb4f6 100644 --- a/c/src/ada-tests/tmtests/tm13/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm13/tmtest.adb @@ -82,12 +82,13 @@ package body TMTEST is TASK_ENTRY : RTEMS.TASK_ENTRY; PRIORITY : RTEMS.TASK_PRIORITY; TASK_ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + 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 @@ -98,6 +99,7 @@ package body TMTEST is TIME_TEST_SUPPORT.OPERATION_COUNT, RTEMS.DEFAULT_OPTIONS, TMTEST.QUEUE_ID, + MESSAGE_SIZE, STATUS ); @@ -134,6 +136,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_URGENT( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); @@ -147,18 +150,20 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_RECEIVE( TMTEST.QUEUE_ID, BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); @@ -183,24 +188,27 @@ package body TMTEST is procedure MIDDLE_TASKS ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + 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 ); diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.ads b/c/src/ada-tests/tmtests/tm13/tmtest.ads index 80837900ba..2ecf4a3a96 100644 --- a/c/src/ada-tests/tmtests/tm13/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm13/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.adb b/c/src/ada-tests/tmtests/tm14/tmtest.adb index 15185ed1f3..97f81d5d27 100644 --- a/c/src/ada-tests/tmtests/tm14/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm14/tmtest.adb @@ -82,12 +82,12 @@ package body TMTEST is TASK_ENTRY : RTEMS.TASK_ENTRY; PRIORITY : RTEMS.TASK_PRIORITY; TASK_ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_CREATE( RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), @@ -130,6 +130,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_URGENT( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); @@ -143,13 +144,13 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; OVERHEAD : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; TIMER_DRIVER.INITIALIZE; for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT @@ -164,6 +165,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_URGENT( TMTEST.QUEUE_ID, BUFFER_POINTER, + 16, STATUS ); @@ -191,18 +193,20 @@ package body TMTEST is procedure LOW_TASKS ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.MESSAGE_QUEUE_RECEIVE( TMTEST.QUEUE_ID, BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.ads b/c/src/ada-tests/tmtests/tm14/tmtest.ads index ff8d059474..e08a167fcb 100644 --- a/c/src/ada-tests/tmtests/tm14/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm14/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.adb b/c/src/ada-tests/tmtests/tm22/tmtest.adb index 5d4b5bbdc2..e119b6e1c7 100644 --- a/c/src/ada-tests/tmtests/tm22/tmtest.adb +++ b/c/src/ada-tests/tmtests/tm22/tmtest.adb @@ -96,18 +96,19 @@ package body TMTEST is procedure HIGH_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; COUNT : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; TIMER_DRIVER.INITIALIZE; RTEMS.MESSAGE_QUEUE_BROADCAST( TMTEST.MESSAGE_QUEUE_ID, BUFFER_POINTER, + 16, COUNT, STATUS ); @@ -135,15 +136,16 @@ package body TMTEST is ARGUMENT : in RTEMS.TASK_ARGUMENT ) is ID : RTEMS.ID; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + 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 := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; RTEMS.TASK_CREATE( RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), @@ -164,6 +166,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.DEFAULT_MODES, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); @@ -180,6 +183,7 @@ package body TMTEST is RTEMS.MESSAGE_QUEUE_BROADCAST( TMTEST.MESSAGE_QUEUE_ID, BUFFER_POINTER, + 16, COUNT, STATUS ); @@ -199,6 +203,7 @@ package body TMTEST is BUFFER_POINTER, RTEMS.DEFAULT_MODES, RTEMS.NO_TIMEOUT, + MESSAGE_SIZE, STATUS ); @@ -226,18 +231,19 @@ package body TMTEST is procedure PREEMPT_TASK ( ARGUMENT : in RTEMS.TASK_ARGUMENT ) is - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; COUNT : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; TIMER_DRIVER.INITIALIZE; RTEMS.MESSAGE_QUEUE_BROADCAST( TMTEST.MESSAGE_QUEUE_ID, BUFFER_POINTER, + 16, COUNT, STATUS ); diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.ads b/c/src/ada-tests/tmtests/tm22/tmtest.ads index d639514ebe..43270fcf65 100644 --- a/c/src/ada-tests/tmtests/tm22/tmtest.ads +++ b/c/src/ada-tests/tmtests/tm22/tmtest.ads @@ -26,6 +26,19 @@ 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. -- diff --git a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb index c5af3bc8cf..15567c476a 100644 --- a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb +++ b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb @@ -427,7 +427,8 @@ package body DUMMY_RTEMS is procedure MESSAGE_QUEUE_SEND ( ID : in RTEMS.ID; - BUFFER : in RTEMS.BUFFER_POINTER; + BUFFER : in RTEMS.ADDRESS; + Size : in RTEMS.Unsigned32; RESULT : out RTEMS.STATUS_CODES ) is begin @@ -438,7 +439,8 @@ package body DUMMY_RTEMS is procedure MESSAGE_QUEUE_URGENT ( ID : in RTEMS.ID; - BUFFER : in RTEMS.BUFFER_POINTER; + BUFFER : in RTEMS.ADDRESS; + Size : in RTEMS.Unsigned32; RESULT : out RTEMS.STATUS_CODES ) is begin @@ -449,7 +451,8 @@ package body DUMMY_RTEMS is procedure MESSAGE_QUEUE_BROADCAST ( ID : in RTEMS.ID; - BUFFER : in RTEMS.BUFFER_POINTER; + BUFFER : in RTEMS.ADDRESS; + Size : in RTEMS.Unsigned32; COUNT : out RTEMS.UNSIGNED32; RESULT : out RTEMS.STATUS_CODES ) is @@ -461,9 +464,10 @@ package body DUMMY_RTEMS is procedure MESSAGE_QUEUE_RECEIVE ( ID : in RTEMS.ID; - BUFFER : in RTEMS.BUFFER_POINTER; + BUFFER : in RTEMS.ADDRESS; OPTION_SET : in RTEMS.OPTION; TIMEOUT : in RTEMS.INTERVAL; + Size : out RTEMS.Unsigned32; RESULT : out RTEMS.STATUS_CODES ) is begin diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb b/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb index 02f5b26803..37484653bb 100644 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb +++ b/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb @@ -142,8 +142,9 @@ package body TMTEST is SIGNALS : RTEMS.SIGNAL_SET; ADDRESS_1 : RTEMS.ADDRESS; EVENTS : RTEMS.SIGNAL_SET; - BUFFER : RTEMS.BUFFER; - BUFFER_POINTER : RTEMS.BUFFER_POINTER; + BUFFER : TMTEST.BUFFER; + BUFFER_POINTER : RTEMS.ADDRESS; + MESSAGE_SIZE : RTEMS.UNSIGNED32; COUNT : RTEMS.UNSIGNED32; MAJOR : RTEMS.DEVICE_MAJOR_NUMBER; MINOR : RTEMS.DEVICE_MINOR_NUMBER; @@ -154,7 +155,7 @@ package body TMTEST is NAME := RTEMS.BUILD_NAME( 'N', 'A', 'M', 'E' ); - BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS ); + BUFFER_POINTER := BUFFER'ADDRESS; -- INITIALIZE_EXECUTIVE @@ -821,7 +822,7 @@ TEST_SUPPORT.PAUSE; TIMER_DRIVER.INITIALIZE; for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT loop - DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, STATUS ); + DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, 16, STATUS ); end loop; TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; @@ -838,7 +839,7 @@ TEST_SUPPORT.PAUSE; TIMER_DRIVER.INITIALIZE; for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT loop - DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, STATUS ); + DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, 16, STATUS ); end loop; TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; @@ -858,6 +859,7 @@ TEST_SUPPORT.PAUSE; DUMMY_RTEMS.MESSAGE_QUEUE_BROADCAST( ID, BUFFER_POINTER, + 16, COUNT, STATUS ); @@ -882,6 +884,7 @@ TEST_SUPPORT.PAUSE; BUFFER_POINTER, RTEMS.DEFAULT_OPTIONS, TIMEOUT, + MESSAGE_SIZE, STATUS ); end loop; diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads b/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads index 5b89688b2c..52b4da559d 100644 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads +++ b/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads @@ -28,6 +28,19 @@ 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. -- cgit v1.2.3