blob: d3cf055433c6564afb0c8ac258eddbb219a5a891 [file] [log] [blame]
Ashutosh Singhf4d88672017-11-29 13:35:43 +00001/*
Hugues de Valon32547602019-02-19 14:46:56 +00002 * Copyright (c) 2017-2019, Arm Limited. All rights reserved.
Ashutosh Singhf4d88672017-11-29 13:35:43 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7#ifndef __TFM_NS_LOCK_H__
8#define __TFM_NS_LOCK_H__
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include <stdint.h>
Mate Toth-Pal1379e152018-07-30 17:38:29 +020015
16typedef int32_t (*veneer_fn) (uint32_t arg0, uint32_t arg1,
17 uint32_t arg2, uint32_t arg3);
Ashutosh Singhf4d88672017-11-29 13:35:43 +000018
19/**
20 * \brief NS world, NS lock based dispatcher
21 *
Mate Toth-Pal1379e152018-07-30 17:38:29 +020022 * \details To be called from the wrapper API interface
Ashutosh Singhf4d88672017-11-29 13:35:43 +000023 */
Mate Toth-Pal1379e152018-07-30 17:38:29 +020024
25uint32_t tfm_ns_lock_dispatch(veneer_fn fn,
26 uint32_t arg0, uint32_t arg1,
27 uint32_t arg2, uint32_t arg3);
Ashutosh Singhf4d88672017-11-29 13:35:43 +000028
29/**
30 * \brief NS world, Init NS lock
31 *
32 * \details Needs to be called during non-secure app init
33 * to initialize the TFM NS lock object
34 */
Hugues de Valon32547602019-02-19 14:46:56 +000035enum tfm_status_e tfm_ns_lock_init();
Ashutosh Singhf4d88672017-11-29 13:35:43 +000036
37#ifdef __cplusplus
38}
39#endif
40
41#endif /* __TFM_NS_LOCK_H__ */