]>
Commit | Line | Data |
---|---|---|
37ef4bb1 AG |
1 | /** @file\r |
2 | Header file for FF-A ABI's that will be used for\r | |
3 | communication between S-EL0 and the Secure Partition\r | |
4 | Manager(SPM)\r | |
5 | \r | |
6 | Copyright (c) 2020, ARM Limited. All rights reserved.\r | |
7 | \r | |
8 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
9 | \r | |
10 | @par Revision Reference:\r | |
11 | - FF-A Version 1.0\r | |
12 | \r | |
13 | \r | |
14 | **/\r | |
15 | \r | |
16 | #ifndef ARM_FFA_SVC_H_\r | |
17 | #define ARM_FFA_SVC_H_\r | |
18 | \r | |
429309e0 MK |
19 | #define ARM_SVC_ID_FFA_VERSION_AARCH32 0x84000063\r |
20 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH32 0x8400006F\r | |
21 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH32 0x84000070\r | |
22 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 0xC400006F\r | |
23 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64 0xC4000070\r | |
37ef4bb1 | 24 | \r |
03e19e6b EC |
25 | /* Generic IDs when using AArch32 or AArch64 execution state */\r |
26 | #ifdef MDE_CPU_AARCH64\r | |
429309e0 MK |
27 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64\r |
28 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64\r | |
03e19e6b EC |
29 | #endif\r |
30 | #ifdef MDE_CPU_ARM\r | |
429309e0 MK |
31 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH32\r |
32 | #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH32\r | |
03e19e6b EC |
33 | #endif\r |
34 | \r | |
429309e0 MK |
35 | #define SPM_MAJOR_VERSION_FFA 1\r |
36 | #define SPM_MINOR_VERSION_FFA 0\r | |
799c07ca | 37 | \r |
429309e0 MK |
38 | #define ARM_FFA_SPM_RET_SUCCESS 0\r |
39 | #define ARM_FFA_SPM_RET_NOT_SUPPORTED -1\r | |
40 | #define ARM_FFA_SPM_RET_INVALID_PARAMETERS -2\r | |
41 | #define ARM_FFA_SPM_RET_NO_MEMORY -3\r | |
42 | #define ARM_FFA_SPM_RET_BUSY -4\r | |
43 | #define ARM_FFA_SPM_RET_INTERRUPTED -5\r | |
44 | #define ARM_FFA_SPM_RET_DENIED -6\r | |
45 | #define ARM_FFA_SPM_RET_RETRY -7\r | |
46 | #define ARM_FFA_SPM_RET_ABORTED -8\r | |
0e43e02b AG |
47 | \r |
48 | // For now, the destination id to be used in the FF-A calls\r | |
49 | // is being hard-coded. Subsequently, support will be added\r | |
50 | // to get the endpoint id's dynamically\r | |
51 | // This is the endpoint id used by the optee os's implementation\r | |
52 | // of the spmc.\r | |
53 | // https://github.com/OP-TEE/optee_os/blob/master/core/arch/arm/kernel/stmm_sp.c#L66\r | |
429309e0 | 54 | #define ARM_FFA_DESTINATION_ENDPOINT_ID 3\r |
0e43e02b | 55 | \r |
37ef4bb1 | 56 | #endif // ARM_FFA_SVC_H_\r |