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>
diff --git a/include/zephyr/kernel.h b/include/zephyr/kernel.h
index 17a364d..f56a2ff 100644
--- a/include/zephyr/kernel.h
+++ b/include/zephyr/kernel.h
@@ -2586,7 +2586,7 @@
  * @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 @@
  * @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)
 
 /** @} */
diff --git a/include/zephyr/linker/common-ram.ld b/include/zephyr/linker/common-ram.ld
index b77e16a..9414941 100644
--- a/include/zephyr/linker/common-ram.ld
+++ b/include/zephyr/linker/common-ram.ld
@@ -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)