1 /*
2  * Copyright (c) 2021-2022, ProvenRun S.A.S. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef __PNC_H__
8 #define __PNC_H__
9 
10 #define SMC_YIELD		0xbf000000
11 #define SMC_ACTION_FROM_S	0xbf000001
12 #define SMC_GET_SHAREDMEM	0xbf000002
13 #define SMC_CONFIG_SHAREDMEM	0xbf000003
14 #define SMC_ACTION_FROM_NS	0xbf000004
15 
16 #ifndef __ASSEMBLER__
17 
18 #include <stdint.h>
19 
20 void *pncd_context_switch_to(unsigned long security_state);
21 int plat_pncd_setup(void);
22 uintptr_t plat_pncd_smc_handler(uint32_t smc_fid, u_register_t x1,
23 				u_register_t x2, u_register_t x3,
24 				u_register_t x4, void *cookie, void *handle,
25 				u_register_t flags);
26 
27 #endif /* __ASSEMBLER__ */
28 
29 #endif /* __PNC_H__ */
30