ReleaseMicrosoftMicrosoftpublished Dec 2, 2025seen Jun 26

microsoft/mu_feature_mm_supv v20.0.0

microsoft/mu_feature_mm_supv

Open original ↗

Captured source

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

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.