RTEMS  5.0.0
linker-symbols.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2010, 2016 embedded brains GmbH. All rights reserved.
11  *
12  * embedded brains GmbH
13  * Dornierstr. 4
14  * 82178 Puchheim
15  * Germany
16  * <rtems@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_POWERPC_SHARED_LINKER_SYMBOLS_H
24 #define LIBBSP_POWERPC_SHARED_LINKER_SYMBOLS_H
25 
26 #include <libcpu/powerpc-utility.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* __cplusplus */
31 
42 LINKER_SYMBOL(bsp_section_start_begin)
43 LINKER_SYMBOL(bsp_section_start_end)
44 LINKER_SYMBOL(bsp_section_start_size)
45 
46 LINKER_SYMBOL(bsp_section_fast_text_begin)
47 LINKER_SYMBOL(bsp_section_fast_text_end)
48 LINKER_SYMBOL(bsp_section_fast_text_size)
49 LINKER_SYMBOL(bsp_section_fast_text_load_begin)
50 LINKER_SYMBOL(bsp_section_fast_text_load_end)
51 
52 LINKER_SYMBOL(bsp_section_text_begin)
53 LINKER_SYMBOL(bsp_section_text_end)
54 LINKER_SYMBOL(bsp_section_text_size)
55 LINKER_SYMBOL(bsp_section_text_load_begin)
56 LINKER_SYMBOL(bsp_section_text_load_end)
57 
58 LINKER_SYMBOL(bsp_section_rodata_begin)
59 LINKER_SYMBOL(bsp_section_rodata_end)
60 LINKER_SYMBOL(bsp_section_rodata_size)
61 LINKER_SYMBOL(bsp_section_rodata_load_begin)
62 LINKER_SYMBOL(bsp_section_rodata_load_end)
63 
64 LINKER_SYMBOL(bsp_section_fast_data_begin)
65 LINKER_SYMBOL(bsp_section_fast_data_end)
66 LINKER_SYMBOL(bsp_section_fast_data_size)
67 LINKER_SYMBOL(bsp_section_fast_data_load_begin)
68 LINKER_SYMBOL(bsp_section_fast_data_load_end)
69 
70 LINKER_SYMBOL(bsp_section_data_begin)
71 LINKER_SYMBOL(bsp_section_data_end)
72 LINKER_SYMBOL(bsp_section_data_size)
73 LINKER_SYMBOL(bsp_section_data_load_begin)
74 LINKER_SYMBOL(bsp_section_data_load_end)
75 
76 LINKER_SYMBOL(bsp_section_bss_begin)
77 LINKER_SYMBOL(bsp_section_bss_end)
78 LINKER_SYMBOL(bsp_section_bss_size)
79 
80 LINKER_SYMBOL(bsp_section_sdata_begin)
81 LINKER_SYMBOL(bsp_section_sdata_end)
82 LINKER_SYMBOL(bsp_section_sdata_size)
83 
84 LINKER_SYMBOL(bsp_section_sbss_begin)
85 LINKER_SYMBOL(bsp_section_sbss_end)
86 LINKER_SYMBOL(bsp_section_sbss_size)
87 
88 LINKER_SYMBOL(bsp_section_sdata_libdl_begin)
89 LINKER_SYMBOL(bsp_section_sdata_libdl_end)
90 LINKER_SYMBOL(bsp_section_sdata_libdl_size)
91 
92 LINKER_SYMBOL(bsp_section_rtemsstack_begin)
93 LINKER_SYMBOL(bsp_section_rtemsstack_end)
94 LINKER_SYMBOL(bsp_section_rtemsstack_size)
95 
96 LINKER_SYMBOL(bsp_section_work_begin)
97 LINKER_SYMBOL(bsp_section_work_end)
98 LINKER_SYMBOL(bsp_section_work_size)
99 
100 LINKER_SYMBOL(bsp_section_stack_begin)
101 LINKER_SYMBOL(bsp_section_stack_end)
102 LINKER_SYMBOL(bsp_section_stack_size)
103 
104 LINKER_SYMBOL(bsp_section_nocache_begin)
105 LINKER_SYMBOL(bsp_section_nocache_end)
106 LINKER_SYMBOL(bsp_section_nocache_size)
107 LINKER_SYMBOL(bsp_section_nocache_load_begin)
108 LINKER_SYMBOL(bsp_section_nocache_load_end)
109 
110 LINKER_SYMBOL(bsp_section_nocachenoload_begin)
111 LINKER_SYMBOL(bsp_section_nocachenoload_end)
112 LINKER_SYMBOL(bsp_section_nocachenoload_size)
113 
114 LINKER_SYMBOL(bsp_section_nocacheheap_begin)
115 LINKER_SYMBOL(bsp_section_nocacheheap_end)
116 LINKER_SYMBOL(bsp_section_nocacheheap_size)
117 
118 LINKER_SYMBOL(bsp_section_nvram_begin)
119 LINKER_SYMBOL(bsp_section_nvram_end)
120 LINKER_SYMBOL(bsp_section_nvram_size)
121 
122 #define BSP_FAST_TEXT_SECTION __attribute__((section(".bsp_fast_text")))
123 
124 #define BSP_FAST_DATA_SECTION __attribute__((section(".bsp_fast_data")))
125 
126 #define BSP_NOCACHE_SECTION __attribute__((section(".bsp_nocache")))
127 
128 #define BSP_NOCACHE_SUBSECTION(subsection) \
129  __attribute__((section(".bsp_nocache." # subsection)))
130 
131 #define BSP_NOCACHENOLOAD_SECTION __attribute__((section(".bsp_noload_nocache")))
132 
133 #define BSP_NOCACHENOLOAD_SUBSECTION(subsection) \
134  __attribute__((section(".bsp_noload_nocache." # subsection)))
135 
136 #define BSP_NVRAM_SECTION __attribute__((section(".bsp_nvram")))
137 
138 #define BSP_NVRAM_SUBSECTION(subsection) \
139  __attribute__((section(".bsp_nvram." # subsection)))
140 
143 #ifdef __cplusplus
144 }
145 #endif /* __cplusplus */
146 
147 #endif /* LIBBSP_POWERPC_SHARED_LINKER_SYMBOLS_H */
General purpose assembler macros, linker command file support and some inline functions for direct re...