1 /*
2  * Copyright (c) 2020-2022, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef SPMD_SVC_H
8 #define SPMD_SVC_H
9 
10 #ifndef __ASSEMBLER__
11 #include <services/ffa_svc.h>
12 #include <stdint.h>
13 
14 int spmd_setup(void);
15 uint64_t spmd_ffa_smc_handler(uint32_t smc_fid,
16 			      uint64_t x1,
17 			      uint64_t x2,
18 			      uint64_t x3,
19 			      uint64_t x4,
20 			      void *cookie,
21 			      void *handle,
22 			      uint64_t flags);
23 uint64_t spmd_smc_handler(uint32_t smc_fid,
24 			  uint64_t x1,
25 			  uint64_t x2,
26 			  uint64_t x3,
27 			  uint64_t x4,
28 			  void *cookie,
29 			  void *handle,
30 			  uint64_t flags);
31 uint64_t spmd_smc_switch_state(uint32_t smc_fid,
32 			       bool secure_origin,
33 			       uint64_t x1,
34 			       uint64_t x2,
35 			       uint64_t x3,
36 			       uint64_t x4,
37 			       void *handle);
38 #endif /* __ASSEMBLER__ */
39 
40 #endif /* SPMD_SVC_H */
41