blob: 0b06eb2e7aa4471e65390ab5b478b60009053513 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
2 * Copyright (c) 2017, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __CACTUS_H__
8#define __CACTUS_H__
9
Ambroise Vincent602b7f52019-02-11 14:13:43 +000010#include <stdint.h>
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020011
12/* Linker symbols used to figure out the memory layout of Cactus. */
13extern uintptr_t __TEXT_START__, __TEXT_END__;
14#define CACTUS_TEXT_START ((uintptr_t)&__TEXT_START__)
15#define CACTUS_TEXT_END ((uintptr_t)&__TEXT_END__)
16
17extern uintptr_t __RODATA_START__, __RODATA_END__;
18#define CACTUS_RODATA_START ((uintptr_t)&__RODATA_START__)
19#define CACTUS_RODATA_END ((uintptr_t)&__RODATA_END__)
20
Antonio Nino Diaz54287c82018-12-05 15:37:33 +000021extern uintptr_t __DATA_START__, __DATA_END__;
22#define CACTUS_DATA_START ((uintptr_t)&__DATA_START__)
23#define CACTUS_DATA_END ((uintptr_t)&__DATA_END__)
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020024
25extern uintptr_t __BSS_START__, __BSS_END__;
26#define CACTUS_BSS_START ((uintptr_t)&__BSS_START__)
27#define CACTUS_BSS_END ((uintptr_t)&__BSS_END__)
28
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020029#endif /* __CACTUS_H__ */