blob: 0c73a60a68bbeb1b91b28d1a5ed983fe4f08fdc0 [file] [log] [blame]
Ashutosh Singhf4d88672017-11-29 13:35:43 +00001/*
Mate Toth-Pal1379e152018-07-30 17:38:29 +02002 * Copyright (c) 2017-2018, 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 */
35uint32_t tfm_ns_lock_init();
36
37#ifdef __cplusplus
38}
39#endif
40
41#endif /* __TFM_NS_LOCK_H__ */