blob: a40f7e123cb639d576d0259e909c70073b8f2658 [file] [log] [blame]
Ruari Phipps1925b2a2020-09-10 14:05:55 +01001/*
2 * Copyright (c) 2018-2021, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef IVY_H
8#define IVY_H
9
10#include <stdint.h>
11
12/* Linker symbols used to figure out the memory layout of the S-EL1 shim. */
13extern uintptr_t __SHIM_TEXT_START__, __SHIM_TEXT_END__;
14#define SHIM_TEXT_START ((uintptr_t)&__SHIM_TEXT_START__)
15#define SHIM_TEXT_END ((uintptr_t)&__SHIM_TEXT_END__)
16
17extern uintptr_t __SHIM_RODATA_START__, __SHIM_RODATA_END__;
18#define SHIM_RODATA_START ((uintptr_t)&__SHIM_RODATA_START__)
19#define SHIM_RODATA_END ((uintptr_t)&__SHIM_RODATA_END__)
20
21extern uintptr_t __SHIM_DATA_START__, __SHIM_DATA_END__;
22#define SHIM_DATA_START ((uintptr_t)&__SHIM_DATA_START__)
23#define SHIM_DATA_END ((uintptr_t)&__SHIM_DATA_END__)
24
25extern uintptr_t __SHIM_BSS_START__, __SHIM_BSS_END__;
26#define SHIM_BSS_START ((uintptr_t)&__SHIM_BSS_START__)
27#define SHIM_BSS_END ((uintptr_t)&__SHIM_BSS_END__)
28
29/* Linker symbols used to figure out the memory layout of Ivy (S-EL0). */
30extern uintptr_t __TEXT_START__, __TEXT_END__;
31#define IVY_TEXT_START ((uintptr_t)&__TEXT_START__)
32#define IVY_TEXT_END ((uintptr_t)&__TEXT_END__)
33
34extern uintptr_t __RODATA_START__, __RODATA_END__;
35#define IVY_RODATA_START ((uintptr_t)&__RODATA_START__)
36#define IVY_RODATA_END ((uintptr_t)&__RODATA_END__)
37
38extern uintptr_t __DATA_START__, __DATA_END__;
39#define IVY_DATA_START ((uintptr_t)&__DATA_START__)
40#define IVY_DATA_END ((uintptr_t)&__DATA_END__)
41
42extern uintptr_t __BSS_START__, __BSS_END__;
43#define IVY_BSS_START ((uintptr_t)&__BSS_START__)
44#define IVY_BSS_END ((uintptr_t)&__BSS_END__)
45
46#endif /* __IVY_H__ */