device: s/device_handles/device_deps/ in linker scripts
Use the "device_deps" naming scheme to emphasize we are storing device dependencies. The fact we are using device handles to store them is an implementation detail. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
parent
92707866d1
commit
8bee39edff
9 changed files with 25 additions and 25 deletions
|
@ -942,8 +942,8 @@ if(CONFIG_HAS_DTS)
|
|||
)
|
||||
set_property(GLOBAL APPEND PROPERTY GENERATED_APP_SOURCE_FILES device_deps.c)
|
||||
|
||||
# gen_device_deps runs on `__device_handles_pass1` so pass this info to the linker script generator
|
||||
list(APPEND LINKER_PASS_${ZEPHYR_CURRENT_LINKER_PASS}_DEFINE "LINKER_DEVICE_HANDLES_PASS1")
|
||||
# gen_device_deps runs on `__device_deps_pass1` so pass this info to the linker script generator
|
||||
list(APPEND LINKER_PASS_${ZEPHYR_CURRENT_LINKER_PASS}_DEFINE "LINKER_DEVICE_DEPS_PASS1")
|
||||
endif()
|
||||
|
||||
if(CONFIG_CODE_DATA_RELOCATION)
|
||||
|
|
|
@ -185,9 +185,9 @@ zephyr_iterable_section(NAME tracing_backend KVMA RAM_REGION GROUP RODATA_REGION
|
|||
zephyr_linker_section(NAME zephyr_dbg_info KVMA RAM_REGION GROUP RODATA_REGION NOINPUT ${XIP_ALIGN_WITH_INPUT})
|
||||
zephyr_linker_section_configure(SECTION zephyr_dbg_info INPUT ".zephyr_dbg_info" KEEP)
|
||||
|
||||
zephyr_linker_section(NAME device_handles KVMA RAM_REGION GROUP RODATA_REGION NOINPUT ${XIP_ALIGN_WITH_INPUT} ENDALIGN 16)
|
||||
zephyr_linker_section_configure(SECTION device_handles INPUT .__device_handles_pass1* KEEP SORT NAME PASS LINKER_DEVICE_HANDLES_PASS1)
|
||||
zephyr_linker_section_configure(SECTION device_handles INPUT .__device_handles_pass2* KEEP SORT NAME PASS NOT LINKER_DEVICE_HANDLES_PASS1)
|
||||
zephyr_linker_section(NAME device_deps KVMA RAM_REGION GROUP RODATA_REGION NOINPUT ${XIP_ALIGN_WITH_INPUT} ENDALIGN 16)
|
||||
zephyr_linker_section_configure(SECTION device_deps INPUT .__device_deps_pass1* KEEP SORT NAME PASS LINKER_DEVICE_DEPS_PASS1)
|
||||
zephyr_linker_section_configure(SECTION device_deps INPUT .__device_deps_pass2* KEEP SORT NAME PASS NOT LINKER_DEVICE_DEPS_PASS1)
|
||||
|
||||
zephyr_iterable_section(NAME _static_thread_data KVMA RAM_REGION GROUP RODATA_REGION SUBALIGN 4)
|
||||
|
||||
|
|
|
@ -778,7 +778,7 @@ static inline bool z_impl_device_is_ready(const struct device *dev)
|
|||
|
||||
/** @brief Linker section were device handles are placed. */
|
||||
#define Z_DEVICE_HANDLES_SECTION \
|
||||
__attribute__((__section__(".__device_handles_pass1")))
|
||||
__attribute__((__section__(".__device_deps_pass1")))
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define Z_DEVICE_HANDLES_EXTERN extern
|
||||
|
|
|
@ -43,9 +43,9 @@
|
|||
#endif
|
||||
|
||||
#if defined(CONFIG_HAS_DYNAMIC_DEVICE_HANDLES)
|
||||
SECTION_DATA_PROLOGUE(device_handles,,)
|
||||
SECTION_DATA_PROLOGUE(device_deps,,)
|
||||
{
|
||||
#include "device-handles.ld"
|
||||
#include "device-deps.ld"
|
||||
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|
||||
#endif /* CONFIG_HAS_DYNAMIC_DEVICE_HANDLES */
|
||||
|
||||
|
|
|
@ -65,8 +65,8 @@
|
|||
#endif /* CONFIG_PCIE */
|
||||
|
||||
#if !defined(CONFIG_HAS_DYNAMIC_DEVICE_HANDLES)
|
||||
SECTION_DATA_PROLOGUE(device_handles,,)
|
||||
SECTION_DATA_PROLOGUE(device_deps,,)
|
||||
{
|
||||
#include <zephyr/linker/device-handles.ld>
|
||||
#include <zephyr/linker/device-deps.ld>
|
||||
} GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|
||||
#endif /* !CONFIG_HAS_DYNAMIC_DEVICE_HANDLES */
|
||||
|
|
13
include/zephyr/linker/device-deps.ld
Normal file
13
include/zephyr/linker/device-deps.ld
Normal file
|
@ -0,0 +1,13 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Intel Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
__device_deps_start = .;
|
||||
#ifdef LINKER_DEVICE_DEPS_PASS1
|
||||
KEEP(*(SORT(.__device_deps_pass1*)));
|
||||
#else
|
||||
KEEP(*(SORT(.__device_deps_pass2*)));
|
||||
#endif /* LINKER_DEVICE_DEPS_PASS1 */
|
||||
__device_deps_end = .;
|
|
@ -1,13 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021 Intel Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
__device_handles_start = .;
|
||||
#ifdef LINKER_DEVICE_HANDLES_PASS1
|
||||
KEEP(*(SORT(.__device_handles_pass1*)));
|
||||
#else
|
||||
KEEP(*(SORT(.__device_handles_pass2*)));
|
||||
#endif /* LINKER_DEVICE_HANDLES_PASS1 */
|
||||
__device_handles_end = .;
|
|
@ -107,7 +107,7 @@ def c_handle_array(dev, handles, dynamic_handles, extra_support_handles=0):
|
|||
]
|
||||
ctype = (
|
||||
'{:s}Z_DECL_ALIGN(device_handle_t) '
|
||||
'__attribute__((__section__(".__device_handles_pass2")))'
|
||||
'__attribute__((__section__(".__device_deps_pass2")))'
|
||||
).format('const ' if not dynamic_handles else '')
|
||||
return [
|
||||
# The `extern` line pretends this was first declared in some .h
|
||||
|
|
|
@ -74,7 +74,7 @@ class SectionKind(Enum):
|
|||
|
||||
>>> SectionKind.for_section_with_name(".rodata.str1.4")
|
||||
<SectionKind.RODATA: 'rodata'>
|
||||
>>> SectionKind.for_section_with_name(".device_handles")
|
||||
>>> SectionKind.for_section_with_name(".device_deps")
|
||||
None
|
||||
"""
|
||||
if ".text." in name:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue