This is an update of all Classic API Message Manager tests to

eliminate code which assumes that 4 * sizeof(unsigned32) == 16)
and that a 16 byte message can be assumed to be 4 unsigned32's.
These assumptions are invalid on target processors that are
not byte-addressable.
This commit is contained in:
Joel Sherrill
2000-05-19 19:13:09 +00:00
parent 9f2e6c6c7d
commit f9c0574793
14 changed files with 114 additions and 64 deletions

View File

@@ -18,6 +18,8 @@
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (sizeof(long) * 4)
void Screen7() void Screen7()
{ {
long buffer[ 4 ]; long buffer[ 4 ];
@@ -25,7 +27,7 @@ void Screen7()
rtems_unsigned32 count; rtems_unsigned32 count;
rtems_status_code status; rtems_status_code status;
status = rtems_message_queue_broadcast( 100, (long (*)[4]) buffer, 16, &count ); status = rtems_message_queue_broadcast( 100, buffer, MESSAGE_SIZE, &count );
fatal_directive_status( fatal_directive_status(
status, status,
RTEMS_INVALID_ID, RTEMS_INVALID_ID,
@@ -36,7 +38,7 @@ void Screen7()
status = rtems_message_queue_create( status = rtems_message_queue_create(
0, 0,
3, 3,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Junk_id &Junk_id
); );
@@ -56,7 +58,7 @@ void Screen7()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
1, 1,
16, MESSAGE_SIZE,
RTEMS_GLOBAL, RTEMS_GLOBAL,
&Junk_id &Junk_id
); );
@@ -71,7 +73,7 @@ void Screen7()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
2, 2,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 1 ] &Queue_id[ 1 ]
); );
@@ -83,7 +85,7 @@ void Screen7()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 2 ], Queue_name[ 2 ],
1, 1,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Junk_id &Junk_id
); );
@@ -180,7 +182,7 @@ void Screen7()
"TA1 - rtems_message_queue_receive - Q 1 - woke up with RTEMS_TIMEOUT" "TA1 - rtems_message_queue_receive - Q 1 - woke up with RTEMS_TIMEOUT"
); );
status = rtems_message_queue_send( 100, (long (*)[4]) buffer, 16 ); status = rtems_message_queue_send( 100, buffer, MESSAGE_SIZE );
fatal_directive_status( fatal_directive_status(
status, status,
RTEMS_INVALID_ID, RTEMS_INVALID_ID,
@@ -188,15 +190,15 @@ void Screen7()
); );
puts( "TA1 - rtems_message_queue_send - RTEMS_INVALID_ID" ); puts( "TA1 - rtems_message_queue_send - RTEMS_INVALID_ID" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4]) buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4]) buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4]) buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
fatal_directive_status( fatal_directive_status(
status, status,
RTEMS_TOO_MANY, RTEMS_TOO_MANY,

View File

@@ -18,6 +18,8 @@
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (sizeof(long) * 4)
void Screen8() void Screen8()
{ {
long buffer[ 4 ]; long buffer[ 4 ];
@@ -30,7 +32,7 @@ void Screen8()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
2, 2,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 1 ] &Queue_id[ 1 ]
); );
@@ -39,15 +41,15 @@ void Screen8()
"TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL" "TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL"
); );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send successful" ); directive_failed( status, "rtems_message_queue_send successful" );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send successful" ); directive_failed( status, "rtems_message_queue_send successful" );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
fatal_directive_status( fatal_directive_status(
status, status,
RTEMS_TOO_MANY, RTEMS_TOO_MANY,
@@ -62,7 +64,7 @@ void Screen8()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
3, 3,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 1 ] &Queue_id[ 1 ]
); );
@@ -71,19 +73,19 @@ void Screen8()
"TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL" "TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL"
); );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send successful" ); directive_failed( status, "rtems_message_queue_send successful" );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send successful" ); directive_failed( status, "rtems_message_queue_send successful" );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send successful" ); directive_failed( status, "rtems_message_queue_send successful" );
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_SUCCESSFUL" ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_SUCCESSFUL" );
status = rtems_message_queue_send( Queue_id[ 1 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
fatal_directive_status( fatal_directive_status(
status, status,
RTEMS_TOO_MANY, RTEMS_TOO_MANY,
@@ -100,7 +102,7 @@ void Screen8()
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
3, 3,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 1 ] &Queue_id[ 1 ]
); );

View File

@@ -21,10 +21,26 @@
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (sizeof(long) * 4)
void Fill_buffer( void Fill_buffer(
char *source, char *source,
long *buffer long *buffer
) )
{ {
char *p;
int i;
/*
memcpy( buffer, source, 16 ); memcpy( buffer, source, 16 );
*/
p = source;
for ( i=0 ; i<MESSAGE_SIZE ; i++ ) {
buffer[i] = *p++;
buffer[i] <<= 8;
buffer[i] |= *p++;
buffer[i] <<= 8;
buffer[i] |= *p++;
buffer[i] <<= 8;
buffer[i] |= *p++;
}
} }

View File

@@ -24,6 +24,8 @@
#define TEST_INIT #define TEST_INIT
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Init( rtems_task Init(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -82,7 +84,7 @@ rtems_task Init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 1 ], Queue_name[ 1 ],
100, 100,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 1 ] &Queue_id[ 1 ]
); );
@@ -91,7 +93,7 @@ rtems_task Init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 2 ], Queue_name[ 2 ],
10, 10,
16, MESSAGE_SIZE,
RTEMS_PRIORITY, RTEMS_PRIORITY,
&Queue_id[ 2 ] &Queue_id[ 2 ]
); );
@@ -100,7 +102,7 @@ rtems_task Init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
Queue_name[ 3 ], Queue_name[ 3 ],
100, 100,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id[ 3 ] &Queue_id[ 3 ]
); );

View File

@@ -20,9 +20,21 @@
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (4)
void Put_buffer( void Put_buffer(
long *buffer long *buffer
) )
{ {
int i;
/*
printf( "%16s", (char *)buffer ); printf( "%16s", (char *)buffer );
*/
for ( i=0 ; i< MESSAGE_SIZE ; i++ ) {
printf( "%c%c%c%c", (char) (buffer[i] >> 24),
(char) (buffer[i] >> 16 & 0xff),
(char) (buffer[i] >> 8 & 0xff),
(char) (buffer[i] >> 0 & 0xff) );
}
} }

View File

@@ -25,6 +25,8 @@ char big_receive_buffer[2048];
long buffer[ 4 ]; long buffer[ 4 ];
#define MESSAGE_SIZE (sizeof(long) * 4)
void dope_buffer(unsigned char *buff, void dope_buffer(unsigned char *buff,
int buff_size, int buff_size,
unsigned32 v) unsigned32 v)
@@ -64,12 +66,12 @@ rtems_task Task_1(
Fill_buffer( "BUFFER 1 TO Q 1", buffer ); Fill_buffer( "BUFFER 1 TO Q 1", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1" );
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
Fill_buffer( "BUFFER 2 TO Q 1", buffer ); Fill_buffer( "BUFFER 2 TO Q 1", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1" );
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
@@ -78,7 +80,7 @@ rtems_task Task_1(
Fill_buffer( "BUFFER 3 TO Q 1", buffer ); Fill_buffer( "BUFFER 3 TO Q 1", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1" ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1" );
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
@@ -89,7 +91,7 @@ rtems_test_pause();
Fill_buffer( "BUFFER 1 TO Q 2", buffer ); Fill_buffer( "BUFFER 1 TO Q 2", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 2" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 2" );
status = rtems_message_queue_send( Queue_id[ 2 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 2 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts_nocr( "TA1 - rtems_message_queue_receive - receive from queue 1 - " ); puts_nocr( "TA1 - rtems_message_queue_receive - receive from queue 1 - " );
@@ -112,7 +114,7 @@ rtems_test_pause();
Fill_buffer( "BUFFER 1 TO Q 3", buffer ); Fill_buffer( "BUFFER 1 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
@@ -123,22 +125,22 @@ rtems_test_pause();
Fill_buffer( "BUFFER 2 TO Q 3", buffer ); Fill_buffer( "BUFFER 2 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
Fill_buffer( "BUFFER 3 TO Q 3", buffer ); Fill_buffer( "BUFFER 3 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
Fill_buffer( "BUFFER 4 TO Q 3", buffer ); Fill_buffer( "BUFFER 4 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 4 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 4 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
Fill_buffer( "BUFFER 5 TO Q 3", buffer ); Fill_buffer( "BUFFER 5 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_urgent - BUFFER 5 TO Q 3" ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 5 TO Q 3" );
status = rtems_message_queue_urgent( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_urgent( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_urgent" ); directive_failed( status, "rtems_message_queue_urgent" );
for ( index = 1 ; index <= 4 ; index++ ) { for ( index = 1 ; index <= 4 ; index++ ) {
@@ -161,7 +163,7 @@ rtems_test_pause();
Fill_buffer( "BUFFER 3 TO Q 2", buffer ); Fill_buffer( "BUFFER 3 TO Q 2", buffer );
puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" );
status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, 16 ); status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_urgent" ); directive_failed( status, "rtems_message_queue_urgent" );
puts( puts(
@@ -188,7 +190,7 @@ rtems_test_pause();
Fill_buffer( "BUFFER 3 TO Q 2", buffer ); Fill_buffer( "BUFFER 3 TO Q 2", buffer );
puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" );
status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, 16 ); status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_urgent" ); directive_failed( status, "rtems_message_queue_urgent" );
puts( "TA1 - rtems_message_queue_delete - delete queue 2" ); puts( "TA1 - rtems_message_queue_delete - delete queue 2" );
@@ -205,12 +207,12 @@ rtems_test_pause();
Fill_buffer( "BUFFER 1 TO Q 3", buffer ); Fill_buffer( "BUFFER 1 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
Fill_buffer( "BUFFER 2 TO Q 3", buffer ); Fill_buffer( "BUFFER 2 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
/* this broadcast should have no effect on the queue */ /* this broadcast should have no effect on the queue */
@@ -231,7 +233,7 @@ rtems_test_pause();
Fill_buffer( "BUFFER 3 TO Q 3", buffer ); Fill_buffer( "BUFFER 3 TO Q 3", buffer );
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" );
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( "TA1 - rtems_message_queue_flush - Q 3" ); puts( "TA1 - rtems_message_queue_flush - Q 3" );
@@ -240,7 +242,7 @@ rtems_test_pause();
puts( "TA1 - rtems_message_queue_send until all message buffers consumed" ); puts( "TA1 - rtems_message_queue_send until all message buffers consumed" );
while ( FOREVER ) { while ( FOREVER ) {
status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE );
if ( status == RTEMS_TOO_MANY ) break; if ( status == RTEMS_TOO_MANY ) break;
directive_failed( status, "rtems_message_queue_send loop" ); directive_failed( status, "rtems_message_queue_send loop" );
} }

View File

@@ -20,6 +20,8 @@
#include "system.h" #include "system.h"
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Task_2( rtems_task Task_2(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -34,7 +36,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 1 ], Queue_id[ 1 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_NO_WAIT, RTEMS_NO_WAIT,
RTEMS_NO_TIMEOUT RTEMS_NO_TIMEOUT
@@ -50,7 +52,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 1 ], Queue_id[ 1 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_DEFAULT_OPTIONS, RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT RTEMS_NO_TIMEOUT
@@ -66,7 +68,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 1 ], Queue_id[ 1 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_DEFAULT_OPTIONS, RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT RTEMS_NO_TIMEOUT
@@ -86,7 +88,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 2 ], Queue_id[ 2 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_DEFAULT_OPTIONS, RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT RTEMS_NO_TIMEOUT
@@ -100,7 +102,7 @@ rtems_task Task_2(
puts( "TA2 - rtems_message_queue_send - BUFFER 2 TO Q 2" ); puts( "TA2 - rtems_message_queue_send - BUFFER 2 TO Q 2" );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
status = rtems_message_queue_send( Queue_id[ 2 ], (long (*)[4])buffer, 16 ); status = rtems_message_queue_send( Queue_id[ 2 ], buffer, MESSAGE_SIZE );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );
puts( puts(
@@ -109,7 +111,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 1 ], Queue_id[ 1 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_DEFAULT_OPTIONS, RTEMS_DEFAULT_OPTIONS,
10 * TICKS_PER_SECOND 10 * TICKS_PER_SECOND
@@ -125,7 +127,7 @@ rtems_task Task_2(
); );
status = rtems_message_queue_receive( status = rtems_message_queue_receive(
Queue_id[ 3 ], Queue_id[ 3 ],
(long (*)[4])buffer, buffer,
&size, &size,
RTEMS_DEFAULT_OPTIONS, RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT RTEMS_NO_TIMEOUT

View File

@@ -47,6 +47,8 @@ rtems_task Init(
directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
} }
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Test_task ( rtems_task Test_task (
rtems_task_argument argument rtems_task_argument argument
) )
@@ -55,7 +57,7 @@ rtems_task Test_task (
rtems_message_queue_create( rtems_message_queue_create(
1, 1,
OPERATION_COUNT, OPERATION_COUNT,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -135,7 +137,7 @@ void queue_test()
Timer_initialize(); Timer_initialize();
for ( index=1 ; index <= OPERATION_COUNT ; index++ ) for ( index=1 ; index <= OPERATION_COUNT ; index++ )
(void) rtems_message_queue_send( Queue_id, (long (*)[4])buffer, 16 ); (void) rtems_message_queue_send( Queue_id, buffer, MESSAGE_SIZE );
send_time += Read_timer(); send_time += Read_timer();
Timer_initialize(); Timer_initialize();
@@ -151,7 +153,7 @@ void queue_test()
Timer_initialize(); Timer_initialize();
for ( index=1 ; index <= OPERATION_COUNT ; index++ ) for ( index=1 ; index <= OPERATION_COUNT ; index++ )
(void) rtems_message_queue_urgent( Queue_id, (long (*)[4])buffer, 16 ); (void) rtems_message_queue_urgent( Queue_id, buffer, MESSAGE_SIZE );
urgent_time += Read_timer(); urgent_time += Read_timer();
Timer_initialize(); Timer_initialize();
@@ -173,7 +175,7 @@ void queue_test()
status = rtems_message_queue_send( status = rtems_message_queue_send(
Queue_id, Queue_id,
(long (*)[4])buffer, (long (*)[4])buffer,
16 MESSAGE_SIZE
); );
directive_failed( status, "rtems_message_queue_send" ); directive_failed( status, "rtems_message_queue_send" );

View File

@@ -58,6 +58,8 @@ void Init(
directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
} }
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task test_init( rtems_task test_init(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -76,7 +78,7 @@ rtems_task test_init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
rtems_build_name( 'M', 'Q', '1', ' ' ), rtems_build_name( 'M', 'Q', '1', ' ' ),
OPERATION_COUNT, OPERATION_COUNT,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -105,7 +107,7 @@ rtems_task test_init(
} }
Timer_initialize(); Timer_initialize();
(void) rtems_message_queue_send( Queue_id, (long (*)[4]) Buffer, 16 ); (void) rtems_message_queue_send( Queue_id, Buffer, MESSAGE_SIZE );
} }
rtems_task Middle_tasks( rtems_task Middle_tasks(

View File

@@ -29,6 +29,7 @@ rtems_task Low_tasks(
rtems_task_argument argument rtems_task_argument argument
); );
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Init( rtems_task Init(
rtems_task_argument argument rtems_task_argument argument
@@ -72,7 +73,7 @@ rtems_task test_init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
rtems_build_name( 'M', 'Q', '1', ' ' ), rtems_build_name( 'M', 'Q', '1', ' ' ),
OPERATION_COUNT, OPERATION_COUNT,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -114,7 +115,7 @@ rtems_task High_task(
Timer_initialize(); Timer_initialize();
for ( index=1 ; index <= OPERATION_COUNT ; index++ ) for ( index=1 ; index <= OPERATION_COUNT ; index++ )
(void) rtems_message_queue_send( Queue_id, (long (*)[4]) Buffer, 16 ); (void) rtems_message_queue_send( Queue_id, Buffer, MESSAGE_SIZE );
end_time = Read_timer(); end_time = Read_timer();
put_time( put_time(

View File

@@ -29,6 +29,8 @@ rtems_task High_task(
rtems_task_argument argument rtems_task_argument argument
); );
#define MESSAGE_SIZE (sizeof(long) * 4)
void Init( void Init(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -75,7 +77,7 @@ rtems_task test_init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
rtems_build_name( 'M', 'Q', '1', ' ' ), rtems_build_name( 'M', 'Q', '1', ' ' ),
OPERATION_COUNT, OPERATION_COUNT,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -104,7 +106,7 @@ rtems_task test_init(
} }
Timer_initialize(); Timer_initialize();
(void) rtems_message_queue_urgent( Queue_id, (long (*)[4]) Buffer, 16 ); (void) rtems_message_queue_urgent( Queue_id, Buffer, MESSAGE_SIZE );
} }
rtems_task Middle_tasks( rtems_task Middle_tasks(

View File

@@ -29,6 +29,7 @@ rtems_task Low_tasks(
rtems_task_argument argument rtems_task_argument argument
); );
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Init( rtems_task Init(
rtems_task_argument argument rtems_task_argument argument
@@ -72,7 +73,7 @@ rtems_task test_init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
rtems_build_name( 'M', 'Q', '1', ' ' ), rtems_build_name( 'M', 'Q', '1', ' ' ),
OPERATION_COUNT, OPERATION_COUNT,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -114,7 +115,7 @@ rtems_task High_task(
Timer_initialize(); Timer_initialize();
for ( index=1 ; index <= OPERATION_COUNT ; index++ ) for ( index=1 ; index <= OPERATION_COUNT ; index++ )
(void) rtems_message_queue_urgent( Queue_id, (long (*)[4]) Buffer, 16 ); (void) rtems_message_queue_urgent( Queue_id, Buffer, MESSAGE_SIZE );
end_time = Read_timer(); end_time = Read_timer();
put_time( put_time(

View File

@@ -48,6 +48,8 @@ rtems_task Init(
directive_failed( status, "rtems_task_delete of RTEMS_SELF" ); directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
} }
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Task_1( rtems_task Task_1(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -70,7 +72,7 @@ rtems_task Task_1(
status = rtems_message_queue_create( status = rtems_message_queue_create(
index, index,
1, /* only going to ident this queue */ 1, /* only going to ident this queue */
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&id &id
); );

View File

@@ -29,6 +29,8 @@ rtems_task Preempt_task(
rtems_task_argument argument rtems_task_argument argument
); );
#define MESSAGE_SIZE (sizeof(long) * 4)
rtems_task Init( rtems_task Init(
rtems_task_argument argument rtems_task_argument argument
) )
@@ -43,7 +45,7 @@ rtems_task Init(
status = rtems_message_queue_create( status = rtems_message_queue_create(
rtems_build_name( 'M', 'Q', '1', ' '), rtems_build_name( 'M', 'Q', '1', ' '),
100, 100,
16, MESSAGE_SIZE,
RTEMS_DEFAULT_ATTRIBUTES, RTEMS_DEFAULT_ATTRIBUTES,
&Queue_id &Queue_id
); );
@@ -89,8 +91,8 @@ rtems_task High_task(
Timer_initialize(); Timer_initialize();
(void) rtems_message_queue_broadcast( (void) rtems_message_queue_broadcast(
Queue_id, Queue_id,
(long (*)[4]) Buffer, Buffer,
16, MESSAGE_SIZE,
&count &count
); );
end_time = Read_timer(); end_time = Read_timer();
@@ -143,8 +145,8 @@ rtems_task Low_task(
for ( index=1 ; index <= OPERATION_COUNT ; index++ ) for ( index=1 ; index <= OPERATION_COUNT ; index++ )
(void) rtems_message_queue_broadcast( (void) rtems_message_queue_broadcast(
Queue_id, Queue_id,
(long (*)[4]) Buffer, Buffer,
16, MESSAGE_SIZE,
&count &count
); );
end_time = Read_timer(); end_time = Read_timer();
@@ -190,8 +192,8 @@ rtems_task Preempt_task(
Timer_initialize(); Timer_initialize();
(void) rtems_message_queue_broadcast( (void) rtems_message_queue_broadcast(
Queue_id, Queue_id,
(long (*)[4]) Buffer, Buffer,
16, MESSAGE_SIZE,
&count &count
); );