In contrast to message queues created by rtems_message_queue_create(), the message queues constructed by this directive use a user-provided message buffer storage area.
Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message buffer storage areas. v2: Fix MESSAGE_SIZE_LIMIT value. Add validation tests for rtems_message_queue_construct(). Sebastian Huber (9): score: Use RTEMS_ALIGN_UP() score: Fix allocation size calculation score: Gather message queue control initialization score: Improve _CORE_message_queue_Initialize() score: Simplify CORE_message_queue_Buffer score: Add <rtems/score/coremsgbuffer.h> rtems: Remove Message_queue_Control::attribute_set rtems: Add rtems_message_queue_construct() validation: Test rtems_message_queue_construct() cpukit/Makefile.am | 2 + cpukit/headers.am | 1 + cpukit/include/rtems/confdefs/wkspace.h | 2 +- cpukit/include/rtems/rtems/message.h | 131 ++ cpukit/include/rtems/rtems/messagedata.h | 6 +- cpukit/include/rtems/rtems/messageimpl.h | 17 + cpukit/include/rtems/rtems/msgmp.h | 7 +- cpukit/include/rtems/score/coremsg.h | 52 +- cpukit/include/rtems/score/coremsgbuffer.h | 96 + cpukit/include/rtems/score/coremsgimpl.h | 108 +- cpukit/include/rtems/score/status.h | 6 + cpukit/libmisc/monitor/mon-queue.c | 16 +- cpukit/posix/src/mqueueopen.c | 19 +- cpukit/rtems/src/msgmp.c | 20 +- cpukit/rtems/src/msgqconstruct.c | 189 ++ cpukit/rtems/src/msgqcreate.c | 175 +- cpukit/rtems/src/msgqdelete.c | 2 +- cpukit/score/src/coremsg.c | 128 +- cpukit/score/src/coremsgclose.c | 7 +- cpukit/score/src/coremsginsert.c | 20 +- cpukit/score/src/coremsgseize.c | 10 +- cpukit/score/src/coremsgsubmit.c | 4 +- cpukit/score/src/coremsgwkspace.c | 53 + spec/build/cpukit/librtemscpu.yml | 3 + .../testsuites/validation/validation-0.yml | 1 + testsuites/sptests/sp13/init.c | 21 +- testsuites/sptests/sp13/system.h | 2 +- testsuites/sptests/sp77/init.c | 2 +- testsuites/sptests/spmsgq_err01/init.c | 10 +- .../validation/tc-message-construct-errors.c | 1868 +++++++++++++++++ 30 files changed, 2639 insertions(+), 339 deletions(-) create mode 100644 cpukit/include/rtems/score/coremsgbuffer.h create mode 100644 cpukit/rtems/src/msgqconstruct.c create mode 100644 cpukit/score/src/coremsgwkspace.c create mode 100644 testsuites/validation/tc-message-construct-errors.c -- 2.26.2 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel