microsoft/mu_feature_mm_supv v20.0.0
microsoft/mu_feature_mm_supv
Captured source
source ↗v20.0.0
Repository: microsoft/mu_feature_mm_supv
Tag: v20.0.0
Published: 2025-12-02T18:36:41Z
Prerelease: no
Release notes:
What's Changed
MmSupervisorPkg: BaseCpuLibSysCall Adding x86BaseCpuLib.c @apop5 (#557)
Change Details
Description
A platform was found to need the CpuId instructions in x86BaseCpuLib.
Adding the source file from BaseCpuLib to SysCall version.
The CpuId instructions are not Privileged instructions. Should have no effect on existing consumers.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Platform that needed the function would fail during link process due to missing calls. After adding, platform was able to build.
Integration Instructions
No integration necessary.
SeaPkg: ImageValidation: Make aux rule debugging easier @Javagedes (#560)
Change Details
Description
Adds a debug log message before each image validation rule runs that logs the offset of the symbol in the target image. This offset is directly indexable in the json file that gets generated with each aux.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
test-aux: Make it clear we are skipping some tests @Javagedes (#559)
Change Details
This update makes it clear when running the test-aux tool that the memory attribute tests are currently skipped as I have not implemented the page table functionality (if even possible). It does this by reporting skipped tests instead of quietly passing it.
Description
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Compiles
Integration Instructions
N/A
MmSupervisorPkg: Remove refactored code. @apop5 (#554)
Change Details
Description
When SeaPkg was merged, the code under Policy/* in MmSupervisorCore was moved into SecurePolicyLib. The code in MmSupervisorCore was missed for removal.
Prune the code since it was already consumed from the SecurePolicyLib.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Local CI after removal still compiled successfully.
Integration Instructions
No integration necessary.
Update MM Supervisor version to v19.002 @makubacki (#551)
Change Details
Description
Matches the current GitHub release version.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
- N/A
Integration Instructions
- N/A
⚠️ Breaking Changes
Remove MM\_CORE\_PRIVATE\_DATA @kuqin12 (#567)
Change Details
Description
EDK2 removes the definition of MM_CORE_PRIVATE_DATA structure a while back. Since then the deviation between our supervisor and EDK2 standalone MM grows further and further.
This change removes the dependency on MM_CORE_PRIVATE_DATA and moved to embrace the EDK2 implementation by using a slightly modified MM_COMM_BUFFER_STATUS structure from MdeModulePkg.
This change also consolidates the communication buffer setup routine, which will use the same data hob to initialize the communication buffer for user channel.
- [x] Impacts functionality?
- [ ] Impacts security?
- [x] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on QEMU Q35 and hardware x86 platform.
Integration Instructions
The platform will need to carry a few new modules with the given change:
StandaloneMmPkg/Drivers/MmCommunicationDxe/MmCommunicationDxe.inf Add corresponding SmmAccess2Dxe StandaloneMmHob is removed.
Remove Ring 0 instructions @kuqin12 (#542)
Change Details
Description
This is a change that removes knowing faulting instructions when the running code is in Ring 3.
The intention is to make sure the build time failure will prevent the #GP during runtime.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- [x] Impacts functionality?
- [x] Impacts security?
- [x] Breaking change?
- [ ] Includes tests?
- [x] Includes documentation?
How This Was Tested
This is being tested on QEMU Q35 platform.
Integration Instructions
N/A. If unresolved symbols are found, one needs to reach out to us to see what it takes to update the syscall interface.
🐛 Bug Fixes
Signal gEfiMmEndOfPeiProtocol into MM environment @kuqin12 (#578)
Change Details
Description
The current logic neither properly translate gEfiEndOfPeiSignalPpiGuid into gEfiMmEndOfPeiProtocol, nor register the corresponding MMI handler to signal the event to the rest of the user modules.
This change first added the translation logic into MmIplPei module, then a MMI handler is registered through Ring3 broker which will install a protocol as a signal to the entire user space.
The translation is done in MmIplPei specifically due to this is also done in StandaloneMmIplPei.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This change is tested on QEMU Q35 platform. During the test, MmEndOfPeiHandler print was observed and system booted to UEFI shell.
Integration Instructions
N/A
🔐 Security Impacting
Remove Ring 0 instructions @kuqin12 (#542)
Change Details
Description
This is a change that removes knowing faulting instructions when the running code is in Ring 3.
The intention is to make sure the build time failure will prevent the #GP during runtime.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- [x] Impacts functionality?
- [x] Impacts security?
- [x] Breaking change?
- [ ] Includes tests?
- [x] Includes documentation?
How This Was Tested
This is being tested on QEMU Q35 platform.
Integration Instructions
N/A. If unresolved symbols are found, one needs to reach out to us to see what it takes to update the syscall interface.
📖 Documentation Updates
Remove Ring 0 instructions @kuqin12 (#542)
Change Details
Description
This...
Excerpt shown — open the source for the full document.