ReleaseMicrosoftMicrosoftpublished Dec 19, 2025seen Jun 26

microsoft/mu_feature_mm_supv v21.0.0

microsoft/mu_feature_mm_supv

Open original ↗

Captured source

source ↗
published Dec 19, 2025seen Jun 26captured 2whttp 200method plain

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.