/*
 * Copyright (c) 2017, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef __CACTUS_H__
#define __CACTUS_H__

#include <secure_partition.h>
#include <types.h>

/* Linker symbols used to figure out the memory layout of Cactus. */
extern uintptr_t __TEXT_START__, __TEXT_END__;
#define CACTUS_TEXT_START	((uintptr_t)&__TEXT_START__)
#define CACTUS_TEXT_END		((uintptr_t)&__TEXT_END__)

extern uintptr_t __RODATA_START__, __RODATA_END__;
#define CACTUS_RODATA_START	((uintptr_t)&__RODATA_START__)
#define CACTUS_RODATA_END	((uintptr_t)&__RODATA_END__)

extern uintptr_t __RWDATA_START__, __RWDATA_END__;
#define CACTUS_RWDATA_START	((uintptr_t)&__RWDATA_START__)
#define CACTUS_RWDATA_END	((uintptr_t)&__RWDATA_END__)

extern uintptr_t __BSS_START__, __BSS_END__;
#define CACTUS_BSS_START	((uintptr_t)&__BSS_START__)
#define CACTUS_BSS_END		((uintptr_t)&__BSS_END__)

/*
 * Once Cactus has finished its initialisation, this is the function it will
 * jump to to handle runtime services for the rest of its lifetime.
 */
__dead2 void secure_services_loop(void);

#endif /* __CACTUS_H__ */
