kernel: FIFO and LIFO have their own sections

Instead of placing both FIFOs and LIFOs into a common k_queue
type section, they are now placed into their own custom iterable
secitons. This is necessary when employing object cores as FIFOs
and LIFOs will be associated with different lists.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This commit is contained in:
Peter Mitsis 2023-05-31 14:26:50 -04:00 committed by Johan Hedberg
parent 9bedfd82a2
commit eb1e5a161d
2 changed files with 4 additions and 2 deletions

View file

@ -2586,7 +2586,7 @@ struct k_fifo {
* @param name Name of the FIFO queue.
*/
#define K_FIFO_DEFINE(name) \
STRUCT_SECTION_ITERABLE_ALTERNATE(k_queue, k_fifo, name) = \
STRUCT_SECTION_ITERABLE(k_fifo, name) = \
Z_FIFO_INITIALIZER(name)
/** @} */
@ -2706,7 +2706,7 @@ struct k_lifo {
* @param name Name of the fifo.
*/
#define K_LIFO_DEFINE(name) \
STRUCT_SECTION_ITERABLE_ALTERNATE(k_queue, k_lifo, name) = \
STRUCT_SECTION_ITERABLE(k_lifo, name) = \
Z_LIFO_INITIALIZER(name)
/** @} */

View file

@ -84,6 +84,8 @@
ITERABLE_SECTION_RAM_GC_ALLOWED(k_sem, 4)
ITERABLE_SECTION_RAM_GC_ALLOWED(k_event, 4)
ITERABLE_SECTION_RAM_GC_ALLOWED(k_queue, 4)
ITERABLE_SECTION_RAM_GC_ALLOWED(k_fifo, 4)
ITERABLE_SECTION_RAM_GC_ALLOWED(k_lifo, 4)
ITERABLE_SECTION_RAM_GC_ALLOWED(k_condvar, 4)
ITERABLE_SECTION_RAM(net_buf_pool, 4)