RTEMS  5.0.0
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
27 extern "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 
46 LINKER_SYMBOL(bsp_stack_fiq_size)
47 LINKER_SYMBOL(bsp_stack_abt_size)
48 LINKER_SYMBOL(bsp_stack_und_size)
49 LINKER_SYMBOL(bsp_stack_hyp_size)
50 
51 LINKER_SYMBOL(bsp_section_start_begin)
52 LINKER_SYMBOL(bsp_section_start_end)
53 LINKER_SYMBOL(bsp_section_start_size)
54 
55 LINKER_SYMBOL(bsp_section_vector_begin)
56 LINKER_SYMBOL(bsp_section_vector_end)
57 LINKER_SYMBOL(bsp_section_vector_size)
58 
59 LINKER_SYMBOL(bsp_section_text_begin)
60 LINKER_SYMBOL(bsp_section_text_end)
61 LINKER_SYMBOL(bsp_section_text_size)
62 LINKER_SYMBOL(bsp_section_text_load_begin)
63 LINKER_SYMBOL(bsp_section_text_load_end)
64 
65 LINKER_SYMBOL(bsp_section_rodata_begin)
66 LINKER_SYMBOL(bsp_section_rodata_end)
67 LINKER_SYMBOL(bsp_section_rodata_size)
68 LINKER_SYMBOL(bsp_section_rodata_load_begin)
69 LINKER_SYMBOL(bsp_section_rodata_load_end)
70 
71 LINKER_SYMBOL(bsp_section_data_begin)
72 LINKER_SYMBOL(bsp_section_data_end)
73 LINKER_SYMBOL(bsp_section_data_size)
74 LINKER_SYMBOL(bsp_section_data_load_begin)
75 LINKER_SYMBOL(bsp_section_data_load_end)
76 
77 LINKER_SYMBOL(bsp_section_fast_text_begin)
78 LINKER_SYMBOL(bsp_section_fast_text_end)
79 LINKER_SYMBOL(bsp_section_fast_text_size)
80 LINKER_SYMBOL(bsp_section_fast_text_load_begin)
81 LINKER_SYMBOL(bsp_section_fast_text_load_end)
82 
83 LINKER_SYMBOL(bsp_section_fast_data_begin)
84 LINKER_SYMBOL(bsp_section_fast_data_end)
85 LINKER_SYMBOL(bsp_section_fast_data_size)
86 LINKER_SYMBOL(bsp_section_fast_data_load_begin)
87 LINKER_SYMBOL(bsp_section_fast_data_load_end)
88 
89 LINKER_SYMBOL(bsp_section_bss_begin)
90 LINKER_SYMBOL(bsp_section_bss_end)
91 LINKER_SYMBOL(bsp_section_bss_size)
92 
93 LINKER_SYMBOL(bsp_section_work_begin)
94 LINKER_SYMBOL(bsp_section_work_end)
95 LINKER_SYMBOL(bsp_section_work_size)
96 
97 LINKER_SYMBOL(bsp_section_stack_begin)
98 LINKER_SYMBOL(bsp_section_stack_end)
99 LINKER_SYMBOL(bsp_section_stack_size)
100 
101 LINKER_SYMBOL(bsp_section_nocache_begin)
102 LINKER_SYMBOL(bsp_section_nocache_end)
103 LINKER_SYMBOL(bsp_section_nocache_size)
104 LINKER_SYMBOL(bsp_section_nocache_load_begin)
105 LINKER_SYMBOL(bsp_section_nocache_load_end)
106 
107 LINKER_SYMBOL(bsp_section_nocachenoload_begin)
108 LINKER_SYMBOL(bsp_section_nocachenoload_end)
109 LINKER_SYMBOL(bsp_section_nocachenoload_size)
110 
111 LINKER_SYMBOL(bsp_section_nocacheheap_begin)
112 LINKER_SYMBOL(bsp_section_nocacheheap_end)
113 LINKER_SYMBOL(bsp_section_nocacheheap_size)
114 
115 LINKER_SYMBOL(bsp_vector_table_begin)
116 LINKER_SYMBOL(bsp_vector_table_end)
117 LINKER_SYMBOL(bsp_vector_table_size)
118 
119 LINKER_SYMBOL(bsp_start_vector_table_begin)
120 LINKER_SYMBOL(bsp_start_vector_table_end)
121 LINKER_SYMBOL(bsp_start_vector_table_size)
122 
123 LINKER_SYMBOL(bsp_translation_table_base)
124 LINKER_SYMBOL(bsp_translation_table_end)
125 
126 #define BSP_FAST_TEXT_SECTION __attribute__((section(".bsp_fast_text")))
127 
128 #define BSP_FAST_DATA_SECTION __attribute__((section(".bsp_fast_data")))
129 
130 #define BSP_NOCACHE_SECTION __attribute__((section(".bsp_nocache")))
131 
132 #define BSP_NOCACHE_SUBSECTION(subsection) \
133  __attribute__((section(".bsp_nocache." # subsection)))
134 
135 #define BSP_NOCACHENOLOAD_SECTION __attribute__((section(".bsp_noload_nocache")))
136 
137 #define BSP_NOCACHENOLOAD_SUBSECTION(subsection) \
138  __attribute__((section(".bsp_noload_nocache." # subsection)))
139 
142 #ifdef __cplusplus
143 }
144 #endif /* __cplusplus */
145 
146 #endif /* LIBBSP_ARM_SHARED_LINKER_SYMBOLS_H */