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.) need 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
that 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 |
| StandaloneMmUnblockMem |
MmSupervisorPkg/Drivers/StandaloneMmUnblockMem/StandaloneMmUnblockMem.inf |
MM DXE Libraries
| DXE Library |
Location |
| DxeMmSupervisorVersionPublicationLib |
MmSupervisorPkg/Library/DxeMmSupervisorVersionPublicationLib/DxeMmSupervisorVersionPublicationLib.inf |
| 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 |
| MmSupervisorRing3Performance |
MmSupervisorPkg/Drivers/MmSupervisorRing3Performance/MmSupervisorRing3Performance.inf |
| MmSupervisorErrorReport |
MmSupervisorPkg/Drivers/MmSupervisorErrorReport/MmSupervisorErrorReport.inf |
MM Standalone Core Libraries
| Library |
Location |
| MmSupervisorCoreInitLib |
MmSupervisorPkg/Library/BaseMmSupervisorCoreInitLibNull/BaseMmSupervisorCoreInitLibNull.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 |