summaryrefslogtreecommitdiffstats
path: root/ArmPkg
diff options
context:
space:
mode:
authorLevi Yun <yeoreum.yun@arm.com>2024-08-05 17:36:10 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-01-17 14:55:42 +0000
commit843f4fd60d0299412ac81900e09888ca2add70e7 (patch)
tree66d51830dbef3bf854ef2fac93a542d3cf47b897 /ArmPkg
parent79875fdde011735a8fe25823ef3f3b99cac49885 (diff)
downloadedk2-843f4fd60d0299412ac81900e09888ca2add70e7.tar.gz
ArmPkg: Add FF-A related dynamic Pcd and Guid
To communicate with spmc or spmd, UEFI needs to map the Rx/Tx buffer (which is a global resource in a partition) by getting the required information from the partition descriptor. for this, Define ArmFfaLib related Pcd and Guid. Pcd: - PcdFfaLibConduitSmc conudit to use ArmFfaLib. - PcdFfaTxBufeer address of Tx buffer. - PcdFfaRxBuffer: address of Rx buffer. - PcdTxRxPageCount: specify buffer size with EFI_PAGE_SIZE unit. - PcdFfaExitBootEventRegistered: check exit boot event registered to unmap rx/tx buffer. Guid: - gArmFfaRxTxBufferInfoGuid: This is used in Hob to get Rx/Tx buffer information to pass Rx/Tx buffer information via HobList if Rx/Tx Buffer mapped in PEI phase. Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Diffstat (limited to 'ArmPkg')
-rw-r--r--ArmPkg/ArmPkg.dec12
1 files changed, 12 insertions, 0 deletions
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
index 112187fc46..67afd5953f 100644
--- a/ArmPkg/ArmPkg.dec
+++ b/ArmPkg/ArmPkg.dec
@@ -107,6 +107,8 @@
gArmMmuReplaceLiveTranslationEntryFuncGuid = { 0xa8b50ff3, 0x08ec, 0x4dd3, {0xbf, 0x04, 0x28, 0xbf, 0x71, 0x75, 0xc7, 0x4a} }
+ gArmFfaRxTxBufferInfoGuid = { 0x96fd3d26, 0x6fb1, 0x11ef, { 0x8c, 0x11, 0xf3, 0xc9, 0xc5, 0x02, 0x31, 0xab } }
+
[Protocols.common]
## Arm System Control and Management Interface(SCMI) Base protocol
## ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h
@@ -318,6 +320,12 @@
gArmTokenSpaceGuid.PcdSystemBiosRelease|0xFFFF|UINT16|0x30000058
gArmTokenSpaceGuid.PcdEmbeddedControllerFirmwareRelease|0xFFFF|UINT16|0x30000059
+ #
+ # Define the conduit to use ArmFfalib.
+ # Default PcdFfaLibConduitSmc == TRUE, conduit = SMC
+ # If PcdFfaLibConduitSvc == FALSE, conduit = SVC
+ gArmTokenSpaceGuid.PcdFfaLibConduitSmc|TRUE|BOOLEAN|0x00000063
+
[PcdsFixedAtBuild.common, PcdsDynamic.common]
# ARM Architectural Timer Interrupt(GIC PPI) numbers
gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|29|UINT32|0x00000035
@@ -408,3 +416,7 @@
# the LinuxBoot payload.
#
gArmTokenSpaceGuid.PcdLinuxBootFileGuid|{0x0}|VOID*|0x0000005C
+ gArmTokenSpaceGuid.PcdFfaTxBuffer|0x00|UINT64|0x0000005F
+ gArmTokenSpaceGuid.PcdFfaRxBuffer|0x00|UINT64|0x00000060
+ gArmTokenSpaceGuid.PcdFfaTxRxPageCount|1|UINT64|0x00000061
+ gArmTokenSpaceGuid.PcdFfaExitBootEventRegistered|FALSE|BOOLEAN|0x00000062