RTEMS 6.1-rc2
Loading...
Searching...
No Matches
linker-symbols.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2020 On-Line Applications Research Corporation (OAR)
13 * Written by Kinsey Moore <kinsey.moore@oarcorp.com>
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 LIBBSP_AARCH64_SHARED_LINKER_SYMBOLS_H
38#define LIBBSP_AARCH64_SHARED_LINKER_SYMBOLS_H
39
41
42#ifdef __cplusplus
43extern "C" {
44#endif /* __cplusplus */
45
56#ifndef ASM
57 #define LINKER_SYMBOL(sym) extern char sym [];
58#else
59 #define LINKER_SYMBOL(sym) .extern sym
60#endif
61
62LINKER_SYMBOL(bsp_stack_exception_size)
63LINKER_SYMBOL(bsp_stack_hyp_size)
64
65LINKER_SYMBOL(bsp_section_start_begin)
66LINKER_SYMBOL(bsp_section_start_end)
67LINKER_SYMBOL(bsp_section_start_size)
68
69LINKER_SYMBOL(bsp_section_vector_begin)
70LINKER_SYMBOL(bsp_section_vector_end)
71LINKER_SYMBOL(bsp_section_vector_size)
72
73LINKER_SYMBOL(bsp_section_text_begin)
74LINKER_SYMBOL(bsp_section_text_end)
75LINKER_SYMBOL(bsp_section_text_size)
76LINKER_SYMBOL(bsp_section_text_load_begin)
77LINKER_SYMBOL(bsp_section_text_load_end)
78
79LINKER_SYMBOL(bsp_section_rodata_begin)
80LINKER_SYMBOL(bsp_section_rodata_end)
81LINKER_SYMBOL(bsp_section_rodata_size)
82LINKER_SYMBOL(bsp_section_rodata_load_begin)
83LINKER_SYMBOL(bsp_section_rodata_load_end)
84
85LINKER_SYMBOL(bsp_section_data_begin)
86LINKER_SYMBOL(bsp_section_data_end)
87LINKER_SYMBOL(bsp_section_data_size)
88LINKER_SYMBOL(bsp_section_data_load_begin)
89LINKER_SYMBOL(bsp_section_data_load_end)
90
91LINKER_SYMBOL(bsp_section_fast_text_begin)
92LINKER_SYMBOL(bsp_section_fast_text_end)
93LINKER_SYMBOL(bsp_section_fast_text_size)
94LINKER_SYMBOL(bsp_section_fast_text_load_begin)
95LINKER_SYMBOL(bsp_section_fast_text_load_end)
96
97LINKER_SYMBOL(bsp_section_fast_data_begin)
98LINKER_SYMBOL(bsp_section_fast_data_end)
99LINKER_SYMBOL(bsp_section_fast_data_size)
100LINKER_SYMBOL(bsp_section_fast_data_load_begin)
101LINKER_SYMBOL(bsp_section_fast_data_load_end)
102
103LINKER_SYMBOL(bsp_section_bss_begin)
104LINKER_SYMBOL(bsp_section_bss_end)
105LINKER_SYMBOL(bsp_section_bss_size)
106
107LINKER_SYMBOL(bsp_section_rtemsstack_begin)
108LINKER_SYMBOL(bsp_section_rtemsstack_end)
109LINKER_SYMBOL(bsp_section_rtemsstack_size)
110
111LINKER_SYMBOL(bsp_section_noinit_begin)
112LINKER_SYMBOL(bsp_section_noinit_end)
113LINKER_SYMBOL(bsp_section_noinit_size)
114
115LINKER_SYMBOL(bsp_section_work_begin)
116LINKER_SYMBOL(bsp_section_work_end)
117LINKER_SYMBOL(bsp_section_work_size)
118
119LINKER_SYMBOL(bsp_section_stack_begin)
120LINKER_SYMBOL(bsp_section_stack_end)
121LINKER_SYMBOL(bsp_section_stack_size)
122
123LINKER_SYMBOL(bsp_section_nocache_begin)
124LINKER_SYMBOL(bsp_section_nocache_end)
125LINKER_SYMBOL(bsp_section_nocache_size)
126LINKER_SYMBOL(bsp_section_nocache_load_begin)
127LINKER_SYMBOL(bsp_section_nocache_load_end)
128
129LINKER_SYMBOL(bsp_section_nocachenoload_begin)
130LINKER_SYMBOL(bsp_section_nocachenoload_end)
131LINKER_SYMBOL(bsp_section_nocachenoload_size)
132
133LINKER_SYMBOL(bsp_section_nocacheheap_begin)
134LINKER_SYMBOL(bsp_section_nocacheheap_end)
135LINKER_SYMBOL(bsp_section_nocacheheap_size)
136
137LINKER_SYMBOL(bsp_vector_table_begin)
138LINKER_SYMBOL(bsp_vector_table_end)
139LINKER_SYMBOL(bsp_vector_table_size)
140
141LINKER_SYMBOL(bsp_start_vector_table_begin)
142LINKER_SYMBOL(bsp_start_vector_table_end)
143LINKER_SYMBOL(bsp_start_vector_table_size)
144
145LINKER_SYMBOL(bsp_translation_table_base)
146LINKER_SYMBOL(bsp_translation_table_end)
147
148#define BSP_FAST_TEXT_SECTION \
149 RTEMS_SECTION(".bsp_fast_text")
150
151#define BSP_FAST_DATA_SECTION \
152 RTEMS_SECTION(".bsp_fast_data")
153
154#define BSP_NOCACHE_SECTION \
155 RTEMS_SECTION(".bsp_nocache")
156
157#define BSP_NOCACHE_SUBSECTION(subsection) \
158 RTEMS_SECTION(".bsp_nocache." # subsection)
159
160#define BSP_NOCACHENOLOAD_SECTION \
161 RTEMS_SECTION(".bsp_noload_nocache")
162
163#define BSP_NOCACHENOLOAD_SUBSECTION(subsection) \
164 RTEMS_SECTION(".bsp_noload_nocache." # subsection)
165
168#ifdef __cplusplus
169}
170#endif /* __cplusplus */
171
172#endif /* LIBBSP_AARCH64_SHARED_LINKER_SYMBOLS_H */
This header file provides basic definitions used by the API and the implementation.