From 59e9989eccd6f87b0936cba67718b45941856763 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 19 Aug 2026 05:08:46 +0200 Subject: [PATCH] cpukit/posix: Add the missing manager groups Eight POSIX managers had no group. The mutex, the condition variable, the read-write lock, the barrier, the spinlock, the memory management, the clock and the scheduler were affected. Their files had to use the RTEMSImplPOSIX group of the whole API. Define one group for each of these managers. The clock and the scheduler have no header of their own, so posixapi.h holds their definitions. Updates #5717. Assisted-by: Claude:claude-opus-5 claude-code Signed-off-by: Sebastian Huber --- cpukit/include/rtems/posix/barrierimpl.h | 12 ++++++++++++ cpukit/include/rtems/posix/condimpl.h | 12 ++++++++++++ cpukit/include/rtems/posix/mmanimpl.h | 12 ++++++++++++ cpukit/include/rtems/posix/muteximpl.h | 12 ++++++++++++ cpukit/include/rtems/posix/posixapi.h | 16 ++++++++++++++++ cpukit/include/rtems/posix/rwlockimpl.h | 12 ++++++++++++ cpukit/include/rtems/posix/spinlockimpl.h | 12 ++++++++++++ 7 files changed, 88 insertions(+) diff --git a/cpukit/include/rtems/posix/barrierimpl.h b/cpukit/include/rtems/posix/barrierimpl.h index e6659c74fc..a8742d283a 100644 --- a/cpukit/include/rtems/posix/barrierimpl.h +++ b/cpukit/include/rtems/posix/barrierimpl.h @@ -50,6 +50,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXBarrier POSIX Barrier + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX barrier implementation. + * + * @{ + */ + #define POSIX_BARRIER_MAGIC 0x1cf03773UL #define POSIX_BARRIER_TQ_OPERATIONS &_Thread_queue_Operations_FIFO @@ -110,6 +120,8 @@ static inline void _POSIX_Barrier_Queue_release( } \ } while ( 0 ) +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/include/rtems/posix/condimpl.h b/cpukit/include/rtems/posix/condimpl.h index 2853c8d244..6f260a343f 100644 --- a/cpukit/include/rtems/posix/condimpl.h +++ b/cpukit/include/rtems/posix/condimpl.h @@ -46,6 +46,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXConditionVariable POSIX Condition Variable + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX condition variable implementation. + * + * @{ + */ + typedef struct { unsigned long flags; Thread_queue_Syslock_queue Queue; @@ -194,6 +204,8 @@ bool _POSIX_Condition_variables_Auto_initialization( } \ } while ( 0 ) +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/include/rtems/posix/mmanimpl.h b/cpukit/include/rtems/posix/mmanimpl.h index 10ebd91c62..a36c7cebf7 100644 --- a/cpukit/include/rtems/posix/mmanimpl.h +++ b/cpukit/include/rtems/posix/mmanimpl.h @@ -43,6 +43,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXMman POSIX Memory Management + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX memory management implementation. + * + * @{ + */ + /* FIXME: add Doxygen */ /** @@ -68,6 +78,8 @@ static inline void mmap_mappings_lock_release( void ) rtems_libio_unlock(); } +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/include/rtems/posix/muteximpl.h b/cpukit/include/rtems/posix/muteximpl.h index bed6a3bdea..54a98285de 100644 --- a/cpukit/include/rtems/posix/muteximpl.h +++ b/cpukit/include/rtems/posix/muteximpl.h @@ -48,6 +48,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXMutex POSIX Mutex + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX mutex implementation. + * + * @{ + */ + typedef struct { unsigned long flags; Mutex_recursive_Control Recursive; @@ -450,6 +460,8 @@ bool _POSIX_Mutex_Auto_initialization( POSIX_Mutex_Control *the_mutex ); } \ } while ( 0 ) +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/include/rtems/posix/posixapi.h b/cpukit/include/rtems/posix/posixapi.h index 76c2ad1a15..48701156c1 100644 --- a/cpukit/include/rtems/posix/posixapi.h +++ b/cpukit/include/rtems/posix/posixapi.h @@ -116,5 +116,21 @@ static inline bool _POSIX_Is_valid_clock_id( clockid_t clock_id ) /** @} */ +/** + * @defgroup RTEMSImplPOSIXClock POSIX Clock + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX clock implementation. + */ + +/** + * @defgroup RTEMSImplPOSIXScheduler POSIX Scheduler + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX scheduler implementation. + */ + #endif /* end of include file */ diff --git a/cpukit/include/rtems/posix/rwlockimpl.h b/cpukit/include/rtems/posix/rwlockimpl.h index 86e0a82ba9..c8fb872bff 100644 --- a/cpukit/include/rtems/posix/rwlockimpl.h +++ b/cpukit/include/rtems/posix/rwlockimpl.h @@ -47,6 +47,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXRWLock POSIX Read-Write Lock + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX read-write lock implementation. + * + * @{ + */ + #define POSIX_RWLOCK_MAGIC 0x9621dabdUL typedef struct { @@ -75,6 +85,8 @@ bool _POSIX_RWLock_Auto_initialization( POSIX_RWLock_Control *the_rwlock ); } \ } while ( 0 ) +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpukit/include/rtems/posix/spinlockimpl.h b/cpukit/include/rtems/posix/spinlockimpl.h index fb634546b6..ec8217878d 100644 --- a/cpukit/include/rtems/posix/spinlockimpl.h +++ b/cpukit/include/rtems/posix/spinlockimpl.h @@ -53,6 +53,16 @@ extern "C" { #endif +/** + * @defgroup RTEMSImplPOSIXSpinlock POSIX Spinlock + * + * @ingroup RTEMSImplPOSIX + * + * @brief This group contains the POSIX spinlock implementation. + * + * @{ + */ + typedef struct { #if defined( RTEMS_SMP ) SMP_ticket_lock_Control Lock; @@ -69,6 +79,8 @@ static inline POSIX_Spinlock_Control *_POSIX_Spinlock_Get( return (POSIX_Spinlock_Control *) lock; } +/** @} */ + #ifdef __cplusplus } #endif