PR 1844/cpukit
	* rtems/include/rtems/rtems/msgmp.h: Define
	MESSAGE_QUEUE_MP_PACKET_SIZE.
	* rtems/src/msgmp.c, rtems/src/msgqcreate.c: Use
	MESSAGE_QUEUE_MP_PACKET_SIZE.
This commit is contained in:
Sebastian Huber
2011-09-09 11:19:42 +00:00
parent 5817297df3
commit fd1661f229
4 changed files with 16 additions and 8 deletions

View File

@@ -1,3 +1,11 @@
2011-09-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR 1844/cpukit
* rtems/include/rtems/rtems/msgmp.h: Define
MESSAGE_QUEUE_MP_PACKET_SIZE.
* rtems/src/msgmp.c, rtems/src/msgqcreate.c: Use
MESSAGE_QUEUE_MP_PACKET_SIZE.
2011-09-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR 1873/cpukit

View File

@@ -76,6 +76,9 @@ typedef struct {
CORE_message_queue_Buffer Buffer;
} Message_queue_MP_Packet;
#define MESSAGE_QUEUE_MP_PACKET_SIZE \
offsetof(Message_queue_MP_Packet, Buffer.buffer)
/**
* @brief _Message_queue_MP_Send_process_packet
*

View File

@@ -27,9 +27,6 @@
#include <rtems/score/watchdog.h>
#include <rtems/rtems/support.h>
#define MESSAGE_QUEUE_MP_PACKET_SIZE \
offsetof(Message_queue_MP_Packet, Buffer.buffer)
RTEMS_STATIC_ASSERT(
MESSAGE_QUEUE_MP_PACKET_SIZE <= MP_PACKET_MINIMUM_PACKET_SIZE,
Message_queue_MP_Packet
@@ -116,10 +113,10 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
the_packet = _Message_queue_MP_Get_packet();
the_packet->Prefix.the_class = MP_PACKET_MESSAGE_QUEUE;
the_packet->Prefix.length = sizeof(Message_queue_MP_Packet);
the_packet->Prefix.length = MESSAGE_QUEUE_MP_PACKET_SIZE;
if ( size_p )
the_packet->Prefix.length += *size_p;
the_packet->Prefix.to_convert = sizeof(Message_queue_MP_Packet);
the_packet->Prefix.to_convert = MESSAGE_QUEUE_MP_PACKET_SIZE;
/*
* make sure message is not too big for our MPCI driver
@@ -162,8 +159,8 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
the_packet = _Message_queue_MP_Get_packet();
the_packet->Prefix.the_class = MP_PACKET_MESSAGE_QUEUE;
the_packet->Prefix.length = sizeof(Message_queue_MP_Packet);
the_packet->Prefix.to_convert = sizeof(Message_queue_MP_Packet);
the_packet->Prefix.length = MESSAGE_QUEUE_MP_PACKET_SIZE;
the_packet->Prefix.to_convert = MESSAGE_QUEUE_MP_PACKET_SIZE;
if (! _Options_Is_no_wait(option_set))
the_packet->Prefix.timeout = timeout;

View File

@@ -95,7 +95,7 @@ rtems_status_code rtems_message_queue_create(
*/
max_packet_payload_size = _MPCI_table->maximum_packet_size
- sizeof ( Message_queue_MP_Packet );
- MESSAGE_QUEUE_MP_PACKET_SIZE;
if ( is_global && max_packet_payload_size < max_message_size )
return RTEMS_INVALID_SIZE;
#endif