123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /* SPDX-License-Identifier: Apache-2.0 */
- #if defined(CONFIG_NETWORKING)
- #ifndef NETWORK_RAM_SECTIONS
- #define NETWORK_RAM_SECTIONS \
- ITERABLE_SECTION_RAM(net_if, 4) \
- ITERABLE_SECTION_RAM(net_if_dev, 4) \
- ITERABLE_SECTION_RAM(net_l2, 4) \
- ITERABLE_SECTION_RAM(eth_bridge, 4)
- #endif
- #endif /* NETWORKING */
- #if defined(CONFIG_GEN_SW_ISR_TABLE) && defined(CONFIG_DYNAMIC_INTERRUPTS)
- SECTION_DATA_PROLOGUE(sw_isr_table,,)
- {
- /*
- * Some arch requires an entry to be aligned to arch
- * specific boundary for using double word load
- * instruction. See include/sw_isr_table.h.
- */
- . = ALIGN(CONFIG_ARCH_SW_ISR_TABLE_ALIGN);
- *(_SW_ISR_TABLE_SECTION_SYMS)
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif
- SECTION_DATA_PROLOGUE(device_states,,)
- {
- /* Device states used by the device objects. */
- __device_states_start = .;
- KEEP(*(".z_devstate"));
- KEEP(*(".z_devstate.*"));
- __device_states_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #if CONFIG_PM_DEVICE
- SECTION_DATA_PROLOGUE(pm_device_slots, (NOLOAD),)
- {
- __pm_device_slots_start = .;
- KEEP(*(".z_pm_device_slots"));
- __pm_device_slots_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif
- SECTION_DATA_PROLOGUE(initshell,,)
- {
- /* link in shell initialization objects for all modules that
- * use shell and their shell commands are automatically
- * initialized by the kernel.
- */
- __shell_module_start = .;
- KEEP(*(".shell_module_*"));
- __shell_module_end = .;
- __shell_cmd_start = .;
- KEEP(*(".shell_cmd_*"));
- __shell_cmd_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(log_dynamic_sections,,)
- {
- __log_dynamic_start = .;
- KEEP(*(SORT(.log_dynamic_*)));
- __log_dynamic_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- ITERABLE_SECTION_RAM(_static_thread_data, 4)
- #ifdef CONFIG_USERSPACE
- /* All kernel objects within are assumed to be either completely
- * initialized at build time, or initialized automatically at runtime
- * via iteration before the POST_KERNEL phase.
- *
- * These two symbols only used by gen_kobject_list.py
- */
- _static_kernel_objects_begin = .;
- #endif /* CONFIG_USERSPACE */
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_timer, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_mem_slab, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_mem_pool, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_heap, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_mutex, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_stack, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_msgq, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_mbox, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_pipe, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_sem, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_queue, 4)
- ITERABLE_SECTION_RAM_GC_ALLOWED(k_condvar, 4)
- SECTION_DATA_PROLOGUE(_net_buf_pool_area,,SUBALIGN(4))
- {
- _net_buf_pool_list = .;
- KEEP(*(SORT_BY_NAME("._net_buf_pool.static.*")))
- _net_buf_pool_list_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #if defined(CONFIG_NETWORKING)
- NETWORK_RAM_SECTIONS
- #endif /* NETWORKING */
- #if defined(CONFIG_UART_MUX)
- SECTION_DATA_PROLOGUE(uart_mux,,SUBALIGN(4))
- {
- __uart_mux_start = .;
- *(".uart_mux.*")
- KEEP(*(SORT_BY_NAME(".uart_mux.*")))
- __uart_mux_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif
- #if defined(CONFIG_USB_DEVICE_STACK)
- SECTION_DATA_PROLOGUE(usb_descriptor,,SUBALIGN(1))
- {
- __usb_descriptor_start = .;
- *(".usb.descriptor")
- KEEP(*(SORT_BY_NAME(".usb.descriptor*")))
- __usb_descriptor_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- SECTION_DATA_PROLOGUE(usb_data,,SUBALIGN(1))
- {
- __usb_data_start = .;
- *(".usb.data")
- KEEP(*(SORT_BY_NAME(".usb.data*")))
- __usb_data_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif /* CONFIG_USB_DEVICE_STACK */
- #if defined(CONFIG_USB_DEVICE_BOS)
- SECTION_DATA_PROLOGUE(usb_bos_desc,,SUBALIGN(1))
- {
- __usb_bos_desc_start = .;
- *(".usb.bos_desc")
- KEEP(*(SORT_BY_NAME(".usb.bos_desc*")))
- __usb_bos_desc_end = .;
- } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
- #endif /* CONFIG_USB_DEVICE_BOS */
- #ifdef CONFIG_USERSPACE
- _static_kernel_objects_end = .;
- #endif
|