On 5/2/2024 7:28 PM, Nhi Pham via groups.io wrote:
On 5/2/2024 4:31 AM, Oliver Smith-Denny via groups.io wrote:
Hi folks, returning to this thread because I noticed that HOB
creation still exists in StandaloneMmCore for ARM:
https://github.com/tianocore/edk2/blob/5d4c5253e8bbc0baa8837fcd868925212df85201/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c
As far as I can tell, there is only this one file that creates 6
HOBs from StandaloneMmCore. Per our earlier discussion that led to
disabling HOB creation in StandaloneMm, I think that this falls into
the case where StandaloneMm is a HOB consumer phase, not a producer
phase and so it should not be creating these HOBs. On the x64 side,
all of the StandaloneMm HOB creation functions ASSERT with the
comment that StandaloneMm is a HOB consumer phase and should not
be creating HOBs.
The HOB creation in StandaloneMmCoreEntryPoint is exclusively consumed
by the MM_CORE_STANDALONE module
(StandaloneMmPkg/Core/StandaloneMmCore.inf), not a MM_STANDALONE module.
Per my understanding earlier, the MM_CORE_STANDALONE is a producer and
other MM_STANDALONE modules are consumers. So we removed the HOB
creation in the StandaloneMmHobLib which is consumed by MM_STANDALONE
modules.
Also, we still retain the HOB creation in the
StandaloneMmPkg/Library/StandaloneMmCoreHobLib library instance.
The PI spec is light on details on HOBs in Standalone MM, but it is
clear that there are HOB producer phases and HOB consumer phases.
Pre-Standalone MM, the HOB producer phase was PEI and the HOB
consumer phase was DXE/SMM. In the Standalone MM world, it still
follows that a boot phase is either a HOB consumer or a HOB
producer. Currently, Standalone MM is both, regardless that it is
the core that is producing the HOBs.
I think that Levi's work to remove HOB creation in Standalone MM
and move it to TF-A is the right move here.
Thanks,
Oliver
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118556): https://edk2.groups.io/g/devel/message/118556
Mute This Topic: https://groups.io/mt/103018869/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-