#ifndef __ASM_SECURE_H
#define __ASM_SECURE_H

#include <asm/global_data.h>

#define __secure __section("._secure.text")
#define __secure_data __section("._secure.data")

#ifndef __ASSEMBLY__

typedef struct secure_svc_tbl {
	u32	id;
#ifdef CONFIG_ARMV8_PSCI
	u8	pad[4];
#endif
	void	*func;
} secure_svc_tbl_t;

/*
 * Macro to declare a SiP function service in '_secure_svc_tbl_entries' section
 */
#define DECLARE_SECURE_SVC(_name, _id, _fn) \
	static const secure_svc_tbl_t __secure_svc_ ## _name \
		__used __section("._secure_svc_tbl_entries") \
			 = { \
				.id = _id, \
				.func = _fn }

#else

#ifdef CONFIG_ARMV8_PSCI
#define SECURE_SVC_TBL_OFFSET		16
#else
#define SECURE_SVC_TBL_OFFSET		8

#endif

#endif /* __ASSEMBLY__ */

#if defined(CONFIG_ARMV7_SECURE_BASE) || defined(CONFIG_ARMV8_SECURE_BASE)
/*
 * Warning, horror ahead.
 *
 * The target code lives in our "secure ram", but u-boot doesn't know
 * that, and has blindly added reloc_off to every relocation
 * entry. Gahh. Do the opposite conversion. This hack also prevents
 * GCC from generating code veeners, which u-boot doesn't relocate at
 * all...
 */
#define secure_ram_addr(_fn) ({						\
			DECLARE_GLOBAL_DATA_PTR;			\
			void *__fn = _fn;				\
			typeof(_fn) *__tmp = (__fn - gd->reloc_off);	\
			__tmp;						\
		})
#else
#define secure_ram_addr(_fn)	(_fn)
#endif

#endif
