RTEMS 6.1-rc6
Loading...
Searching...
No Matches
linker-symbols.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * Copyright (C) 2008, 2024 embedded brains GmbH & Co. KG
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37#ifndef BSP_LINKER_SYMBOLS_H
38#define BSP_LINKER_SYMBOLS_H
39
40#include <bsp/linker-symbols-arch.h>
41
43
44#ifdef __cplusplus
45extern "C" {
46#endif /* __cplusplus */
47
59LINKER_SYMBOL(bsp_section_start_begin)
60LINKER_SYMBOL(bsp_section_start_end)
61LINKER_SYMBOL(bsp_section_start_size)
62
63LINKER_SYMBOL(bsp_section_text_begin)
64LINKER_SYMBOL(bsp_section_text_end)
65LINKER_SYMBOL(bsp_section_text_size)
66LINKER_SYMBOL(bsp_section_text_load_begin)
67LINKER_SYMBOL(bsp_section_text_load_end)
68
69LINKER_SYMBOL(bsp_section_rodata_begin)
70LINKER_SYMBOL(bsp_section_rodata_end)
71LINKER_SYMBOL(bsp_section_rodata_size)
72LINKER_SYMBOL(bsp_section_rodata_load_begin)
73LINKER_SYMBOL(bsp_section_rodata_load_end)
74
75LINKER_SYMBOL(bsp_section_data_begin)
76LINKER_SYMBOL(bsp_section_data_end)
77LINKER_SYMBOL(bsp_section_data_size)
78LINKER_SYMBOL(bsp_section_data_load_begin)
79LINKER_SYMBOL(bsp_section_data_load_end)
80
81LINKER_SYMBOL(bsp_section_fast_text_begin)
82LINKER_SYMBOL(bsp_section_fast_text_end)
83LINKER_SYMBOL(bsp_section_fast_text_size)
84LINKER_SYMBOL(bsp_section_fast_text_load_begin)
85LINKER_SYMBOL(bsp_section_fast_text_load_end)
86
87LINKER_SYMBOL(bsp_section_fast_data_begin)
88LINKER_SYMBOL(bsp_section_fast_data_end)
89LINKER_SYMBOL(bsp_section_fast_data_size)
90LINKER_SYMBOL(bsp_section_fast_data_load_begin)
91LINKER_SYMBOL(bsp_section_fast_data_load_end)
92
93LINKER_SYMBOL(bsp_section_bss_begin)
94LINKER_SYMBOL(bsp_section_bss_end)
95LINKER_SYMBOL(bsp_section_bss_size)
96
97LINKER_SYMBOL(bsp_section_rtemsstack_begin)
98LINKER_SYMBOL(bsp_section_rtemsstack_end)
99LINKER_SYMBOL(bsp_section_rtemsstack_size)
100
101LINKER_SYMBOL(bsp_section_noinit_begin)
102LINKER_SYMBOL(bsp_section_noinit_end)
103LINKER_SYMBOL(bsp_section_noinit_size)
104
105LINKER_SYMBOL(bsp_section_work_begin)
106LINKER_SYMBOL(bsp_section_work_end)
107LINKER_SYMBOL(bsp_section_work_size)
108
109LINKER_SYMBOL(bsp_section_stack_begin)
110LINKER_SYMBOL(bsp_section_stack_end)
111LINKER_SYMBOL(bsp_section_stack_size)
112
113LINKER_SYMBOL(bsp_section_nocache_begin)
114LINKER_SYMBOL(bsp_section_nocache_end)
115LINKER_SYMBOL(bsp_section_nocache_size)
116LINKER_SYMBOL(bsp_section_nocache_load_begin)
117LINKER_SYMBOL(bsp_section_nocache_load_end)
118
119LINKER_SYMBOL(bsp_section_nocachenoload_begin)
120LINKER_SYMBOL(bsp_section_nocachenoload_end)
121LINKER_SYMBOL(bsp_section_nocachenoload_size)
122
123LINKER_SYMBOL(bsp_section_nocacheheap_begin)
124LINKER_SYMBOL(bsp_section_nocacheheap_end)
125LINKER_SYMBOL(bsp_section_nocacheheap_size)
126
127#define BSP_FAST_TEXT_SECTION \
128 RTEMS_SECTION(".bsp_fast_text")
129
130#define BSP_FAST_DATA_SECTION \
131 RTEMS_SECTION(".bsp_fast_data")
132
133#define BSP_NOCACHE_SECTION \
134 RTEMS_SECTION(".bsp_nocache")
135
136#define BSP_NOCACHE_SUBSECTION(subsection) \
137 RTEMS_SECTION(".bsp_nocache." # subsection)
138
139#define BSP_NOCACHENOLOAD_SECTION \
140 RTEMS_SECTION(".bsp_noload_nocache")
141
142#define BSP_NOCACHENOLOAD_SUBSECTION(subsection) \
143 RTEMS_SECTION(".bsp_noload_nocache." # subsection)
144
147#ifdef __cplusplus
148}
149#endif /* __cplusplus */
150
151#endif /* BSP_LINKER_SYMBOLS_H */
This header file provides basic definitions used by the API and the implementation.