blob: 99a88d2047dd679940459027cca5a99a6475f13b [file] [log] [blame]
Ken Liu58852502021-08-10 15:48:23 +08001/*
Kevin Peng1de1e7a2022-06-07 17:38:01 +08002 * Copyright (c) 2021-2022, Arm Limited. All rights reserved.
Ken Liu58852502021-08-10 15:48:23 +08003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef __SECURITY_DEFS_H__
9#define __SECURITY_DEFS_H__
10
11/* Generic security-related definitions */
12
13/*
14 * Stack SEAL is involved since Security Extension exists, it becomes
15 * a generic security defs used by both SPM and Partitions.
16 */
17#define STACK_SEAL_PATTERN 0xFEF5EDA5
18
Kevin Peng1de1e7a2022-06-07 17:38:01 +080019/* Attributes for psa api secure gateway functions */
20#if defined(__GNUC__) && !defined(__ARMCC_VERSION)
21/*
22 * GNUARM requires noclone attribute to protect gateway function symbol from
23 * being renamed and cloned
24 */
25#define __tz_c_veneer \
26 __attribute__((cmse_nonsecure_entry, noclone, section("SFN")))
27#define __tz_naked_veneer \
28 __attribute__((cmse_nonsecure_entry, noclone, naked, section("SFN")))
29#else /* __GNUC__ && !__ARMCC_VERSION */
30#define __tz_c_veneer \
31 __attribute__((cmse_nonsecure_entry, section("SFN")))
32#define __tz_naked_veneer \
33 __attribute__((cmse_nonsecure_entry, naked, section("SFN")))
34#endif /* __GNUC__ && !__ARMCC_VERSION */
35
Ken Liu58852502021-08-10 15:48:23 +080036#endif /* __SECURITY_DEFS_H__ */