RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
linker-symbols.h
Go to the documentation of this file.
1
9/*
10 * Copyright (c) 2008, 2016 embedded brains GmbH. All rights reserved.
11 *
12 * embedded brains GmbH
13 * Dornierstr. 4
14 * 82178 Puchheim
15 * Germany
16 * <info@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#ifndef LIBBSP_ARM_SHARED_LINKER_SYMBOLS_H
24#define LIBBSP_ARM_SHARED_LINKER_SYMBOLS_H
25
26#ifdef __cplusplus
27extern "C" {
28#endif /* __cplusplus */
29
40#ifndef ASM
41 #define LINKER_SYMBOL(sym) extern char sym [];
42#else
43 #define LINKER_SYMBOL(sym) .extern sym
44#endif
45
46LINKER_SYMBOL(bsp_stack_fiq_size)
47LINKER_SYMBOL(bsp_stack_abt_size)
48LINKER_SYMBOL(bsp_stack_und_size)
49LINKER_SYMBOL(bsp_stack_hyp_size)
50
51LINKER_SYMBOL(bsp_section_start_begin)
52LINKER_SYMBOL(bsp_section_start_end)
53LINKER_SYMBOL(bsp_section_start_size)
54
55LINKER_SYMBOL(bsp_section_vector_begin)
56LINKER_SYMBOL(bsp_section_vector_end)
57LINKER_SYMBOL(bsp_section_vector_size)
58
59LINKER_SYMBOL(bsp_section_text_begin)
60LINKER_SYMBOL(bsp_section_text_end)
61LINKER_SYMBOL(bsp_section_text_size)
62LINKER_SYMBOL(bsp_section_text_load_begin)
63LINKER_SYMBOL(bsp_section_text_load_end)
64
65LINKER_SYMBOL(bsp_section_rodata_begin)
66LINKER_SYMBOL(bsp_section_rodata_end)
67LINKER_SYMBOL(bsp_section_rodata_size)
68LINKER_SYMBOL(bsp_section_rodata_load_begin)
69LINKER_SYMBOL(bsp_section_rodata_load_end)
70
71LINKER_SYMBOL(bsp_section_data_begin)
72LINKER_SYMBOL(bsp_section_data_end)
73LINKER_SYMBOL(bsp_section_data_size)
74LINKER_SYMBOL(bsp_section_data_load_begin)
75LINKER_SYMBOL(bsp_section_data_load_end)
76
77LINKER_SYMBOL(bsp_section_fast_text_begin)
78LINKER_SYMBOL(bsp_section_fast_text_end)
79LINKER_SYMBOL(bsp_section_fast_text_size)
80LINKER_SYMBOL(bsp_section_fast_text_load_begin)
81LINKER_SYMBOL(bsp_section_fast_text_load_end)
82
83LINKER_SYMBOL(bsp_section_fast_data_begin)
84LINKER_SYMBOL(bsp_section_fast_data_end)
85LINKER_SYMBOL(bsp_section_fast_data_size)
86LINKER_SYMBOL(bsp_section_fast_data_load_begin)
87LINKER_SYMBOL(bsp_section_fast_data_load_end)
88
89LINKER_SYMBOL(bsp_section_bss_begin)
90LINKER_SYMBOL(bsp_section_bss_end)
91LINKER_SYMBOL(bsp_section_bss_size)
92
93LINKER_SYMBOL(bsp_section_rtemsstack_begin)
94LINKER_SYMBOL(bsp_section_rtemsstack_end)
95LINKER_SYMBOL(bsp_section_rtemsstack_size)
96
97LINKER_SYMBOL(bsp_section_work_begin)
98LINKER_SYMBOL(bsp_section_work_end)
99LINKER_SYMBOL(bsp_section_work_size)
100
101LINKER_SYMBOL(bsp_section_stack_begin)
102LINKER_SYMBOL(bsp_section_stack_end)
103LINKER_SYMBOL(bsp_section_stack_size)
104
105LINKER_SYMBOL(bsp_section_nocache_begin)
106LINKER_SYMBOL(bsp_section_nocache_end)
107LINKER_SYMBOL(bsp_section_nocache_size)
108LINKER_SYMBOL(bsp_section_nocache_load_begin)
109LINKER_SYMBOL(bsp_section_nocache_load_end)
110
111LINKER_SYMBOL(bsp_section_nocachenoload_begin)
112LINKER_SYMBOL(bsp_section_nocachenoload_end)
113LINKER_SYMBOL(bsp_section_nocachenoload_size)
114
115LINKER_SYMBOL(bsp_section_nocacheheap_begin)
116LINKER_SYMBOL(bsp_section_nocacheheap_end)
117LINKER_SYMBOL(bsp_section_nocacheheap_size)
118
119LINKER_SYMBOL(bsp_vector_table_begin)
120LINKER_SYMBOL(bsp_vector_table_end)
121LINKER_SYMBOL(bsp_vector_table_size)
122
123LINKER_SYMBOL(bsp_start_vector_table_begin)
124LINKER_SYMBOL(bsp_start_vector_table_end)
125LINKER_SYMBOL(bsp_start_vector_table_size)
126
127LINKER_SYMBOL(bsp_translation_table_base)
128LINKER_SYMBOL(bsp_translation_table_end)
129
130#define BSP_FAST_TEXT_SECTION __attribute__((section(".bsp_fast_text")))
131
132#define BSP_FAST_DATA_SECTION __attribute__((section(".bsp_fast_data")))
133
134#define BSP_NOCACHE_SECTION __attribute__((section(".bsp_nocache")))
135
136#define BSP_NOCACHE_SUBSECTION(subsection) \
137 __attribute__((section(".bsp_nocache." # subsection)))
138
139#define BSP_NOCACHENOLOAD_SECTION __attribute__((section(".bsp_noload_nocache")))
140
141#define BSP_NOCACHENOLOAD_SUBSECTION(subsection) \
142 __attribute__((section(".bsp_noload_nocache." # subsection)))
143
146#ifdef __cplusplus
147}
148#endif /* __cplusplus */
149
150#endif /* LIBBSP_ARM_SHARED_LINKER_SYMBOLS_H */