From nobody Mon Feb 9 21:12:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+106796+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106796+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1689086241; cv=none; d=zohomail.com; s=zohoarc; b=KE0gz4YSatIO2iLcjNKBFJ9ClNrisiAwn+vRgN4UaEpGwY6XImbYmpONd2Lvoo4K/DTYqdPBhWjP+tdzX2TE2fAwuwvubJZFpXJO1bjjwKbOx3wi/6bhamcddhmx349aJIkEkewuf0haoXjfF596fT3QogUA10ouOSMe4dgODb0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1689086241; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=w4AkLcWlNr9LBKASb6qOU6JhPd1K/1uOOyCDnvwtw90=; b=b6VMhqX5tmmMbTKWOqRs3lH/uZsnZiVYMLF9ZYVerjvXHp6hgqL4bANrdhwdurAg8knIjXdP0x3gvj1upYvc3uhWVWY4GMFetieCJQoq5lSlFEPH/PoKAJyzUKDQ9BYawfo9EQzAHY8yI7JkYgS0MRZ+QyT+bT0D0GurRcOZpVk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+106796+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1689086241310963.9618750828702; Tue, 11 Jul 2023 07:37:21 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=V/aXS7/r7NOgWvCsmtEmUZRMEEjTZkellL6spfgrSlA=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-Received:X-Received:From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Unsubscribe:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:X-Gm-Message-State:Content-Transfer-Encoding; s=20140610; t=1689086239; v=1; b=KHFjAVdJi87QmvqJEIRmcnjYxG/mzhZ9YPOzLq1syXBiRB2pGZvIaAbAEL3klfb2+FeT+xM6 /dv9VcvuUcXcste6Hr9pdZPY3qr4q6oWzsWn6Lnr505nz6Xln9ECKVTkQqL3aKYZH475XVYis2k wj0rPEdaVcfGWlPqrCcIS3Yo= X-Received: by 127.0.0.2 with SMTP id TcjqYY1788612xedXeBUF4b9; Tue, 11 Jul 2023 07:37:19 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.1230.1689086238870353729 for ; Tue, 11 Jul 2023 07:37:19 -0700 X-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 B44381FB; Tue, 11 Jul 2023 07:38:00 -0700 (PDT) X-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 96B7E3F740; Tue, 11 Jul 2023 07:37:17 -0700 (PDT) From: "Nishant Sharma" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Thomas Abraham , Sayanta Pattanayak , Achin Gupta Subject: [edk2-devel] [edk2-platforms][PATCH V1 04/20] ArmPkg: Add data structures to receive FF-A boot information Date: Tue, 11 Jul 2023 15:36:42 +0100 Message-Id: <20230711143658.781597-5-nishant.sharma@arm.com> In-Reply-To: <20230711143658.781597-1-nishant.sharma@arm.com> References: <20230711143658.781597-1-nishant.sharma@arm.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nishant.sharma@arm.com X-Gm-Message-State: YhZqraPVvoaTSDOc2NFpssoYx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1689086242702100018 Content-Type: text/plain; charset="utf-8" From: Achin Gupta The SPMC will pass the manifest to the StMM SP which contains the boot information required for SP initialisation. This patch defines the data structures defined in Section 5.4 of the FF-A v1.1 BETA0 spec to enable this support. The manifest is identified by the TF-A UUID_TOS_FW_CONFIG. Signed-off-by: Achin Gupta Signed-off-by: Nishant Sharma --- ArmPkg/Include/IndustryStandard/ArmFfaSvc.h | 69 +++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h b/ArmPkg/Include/I= ndustryStandard/ArmFfaSvc.h index 4126a4985bb2..54cc96598032 100644 --- a/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h +++ b/ArmPkg/Include/IndustryStandard/ArmFfaSvc.h @@ -3,7 +3,7 @@ communication between S-EL0 and the Secure Partition Manager(SPM) =20 - Copyright (c) 2020, ARM Limited. All rights reserved. + Copyright (c) 2020 - 2023, ARM Limited. All rights reserved. =20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -53,4 +53,71 @@ // https://github.com/OP-TEE/optee_os/blob/master/core/arch/arm/kernel/stm= m_sp.c#L66 #define ARM_FFA_DESTINATION_ENDPOINT_ID 3 =20 +/*************************************************************************= ***** + * Boot information protocol as per the FF-A v1.1 spec. + *************************************************************************= ****/ +#define FFA_INIT_DESC_SIGNATURE 0x00000FFA + +/* Boot information type. */ +#define FFA_BOOT_INFO_TYPE_STD 0x0U +#define FFA_BOOT_INFO_TYPE_IMPL 0x1U + +#define FFA_BOOT_INFO_TYPE_MASK 0x1U +#define FFA_BOOT_INFO_TYPE_SHIFT 0x7U +#define FFA_BOOT_INFO_TYPE(type) \ + (((type) & FFA_BOOT_INFO_TYPE_MASK) \ + << FFA_BOOT_INFO_TYPE_SHIFT) + +/* Boot information identifier. */ +#define FFA_BOOT_INFO_TYPE_ID_FDT 0x0U +#define FFA_BOOT_INFO_TYPE_ID_HOB 0x1U + +#define FFA_BOOT_INFO_TYPE_ID_MASK 0x3FU +#define FFA_BOOT_INFO_TYPE_ID_SHIFT 0x0U +#define FFA_BOOT_INFO_TYPE_ID(type) \ + (((type) & FFA_BOOT_INFO_TYPE_ID_MASK) \ + << FFA_BOOT_INFO_TYPE_ID_SHIFT) + +/* Format of Flags Name field. */ +#define FFA_BOOT_INFO_FLAG_NAME_STRING 0x0U +#define FFA_BOOT_INFO_FLAG_NAME_UUID 0x1U + +#define FFA_BOOT_INFO_FLAG_NAME_MASK 0x3U +#define FFA_BOOT_INFO_FLAG_NAME_SHIFT 0x0U +#define FFA_BOOT_INFO_FLAG_NAME(type) \ + (((type) & FFA_BOOT_INFO_FLAG_NAME_MASK) \ + << FFA_BOOT_INFO_FLAG_NAME_SHIFT) + +/* Format of Flags Contents field. */ +#define FFA_BOOT_INFO_FLAG_CONTENT_ADR 0x0U +#define FFA_BOOT_INFO_FLAG_CONTENT_VAL 0x1U + +#define FFA_BOOT_INFO_FLAG_CONTENT_MASK 0x1U +#define FFA_BOOT_INFO_FLAG_CONTENT_SHIFT 0x2U +#define FFA_BOOT_INFO_FLAG_CONTENT(content) \ + (((content) & FFA_BOOT_INFO_FLAG_CONTENT_MASK) \ + << FFA_BOOT_INFO_FLAG_CONTENT_SHIFT) + +// Descriptor to pass boot information as per the FF-A v1.1 spec. +typedef struct { + UINT32 Name[4]; + UINT8 Type; + UINT8 Reserved; + UINT16 Flags; + UINT32 SizeBotInfo; + UINT64 Content; +} EFI_FFA_BOOT_INFO_DESC; + +// Descriptor that contains boot info blobs size, number of desc it cointa= ins +// size of each descriptor and offset to the first descriptor. +typedef struct { + UINT32 Magic; // 0xFFA^M + UINT32 Version; + UINT32 SizeBootInfoBlob; + UINT32 SizeBootInfoDesc; + UINT32 CountBootInfoDesc; + UINT32 OffsetBootInfoDesc; + UINT64 Reserved; +} EFI_FFA_BOOT_INFO_HEADER; + #endif // ARM_FFA_SVC_H_ --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106796): https://edk2.groups.io/g/devel/message/106796 Mute This Topic: https://groups.io/mt/100079874/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-