diff --git a/os/rt/include/chschd.h b/os/rt/include/chschd.h index a00b2fa5a..79ff437a1 100644 --- a/os/rt/include/chschd.h +++ b/os/rt/include/chschd.h @@ -152,10 +152,7 @@ struct ch_threads_queue { * by shrinking this structure. */ struct ch_thread { - thread_t *next; /**< @brief Next in the list/queue. */ - /* End of the fields shared with the threads_list_t structure.*/ - thread_t *prev; /**< @brief Previous in the queue. */ - /* End of the fields shared with the threads_queue_t structure.*/ + threads_queue_t queue; /**< @brief Threads queue header. */ tprio_t prio; /**< @brief Thread priority. */ struct port_context ctx; /**< @brief Processor context. */ #if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__) @@ -399,7 +396,7 @@ struct ch_system_debug { */ cnt_t lock_cnt; #endif -#if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_NONE) || defined(__DOXYGEN__) +#if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__) /** * @brief Public trace buffer. */ @@ -585,14 +582,14 @@ static inline bool queue_notempty(const threads_queue_t *tqp) { #if CH_CFG_OPTIMIZE_SPEED == TRUE static inline void list_insert(thread_t *tp, threads_list_t *tlp) { - tp->next = tlp->next; + tp->queue.next = tlp->next; tlp->next = tp; } static inline thread_t *list_remove(threads_list_t *tlp) { thread_t *tp = tlp->next; - tlp->next = tp->next; + tlp->next = tp->queue.next; return tp; } @@ -601,27 +598,27 @@ static inline void queue_prio_insert(thread_t *tp, threads_queue_t *tqp) { thread_t *cp = (thread_t *)tqp; do { - cp = cp->next; + cp = cp->queue.next; } while ((cp != (thread_t *)tqp) && (cp->prio >= tp->prio)); - tp->next = cp; - tp->prev = cp->prev; - tp->prev->next = tp; - cp->prev = tp; + tp->queue.next = cp; + tp->queue.prev = cp->queue.prev; + tp->queue.prev->queue.next = tp; + cp->queue.prev = tp; } static inline void queue_insert(thread_t *tp, threads_queue_t *tqp) { - tp->next = (thread_t *)tqp; - tp->prev = tqp->prev; - tp->prev->next = tp; - tqp->prev = tp; + tp->queue.next = (thread_t *)tqp; + tp->queue.prev = tqp->prev; + tp->queue.prev->queue.next = tp; + tqp->prev = tp; } static inline thread_t *queue_fifo_remove(threads_queue_t *tqp) { thread_t *tp = tqp->next; - tqp->next = tp->next; - tqp->next->prev = (thread_t *)tqp; + tqp->next = tp->queue.next; + tqp->next->queue.prev = (thread_t *)tqp; return tp; } @@ -629,16 +626,16 @@ static inline thread_t *queue_fifo_remove(threads_queue_t *tqp) { static inline thread_t *queue_lifo_remove(threads_queue_t *tqp) { thread_t *tp = tqp->prev; - tqp->prev = tp->prev; - tqp->prev->next = (thread_t *)tqp; + tqp->prev = tp->queue.prev; + tqp->prev->queue.next = (thread_t *)tqp; return tp; } static inline thread_t *queue_dequeue(thread_t *tp) { - tp->prev->next = tp->next; - tp->next->prev = tp->prev; + tp->queue.prev->queue.next = tp->queue.next; + tp->queue.next->queue.prev = tp->queue.prev; return tp; } diff --git a/os/rt/include/chtrace.h b/os/rt/include/chtrace.h index 2b1afcb4c..43d8a6eac 100644 --- a/os/rt/include/chtrace.h +++ b/os/rt/include/chtrace.h @@ -78,7 +78,7 @@ /** * @brief Trace buffer entries. * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is - * different from @p CH_DBG_TRACE_MASK_NONE. + * different from @p CH_DBG_TRACE_MASK_DISABLED. */ #if !defined(CH_DBG_TRACE_BUFFER_SIZE) || defined(__DOXYGEN__) #define CH_DBG_TRACE_BUFFER_SIZE 128 @@ -97,7 +97,7 @@ /* Module data structures and types. */ /*===========================================================================*/ -#if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_NONE) || defined(__DOXYGEN__) +#if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__) /*lint -save -e46 [6.1] An uint32_t is required.*/ /** * @brief Trace buffer record. @@ -191,7 +191,7 @@ typedef struct { */ ch_trace_event_t buffer[CH_DBG_TRACE_BUFFER_SIZE]; } ch_trace_buffer_t; -#endif /* CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_NONE */ +#endif /* CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED */ /*===========================================================================*/ /* Module macros. */ diff --git a/os/rt/src/chschd.c b/os/rt/src/chschd.c index 82a38941c..fbc84e000 100644 --- a/os/rt/src/chschd.c +++ b/os/rt/src/chschd.c @@ -87,12 +87,12 @@ void queue_prio_insert(thread_t *tp, threads_queue_t *tqp) { thread_t *cp = (thread_t *)tqp; do { - cp = cp->next; + cp = cp->queue.next; } while ((cp != (thread_t *)tqp) && (cp->prio >= tp->prio)); - tp->next = cp; - tp->prev = cp->prev; - tp->prev->next = tp; - cp->prev = tp; + tp->queue.next = cp; + tp->queue.prev = cp->queue.prev; + tp->queue.prev->queue.next = tp; + cp->queue.prev = tp; } /** @@ -105,10 +105,10 @@ void queue_prio_insert(thread_t *tp, threads_queue_t *tqp) { */ void queue_insert(thread_t *tp, threads_queue_t *tqp) { - tp->next = (thread_t *)tqp; - tp->prev = tqp->prev; - tp->prev->next = tp; - tqp->prev = tp; + tp->queue.next = (thread_t *)tqp; + tp->queue.prev = tqp->prev; + tp->queue.prev->queue.next = tp; + tqp->prev = tp; } /** @@ -124,8 +124,8 @@ void queue_insert(thread_t *tp, threads_queue_t *tqp) { thread_t *queue_fifo_remove(threads_queue_t *tqp) { thread_t *tp = tqp->next; - tqp->next = tp->next; - tqp->next->prev = (thread_t *)tqp; + tqp->next = tp->queue.next; + tqp->next->queue.prev = (thread_t *)tqp; return tp; } @@ -143,8 +143,8 @@ thread_t *queue_fifo_remove(threads_queue_t *tqp) { thread_t *queue_lifo_remove(threads_queue_t *tqp) { thread_t *tp = tqp->prev; - tqp->prev = tp->prev; - tqp->prev->next = (thread_t *)tqp; + tqp->prev = tp->queue.prev; + tqp->prev->queue.next = (thread_t *)tqp; return tp; } @@ -161,8 +161,8 @@ thread_t *queue_lifo_remove(threads_queue_t *tqp) { */ thread_t *queue_dequeue(thread_t *tp) { - tp->prev->next = tp->next; - tp->next->prev = tp->prev; + tp->queue.prev->queue.next = tp->queue.next; + tp->queue.next->queue.prev = tp->queue.prev; return tp; } @@ -177,8 +177,8 @@ thread_t *queue_dequeue(thread_t *tp) { */ void list_insert(thread_t *tp, threads_list_t *tlp) { - tp->next = tlp->next; - tlp->next = tp; + tp->queue.next = tlp->next; + tlp->next = tp; } /** @@ -193,7 +193,7 @@ void list_insert(thread_t *tp, threads_list_t *tlp) { thread_t *list_remove(threads_list_t *tlp) { thread_t *tp = tlp->next; - tlp->next = tp->next; + tlp->next = tp->queue.next; return tp; } @@ -227,13 +227,13 @@ thread_t *chSchReadyI(thread_t *tp) { tp->state = CH_STATE_READY; cp = (thread_t *)&ch.rlist.queue; do { - cp = cp->next; + cp = cp->queue.next; } while (cp->prio >= tp->prio); /* Insertion on prev.*/ - tp->next = cp; - tp->prev = cp->prev; - tp->prev->next = tp; - cp->prev = tp; + tp->queue.next = cp; + tp->queue.prev = cp->queue.prev; + tp->queue.prev->queue.next = tp; + cp->queue.prev = tp; return tp; } @@ -266,13 +266,13 @@ thread_t *chSchReadyAheadI(thread_t *tp) { tp->state = CH_STATE_READY; cp = (thread_t *)&ch.rlist.queue; do { - cp = cp->next; + cp = cp->queue.next; } while (cp->prio > tp->prio); /* Insertion on prev.*/ - tp->next = cp; - tp->prev = cp->prev; - tp->prev->next = tp; - cp->prev = tp; + tp->queue.next = cp; + tp->queue.prev = cp->queue.prev; + tp->queue.prev->queue.next = tp; + cp->queue.prev = tp; return tp; } diff --git a/os/rt/src/chsys.c b/os/rt/src/chsys.c index f4dbbb4e2..0702b7c18 100644 --- a/os/rt/src/chsys.c +++ b/os/rt/src/chsys.c @@ -118,7 +118,7 @@ void chSysInit(void) { #if CH_DBG_STATISTICS == TRUE _stats_init(); #endif -#if CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_NONE +#if CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED _dbg_trace_init(); #endif @@ -247,14 +247,14 @@ bool chSysIntegrityCheckI(unsigned testmask) { tp = ch.rlist.queue.next; while (tp != (thread_t *)&ch.rlist.queue) { n++; - tp = tp->next; + tp = tp->queue.next; } /* Scanning the ready list backward.*/ tp = ch.rlist.queue.prev; while (tp != (thread_t *)&ch.rlist.queue) { n--; - tp = tp->prev; + tp = tp->queue.prev; } /* The number of elements must match.*/