xref: /optee_os/core/include/kernel/notif.h (revision 2828809ee87773e817c3ca071330131ae9ce66a7)
1*2828809eSJens Wiklander /* SPDX-License-Identifier: BSD-2-Clause */
2*2828809eSJens Wiklander /*
3*2828809eSJens Wiklander  * Copyright (c) 2021, Linaro Limited
4*2828809eSJens Wiklander  */
5*2828809eSJens Wiklander 
6*2828809eSJens Wiklander #ifndef __KERNEL_NOTIF_H
7*2828809eSJens Wiklander #define __KERNEL_NOTIF_H
8*2828809eSJens Wiklander 
9*2828809eSJens Wiklander #include <compiler.h>
10*2828809eSJens Wiklander #include <sys/queue.h>
11*2828809eSJens Wiklander #include <tee_api_types.h>
12*2828809eSJens Wiklander #include <types_ext.h>
13*2828809eSJens Wiklander 
14*2828809eSJens Wiklander #define NOTIF_SYNC_VALUE_BASE		0
15*2828809eSJens Wiklander 
16*2828809eSJens Wiklander #define NOTIF_VALUE_MAX			(NOTIF_SYNC_VALUE_BASE + \
17*2828809eSJens Wiklander 					 CFG_NUM_THREADS)
18*2828809eSJens Wiklander 
19*2828809eSJens Wiklander /*
20*2828809eSJens Wiklander  * Wait in normal world for a value to be sent by notif_send_sync()
21*2828809eSJens Wiklander  */
22*2828809eSJens Wiklander TEE_Result notif_wait(uint32_t value);
23*2828809eSJens Wiklander 
24*2828809eSJens Wiklander /*
25*2828809eSJens Wiklander  * Send a value
26*2828809eSJens Wiklander  */
27*2828809eSJens Wiklander TEE_Result notif_send_sync(uint32_t value);
28*2828809eSJens Wiklander 
29*2828809eSJens Wiklander #endif /*__KERNEL_NOTIF_H*/
30