StandaloneMmPkg: Disable assert when gMmCommBufferHobGuid not found.

For AARCH64 using StandaloneMmPkg, gMmCommBufferHobGuid will not exist.
Aarch64 makes use of their own Root MmiHandler that will get the
communication buffer out of a separate buffer, and will call
MmiMange directly with the information.

For x64, where gMmCommBufferHobGuid is expected to be supplied
in the hob list passed to StandaloneCore, if the hob does not
exist, print out a debug message describing the failure scenario.

Its important to note that a mising gMmCommBufferHobGuid will
mean non-root MmiHandlers will not be dispatched in the x64
scenario, but that root MmiHandlers will still be dispatched.

Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
Co-authored-by: Aaron Pop <aaronpop@microsoft.com>
This commit is contained in:
Kun Qin 2025-03-05 15:25:59 -08:00 committed by mergify[bot]
parent f47d897f93
commit 015c4a37c3

View file

@ -446,8 +446,9 @@ MmCorePrepareCommunicationBuffer (
mInternalCommBufferCopy = NULL;
GuidHob = GetFirstGuidHob (&gMmCommBufferHobGuid);
ASSERT (GuidHob != NULL);
if (GuidHob == NULL) {
DEBUG ((DEBUG_ERROR, "Failed to find MM Communication Buffer HOB\n"));
DEBUG ((DEBUG_ERROR, "Only Root MMI Handlers will be supported!\n"));
return;
}