Skip to content

Commit 83209ed

Browse files
lizthegreyclaude
andcommitted
LX2160aCex7: Link VariableMmDependency into MmCommunicationOpteeDxe
VariableSmmRuntimeDxe registers a callback on gEfiSmmVariableProtocolGuid and only installs the Variable Arch Protocol when that signal fires. On x86, PiSmmIpl/StandaloneMmIpl bridges this protocol from SMM/MM to DXE. On ARM with OP-TEE StandaloneMm, no such bridge exists. VariableMmDependency is a DXE NULL library whose constructor installs gEfiSmmVariableProtocolGuid and gSmmVariableWriteGuid as stub signal protocols on the DXE side. Upstream ARM platforms (VExpress-FVP, Juno) and OVMF link it into their MM Communication driver for exactly this reason. Without this, VariableSmmRuntimeDxe loads but never installs Variable Arch Protocol, causing DxeCore to ASSERT at BdsEntry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2e67b4c commit 83209ed

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

Platform/SolidRun/LX2160aCex7/LX2160aCex7.dsc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,10 @@
243243
# Architectural Protocols
244244
#
245245
!if $(SECURE_BOOT_ENABLE) == TRUE
246-
ArmPkg/Drivers/MmCommunicationOpteeDxe/MmCommunication.inf
246+
ArmPkg/Drivers/MmCommunicationOpteeDxe/MmCommunication.inf {
247+
<LibraryClasses>
248+
NULL|StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
249+
}
247250
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf {
248251
<LibraryClasses>
249252
MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf

0 commit comments

Comments
 (0)