source: rtems/c/src/lib/libbsp/arm/shared/include/linker-symbols.h @ 53c99b8

5
Last change on this file since 53c99b8 was 53c99b8, checked in by Sebastian Huber <sebastian.huber@…>, on 10/28/15 at 09:18:05

bsps: Generalize .nocacheheap to .nocachenoload

Add ability to place data in a non-loadable cache-inhibited area.

  • Property mode set to 100644
File size: 4.1 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup arm_linker
5 *
6 * @brief Symbols defined in linker command base file.
7 */
8
9/*
10 * Copyright (c) 2008-2015 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
30/**
31 * @defgroup arm_linker Linker Support
32 *
33 * @ingroup arm_shared
34 *
35 * @brief Linker support.
36 *
37 * @{
38 */
39
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_irq_begin)
47LINKER_SYMBOL(bsp_stack_irq_end)
48LINKER_SYMBOL(bsp_stack_irq_size)
49
50LINKER_SYMBOL(bsp_stack_fiq_begin)
51LINKER_SYMBOL(bsp_stack_fiq_end)
52LINKER_SYMBOL(bsp_stack_irq_size)
53
54LINKER_SYMBOL(bsp_stack_abt_begin)
55LINKER_SYMBOL(bsp_stack_abt_end)
56LINKER_SYMBOL(bsp_stack_abt_size)
57
58LINKER_SYMBOL(bsp_stack_und_begin)
59LINKER_SYMBOL(bsp_stack_und_end)
60LINKER_SYMBOL(bsp_stack_und_size)
61
62LINKER_SYMBOL(bsp_stack_svc_begin)
63LINKER_SYMBOL(bsp_stack_svc_end)
64LINKER_SYMBOL(bsp_stack_svc_size)
65
66LINKER_SYMBOL(bsp_section_start_begin)
67LINKER_SYMBOL(bsp_section_start_end)
68LINKER_SYMBOL(bsp_section_start_size)
69
70LINKER_SYMBOL(bsp_section_vector_begin)
71LINKER_SYMBOL(bsp_section_vector_end)
72LINKER_SYMBOL(bsp_section_vector_size)
73
74LINKER_SYMBOL(bsp_section_text_begin)
75LINKER_SYMBOL(bsp_section_text_end)
76LINKER_SYMBOL(bsp_section_text_size)
77LINKER_SYMBOL(bsp_section_text_load_begin)
78LINKER_SYMBOL(bsp_section_text_load_end)
79
80LINKER_SYMBOL(bsp_section_rodata_begin)
81LINKER_SYMBOL(bsp_section_rodata_end)
82LINKER_SYMBOL(bsp_section_rodata_size)
83LINKER_SYMBOL(bsp_section_rodata_load_begin)
84LINKER_SYMBOL(bsp_section_rodata_load_end)
85
86LINKER_SYMBOL(bsp_section_data_begin)
87LINKER_SYMBOL(bsp_section_data_end)
88LINKER_SYMBOL(bsp_section_data_size)
89LINKER_SYMBOL(bsp_section_data_load_begin)
90LINKER_SYMBOL(bsp_section_data_load_end)
91
92LINKER_SYMBOL(bsp_section_fast_text_begin)
93LINKER_SYMBOL(bsp_section_fast_text_end)
94LINKER_SYMBOL(bsp_section_fast_text_size)
95LINKER_SYMBOL(bsp_section_fast_text_load_begin)
96LINKER_SYMBOL(bsp_section_fast_text_load_end)
97
98LINKER_SYMBOL(bsp_section_fast_data_begin)
99LINKER_SYMBOL(bsp_section_fast_data_end)
100LINKER_SYMBOL(bsp_section_fast_data_size)
101LINKER_SYMBOL(bsp_section_fast_data_load_begin)
102LINKER_SYMBOL(bsp_section_fast_data_load_end)
103
104LINKER_SYMBOL(bsp_section_bss_begin)
105LINKER_SYMBOL(bsp_section_bss_end)
106LINKER_SYMBOL(bsp_section_bss_size)
107
108LINKER_SYMBOL(bsp_section_work_begin)
109LINKER_SYMBOL(bsp_section_work_end)
110LINKER_SYMBOL(bsp_section_work_size)
111
112LINKER_SYMBOL(bsp_section_stack_begin)
113LINKER_SYMBOL(bsp_section_stack_end)
114LINKER_SYMBOL(bsp_section_stack_size)
115
116LINKER_SYMBOL(bsp_section_nocache_begin)
117LINKER_SYMBOL(bsp_section_nocache_end)
118LINKER_SYMBOL(bsp_section_nocache_size)
119LINKER_SYMBOL(bsp_section_nocache_load_begin)
120LINKER_SYMBOL(bsp_section_nocache_load_end)
121
122LINKER_SYMBOL(bsp_section_nocachenoload_begin)
123LINKER_SYMBOL(bsp_section_nocachenoload_end)
124LINKER_SYMBOL(bsp_section_nocachenoload_size)
125
126LINKER_SYMBOL(bsp_section_nocacheheap_begin)
127LINKER_SYMBOL(bsp_section_nocacheheap_end)
128LINKER_SYMBOL(bsp_section_nocacheheap_size)
129
130LINKER_SYMBOL(bsp_vector_table_begin)
131LINKER_SYMBOL(bsp_vector_table_end)
132LINKER_SYMBOL(bsp_vector_table_size)
133
134LINKER_SYMBOL(bsp_start_vector_table_begin)
135LINKER_SYMBOL(bsp_start_vector_table_end)
136LINKER_SYMBOL(bsp_start_vector_table_size)
137
138LINKER_SYMBOL(bsp_translation_table_base)
139LINKER_SYMBOL(bsp_translation_table_end)
140
141#define BSP_FAST_TEXT_SECTION __attribute__((section(".bsp_fast_text")))
142
143#define BSP_FAST_DATA_SECTION __attribute__((section(".bsp_fast_data")))
144
145#define BSP_NOCACHE_SECTION __attribute__((section(".bsp_nocache")))
146
147#define BSP_NOCACHENOLOAD_SECTION __attribute__((section(".bsp_noload_nocache")))
148
149LINKER_SYMBOL(bsp_processor_count)
150
151/** @} */
152
153#ifdef __cplusplus
154}
155#endif /* __cplusplus */
156
157#endif /* LIBBSP_ARM_SHARED_LINKER_SYMBOLS_H */
Note: See TracBrowser for help on using the repository browser.