]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/IndustryStandard/ArmFfaSvc.h
ArmPkg: Apply uncrustify changes
[mirror_edk2.git] / ArmPkg / Include / IndustryStandard / ArmFfaSvc.h
CommitLineData
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