[edk2-devel] [edk2-platforms][PATCH V1 07/20] StandaloneMmPkg: define new data structure to stage FF-A boot information

Nishant Sharma posted 20 patches 2 years, 7 months ago
[edk2-devel] [edk2-platforms][PATCH V1 07/20] StandaloneMmPkg: define new data structure to stage FF-A boot information
Posted by Nishant Sharma 2 years, 7 months ago
From: Achin Gupta <achin.gupta@arm.com>

With FF-A v1.1, the SPMC sends a reduced amount of boot information as
compared to the original SPM implementation. For example, the stack layout,
MP information etc. This information could be accommodated in the old data
structure but this is too complicated. This patch defines a new structure
to clearly separate FF-A v1.1 and other functionality.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
---
 StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h | 21 ++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h b/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h
index 41bf0f132b4f..c965192c702e 100644
--- a/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h
+++ b/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h
@@ -47,6 +47,27 @@ typedef struct {
   EFI_SECURE_PARTITION_CPU_INFO    *CpuInfo;
 } EFI_SECURE_PARTITION_BOOT_INFO;
 
+
+/**
+  This structure is used to stage boot information required to initialize the
+  standalone MM environment when FF-A is used as the interface between this
+  secure partition and the SPMC. This structure supersedes
+  EFI_SECURE_PARTITION_BOOT_INFO and reduces the amount of information that must
+  be passed by the SPMC for SP initialization.
+**/
+typedef struct {
+  UINT64                        SpMemBase;
+  UINT64                        SpMemSize;
+  UINT64                        SpNsCommBufBase;
+  UINT64                        SpNsCommBufSize;
+  UINT64                        SpSharedBufBase;
+  UINT64                        SpSharedBufSize;
+  UINT64                        SpHeapBase;
+  UINT64                        SpHeapSize;
+  /* UP migrate-able FF-A SP requires awareness of only 1 cpu */
+  EFI_SECURE_PARTITION_CPU_INFO CpuInfo;
+} EFI_STMM_BOOT_INFO;
+
 typedef
 EFI_STATUS
 (*PI_MM_ARM_TF_CPU_DRIVER_ENTRYPOINT) (
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#106799): https://edk2.groups.io/g/devel/message/106799
Mute This Topic: https://groups.io/mt/100079879/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-