[PATCH v2 0/9] Add rtems_message_queue_construct()

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 25 09:51:23 UTC 2020


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



More information about the devel mailing list