From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.1268.1689086239923198865 for ; Tue, 11 Jul 2023 07:37:20 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: nishant.sharma@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CA24F2F4; Tue, 11 Jul 2023 07:38:01 -0700 (PDT) Received: from usa.arm.com (iss-desktop02.cambridge.arm.com [10.1.196.79]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AC6E83F740; Tue, 11 Jul 2023 07:37:18 -0700 (PDT) From: "Nishant Sharma" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Thomas Abraham , Sayanta Pattanayak , Achin Gupta Subject: [edk2-platforms][PATCH V1 05/20] ArmPkg/ArmFfaSvc: Add helper macros and fids Date: Tue, 11 Jul 2023 15:36:43 +0100 Message-Id: <20230711143658.781597-6-nishant.sharma@arm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230711143658.781597-1-nishant.sharma@arm.com> References: <20230711143658.781597-1-nishant.sharma@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Achin Gupta Add new fid for Success, error and wait. Also add macro to generate FFA verions. Signed-off-by: Achin Gupta Signed-off-by: Nishant Sharma --- ArmPkg/Include/IndustryStandard/ArmFfaSvc.h | 21 +++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h b/ArmPkg/Include= /IndustryStandard/ArmFfaSvc.h index 54cc96598032..c80d783fad3f 100644 --- a/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h +++ b/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h @@ -21,6 +21,11 @@ #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH32 0x84000070 #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 0xC400006F #define ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64 0xC4000070 +#define ARM_SVC_ID_FFA_SUCCESS_AARCH32 0x84000061 +#define ARM_SVC_ID_FFA_SUCCESS_AARCH64 0xC4000061 +#define ARM_SVC_ID_FFA_ERROR_AARCH32 0x84000060 +#define ARM_SVC_ID_FFA_ERROR_AARCH64 0xC4000060 +#define ARM_SVC_ID_FFA_MSG_WAIT_AARCH32 0x8400006B =20 /* Generic IDs when using AArch32 or AArch64 execution state */ #ifdef MDE_CPU_AARCH64 @@ -35,7 +40,7 @@ #define SPM_MAJOR_VERSION_FFA 1 #define SPM_MINOR_VERSION_FFA 0 =20 -#define ARM_FFA_SPM_RET_SUCCESS 0 +#define ARM_FFA_SPM_RET_SUCCESS 0 #define ARM_FFA_SPM_RET_NOT_SUPPORTED -1 #define ARM_FFA_SPM_RET_INVALID_PARAMETERS -2 #define ARM_FFA_SPM_RET_NO_MEMORY -3 @@ -45,6 +50,20 @@ #define ARM_FFA_SPM_RET_RETRY -7 #define ARM_FFA_SPM_RET_ABORTED -8 =20 +// FF-A version helper macros +#define FFA_VERSION_MAJOR_SHIFT 16 +#define FFA_VERSION_MAJOR_MASK 0x7FFF +#define FFA_VERSION_MINOR_SHIFT 0 +#define FFA_VERSION_MINOR_MASK 0xFFFF +#define FFA_VERSION_BIT31_MASK (0x1u << 31) + +#define MAKE_FFA_VERSION(major, minor) \ + ((((major) & FFA_VERSION_MAJOR_MASK) << FFA_VERSION_MAJOR_SHIFT) | \ + (((minor) & FFA_VERSION_MINOR_MASK) << FFA_VERSION_MINOR_SHIFT)) + +#define FFA_VERSION_COMPILED MAKE_FFA_VERSION(SPM_MAJOR_VERSI= ON_FFA, \ + SPM_MINOR_VERSION_FFA) + // For now, the destination id to be used in the FF-A calls // is being hard-coded. Subsequently, support will be added // to get the endpoint id's dynamically --=20 2.34.1