microsoft/mu_feature_mm_supv v21.0.0
microsoft/mu_feature_mm_supv
Captured source
source ↗v21.0.0
Repository: microsoft/mu_feature_mm_supv
Tag: v21.0.0
Published: 2025-12-19T22:16:00Z
Prerelease: no
Release notes:
What's Changed
MmSupervisorPkg/SeaPkg: Remove gMmSupervisorCommunicationRegionTableGuid @kuqin12 (#591)
Change Details
Description
With the removal of MM core private data, the current module no longer produces gMmSupervisorCommunicationRegionTableGuid configuration table.
This change removed the dependencies on such table from the test applications and instead grab it through the supervisor protocol.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [x] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested with QEMU Q35.
Integration Instructions
N/A
SeaPkg: GenSeaArtifacts: Update scroll versions @kuqin12 (#594)
Change Details
Description
This change updates the scroll versions inside the Cargo.toml files for both test_aux and gen_manifest.
This is to be consistent with the scroll version specified in other modules.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on the platform and fixed the build break.
Integration Instructions
N/A
Replace all __FUNCTION__ with __func__ @kuqin12 (#582)
Change Details
Description
EDK2 started to use __FUNCTION__ for the entire codebase.
This change is created to follow the same scheme, paving the way for incoming code to use __func__ consistently.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
Macro rename, not functional change.
Integration Instructions
N/A
Rename MM Unblock data hob GUID to be supervisor centric @kuqin12 (#583)
Change Details
Description
This change is made because the EDK2 used exactly the same GUID name as ours and the StandaloneMmIplPei is trying to parse the GUID and mark it as accessible data.
This change renamed the data hob GUID to avoid such collision and paves way for adopting StandaloneMmIplPei.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on QEMU Q35 platform and booted to UEFI shell.
Integration Instructions
N/A
Remove custom definition of MmDispatch and their usages @kuqin12 (#579)
Change Details
Description
MmDispatch.h is supposed to be a temporary workaround. This change removes it and switch to return EFI_STATUS directly, which follows the implementation of StandaloneMmIplPei from edk2.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on QEMU Q35 and booted to UEFI shell.
Integration Instructions
N/A.
⚠️ Breaking Changes
[Rebase \& FF] SeaPkg: Decouple from MU\_TIANO\_PLUS and MU\_PLUS usage @kuqin12 (#593)
Change Details
Description
Ever since we moved away from the TPM dependent implementation, the SecurityPkg dependency is no longer needed.
In addition, the UefiTestingPkg is not needed from SeaPkg. So such package dependency should be cleaned up as well.
This change removes all the references to create a cleaner package layout.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- [ ] Impacts functionality?
- [ ] Impacts security?
- [x] Breaking change?
- [ ] Includes tests?
- [x] Includes documentation?
How This Was Tested
This was tested on hardware physical platform and QEMU Q35.
Integration Instructions
Replace the HashLib|SeaPkg/Library/HashLibTpm2Raw/HashLibTpm2Raw.inf with HashLibRaw|SeaPkg/Library/HashLibRaw/HashLibRaw.inf from platform DSC file.
🚀 Features & ✨ Enhancements
Skip AP validation if the registers matches BSP @kuqin12 (#588)
Change Details
Description
This change intends to resolve a performance issue where the current flow runs validation on all cores.
The change moves the validation to BSP routine only and APs will go over the register validation only and verify if the supervisor base addresses are consistent across all cores.
- [x] Impacts functionality?
- [x] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on QEMU Q35 shell based application.
Integration Instructions
N/A
🐛 Bug Fixes
MmSupervisorPkg: DxeMmSupervisorVersionPublicationLib: Fix buffer size @kuqin12 (#592)
Change Details
Description
The current implementation did not populate the message length properly. With the hardened MMI entrypoint, this is caught by the supervisor core and caused some asserts.
This change fixed the size calculation for supervisor version querying.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?
How This Was Tested
This was tested on physical hardware and no longer break the boot process.
Integration Instructions
N/A
Fixing failing unit test for not populating correct MessageLength @kuqin12 (#580)
Change Details
Description
This change fixes a bug in the unit test where the MessageLength for the corresponding MMI request is not being properly populated, causing the test case to fail on the pipeline.
- [x] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [x] Includes tests?
- [ ] Includes documentation?
How This Was Tested
The test passed on QEMU Q35 platform.
Integration Instructions
N/A
🔐 Security Impacting
Skip AP validation if the registers matches BSP @kuqin12 (#588)
Change Details
Description
This change intends to resolve a performance issue where the current flow runs validation on all cores.
The change moves the validation to BSP routine only and APs will go over the register validation only and verify if the supervisor base addresses...
Excerpt shown — open the source for the full document.