[PATCH 0/8] Add rtems_message_queue_construct()

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Sep 24 12:12:47 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.

Sebastian Huber (8):
  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()

 cpukit/Makefile.am                         |   2 +
 cpukit/headers.am                          |   1 +
 cpukit/include/rtems/confdefs/wkspace.h    |   2 +-
 cpukit/include/rtems/rtems/message.h       | 124 ++++++++++++++
 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        |   4 +
 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/sptests/sp13/init.c             |  21 ++-
 testsuites/sptests/sp13/system.h           |   2 +-
 testsuites/sptests/sp77/init.c             |   2 +-
 testsuites/sptests/spmsgq_err01/init.c     |  10 +-
 28 files changed, 761 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

-- 
2.26.2



More information about the devel mailing list