Skip to content

Software Components of the MM Supervisor

This section of documentation is focused on the software components of the MM Supervisor that are useful during platform integration.

The MM Supervisor provides a software implementation that installs the MM foundation for X64. In order to load MM Supervisor properly, certain software prerequisites (libraries, drivers, hobs, etc.) needs to be met, most of which are included in this package.

By including the proper software components, a platform can ensure the MM Supervisor features function as intended and the platform can meet Secured Core PC specification requirements. To enable an end-to-end Standalone MM based Secured Core solution, custom requirements may exist in adjacent UEFI firmware components.

For more general background about the steps necessary to integrate the MM Supervisor, please review the Platform Integration Steps.

MM Standalone Mode PEI Modules

PEI Module Location
StandaloneMmHob MmSupervisorPkg/Drivers/StandaloneMmHob/StandaloneMmHob.inf

MM PEI Libraries

PEI Library Location
MmSupervisorUnblockMemoryLib MmSupervisorPkg/Library/MmSupervisorUnblockMemoryLib/MmSupervisorUnblockMemoryLibPei.inf

MM Standalone Mode DXE Drivers

DXE Driver Location
PiSmmIpl MmSupervisorPkg/Drivers/StandaloneMmIpl/PiSmmIpl.inf
StandaloneMmUnblockMem MmSupervisorPkg/Drivers/StandaloneMmUnblockMem/StandaloneMmUnblockMem.inf

MM DXE Libraries

DXE Library Location
MmSupervisorUnblockMemoryLib MmSupervisorPkg/Library/MmSupervisorUnblockMemoryLib/MmSupervisorUnblockMemoryLibDxe.inf

MM Standalone Mode MM Core

MM Driver Location
MmSupervisorCore MmSupervisorPkg/Core/MmSupervisorCore.inf

MM Standalone Mode MM Drivers

MM Driver Location
MmSupervisorRing3Broker MmSupervisorPkg/Drivers/MmSupervisorRing3Broker/MmSupervisorRing3Broker.inf
MmSupervisorErrorReport MmSupervisorPkg/Drivers/MmSupervisorErrorReport/MmSupervisorErrorReport.inf

MM Standalone User Mode Libraries

These MM User Mode libraries are expected to be used as is and linked to other MM standalone drivers for standard functionality.

Library Location
BaseIoLibIntrinsic MmSupervisorPkg/Library/BaseIoLibIntrinsicSysCall/BaseIoLibIntrinsic.inf
BaseLib MmSupervisorPkg/Library/BaseLibSysCall/BaseLib.inf
StandaloneMmCommunicationLib MmSupervisorPkg/Library/StandaloneMmCommunicationLib/StandaloneMmCommunicationLib.inf
StandaloneMmDriverEntryPoint MmSupervisorPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
StandaloneMmHobLibSyscall MmSupervisorPkg/Library/StandaloneMmHobLibSyscall/StandaloneMmHobLibSyscall.inf
StandaloneMmMemMapLib MmSupervisorPkg/Library/StandaloneMmMemMapLib/StandaloneMmMemMapLib.inf
StandaloneMmServicesTableLib MmSupervisorPkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf
StandaloneMmSystemTableLib MmSupervisorPkg/Library/StandaloneMmSystemTableLib/StandaloneMmSystemTableLib.inf
SysCallLib MmSupervisorPkg/Library/SysCallLib/SysCallLib.inf