1 /*
2  * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef __REGION_H__
9 #define __REGION_H__
10 
11 #include <stdint.h>
12 
13 /* Macros to pick linker symbols */
14 #define REGION(a, b, c) a##b##c
15 #define REGION_NAME(a, b, c) REGION(a, b, c)
16 #define REGION_DECLARE(a, b, c) extern uint32_t REGION_NAME(a, b, c)
17 #define REGION_DECLARE_T(a, b, c, t) extern t REGION_NAME(a, b, c)
18 
19 #ifdef __ICCARM__
20 /*
21  * ARMCLANG - IAR linker compatibility
22  */
23 #define Image$$
24 #define Load$$LR$$
25 #define $$ZI$$Base $$Base
26 #define $$ZI$$Limit $$Limit
27 #define $$RO$$Base $$Base
28 #define $$RO$$Limit $$Limit
29 #define $$RW$$Base $$Base
30 #define $$RW$$Limit $$Limit
31 #define _DATA$$RW$$Base _DATA$$Base
32 #define _DATA$$RW$$Limit _DATA$$Limit
33 #define _DATA$$ZI$$Base _DATA$$Base
34 #define _DATA$$ZI$$Limit _DATA$$Limit
35 #define _STACK$$ZI$$Base _STACK$$Base
36 #define _STACK$$ZI$$Limit _STACK$$Limit
37 
38 #endif  /* __ICCARM__ */
39 
40 #endif  /* __REGION_H__ */
41