Skip to content

v2025110001.0.0

Choose a tag to compare

@mu-automation mu-automation released this 08 Jun 18:29
· 23 commits to refs/heads/release/202511 since this release
f7c042a

What's Changed

  • Migrate to R-EFI 6.0 @vineelko (#892)
    Change Details
      ## Description

    This PR consumed the major branch changes done in Patina as part of R-EFI 6.0 migration(release as version 22).

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    cargo make all

    Integration Instructions

    Will merge this once OpenDevicePartnership/patina#1548 is merged and patina release 22 is made.




  • UefiHidDxeV2: Add keystroke repeat functionality @joschock (#883)
    Change Details
      ## Description

    Implement keyboard repeat for held keys, matching the behavior of the
    legacy C HidKeyboardDxe driver:

    • 500ms initial delay before repeat begins

    • 20ms repeat rate (~50 keys/sec) while key is held

    • Modifier keys, toggle keys, and non-spacing (dead) keys are excluded

    • Last newly pressed repeatable key wins in multi-key reports

    • Timer cancelled on key release or keyboard reset

    • Impacts functionality?

    • Impacts security?

    • Breaking change?

    • Includes tests?

    • Includes documentation?

    How This Was Tested

    Included unit tests, tested on hardware at UEFI shell and confirmed expected repeat behavior.

    Integration Instructions

    None.




  • Fix missing UefiLib dependency in MfciPolicyParsingUnitTestApp @GiriMohanNaidu (#887)
    Change Details
      ## Description

    Added the missing UefiLib library class dependency to MfciPolicyParsingUnitTestApp.inf. The module uses UefiLib APIs but did not declare the dependency in its [LibraryClasses] section, causing build failures when the library was not implicitly pulled in by the platform DSC.
    The module uses AsciiPrint() from UefiLib but did not declare the dependency in its LibraryClasses section.

    • Impacts functionality? No — build fix only; no logic changes.
    • Impacts security?
    • Breaking change?
    • Includes tests? N/A — fixes the test app itself so it builds correctly.
    • Includes documentation?

    How This Was Tested

    Built MfciPkg/UnitTests/MfciPolicyParsingUnitTest/MfciPolicyParsingUnitTestApp.inf and confirmed the build completes without missing library errors.

    Integration Instructions

    N/A — consumers of MfciPkg do not need any changes; this only affects the unit test app build.

      </blockquote>
      <hr>
    </details>
    
  • Migrate mu\_plus from mu\_uefi\_boot\_services crate to patina crate @vineelko (#881)
    Change Details
      ## Description
    • mu_uefi_boot_services is not maintained and its functionality is moved into patina.
    • The mu_uefi_boot_services's crates.io point to non-existent repo.
    • This cleanup is needed to move mu_plus's r-efi dependency to 6.0

    Next, Once Patina is updated to r-efi 6.0 we can migrate mu_plus to patina vnext and r-efi to 6.0

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    cargo make all worked. Will be tested in internal repos once r-efi 6.0 migration is done.

    Integration Instructions

    NA




  • AdvLoggerPkg/AdvancedLoggerLib: Print to HW if logger info is not available @makubacki (#876)
    Change Details
      ## Description

    In the course of testing advanced logger changes with edk2 Standalone MM on OVMF, there was a change needed in MmPlatformHobProducerLibOvmf in OvmfPkg to account for gAdvancedLoggerHobGuid in the HOBs that are passed to the MM environment.

    Prior to this change, the system appeared to hang entering that environment:

    INFO - Loading PEIM at 0x00005B95000 EntryPoint=0x00005B95340 StandaloneMmIplPei.efi
    INFO - StandaloneMM IPL loading MM Core at MMRAM address 7FF0000
    INFO - MmCoreImageBase  - 0x0000000007FF0000
    INFO - MmCoreImageSize  - 0x0000000000010000
    INFO - StandaloneMM IPL calling Standalone MM Core at MMRAM address - 0x0000000007FF1000
    

    After the change, the issue is clearly printed to serial output: ("MmCore AdvancedLoggerGetLoggerInfo: Advanced Logger Hob not found")

    INFO - Loading PEIM at 0x00005B94000 EntryPoint=0x00005B94340 StandaloneMmIplPei.efi
    INFO - StandaloneMM IPL loading MM Core at MMRAM address 7FF0000
    INFO - MmCoreImageBase  - 0x0000000007FF0000
    INFO - MmCoreImageSize  - 0x0000000000010000
    INFO - StandaloneMM IPL calling Standalone MM Core at MMRAM address - 0x0000000007FF1000
    INFO - MmCore AdvancedLoggerGetLoggerInfo: Advanced Logger Hob not found
    INFO - MmMain - 0x5B11000
    INFO - MmramRangeCount - 0x4
    INFO - MmramRanges[0]: 0x0000000006000000 - 0x1000
    INFO - MmramRanges[1]: 0x0000000006001000 - 0xE000
    INFO - MmramRanges[2]: 0x000000000600F000 - 0x1FE1000
    INFO - MmramRanges[3]: 0x0000000007FF0000 - 0x10000
    INFO - MmInitializeMemoryServices
    INFO - MmAddMemoryRegion 2 : 0x000000000600F000 - 0x0000000001FE1000
    INFO - HobSize - 0x538
    INFO - MmHobStart - 0x7FEE810
    INFO - MmInstallConfigurationTable For HobList
    INFO - ASSERT [StandaloneMmCore] AdvancedLoggerLib.c(164): mLoggerInfo != ((void *) 0)
    

    This change allows writes to proceed to hardware output if enabled even if the logger info is not available, to make information such as this available for debugging purposes.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    • Test MM entry with and without gAdvancedLoggerHobGuid in the HOB list.

    Integration Instructions

    • N/A


⚠️ Breaking Changes

  • Delete HelloWorldRustDxe Component @vineelko (#882)
    Change Details
      ## Description

    HelloWorldRustDxe Component is currently being compiled for 32 bit causing PR gates to fail when dependent Rust packages do not compile(by design) for 32 bit. This PR deletes it completely.


    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    cargo make all

    Integration Instructions

    NA




🚀 Features & ✨ Enhancements

  • AdvancedLoggerPkg/MmCoreArm: Initialize LoggerInfo if not already set by earlier firmware phase @sureshkumarpMSFT (#886)
    Change Details
      ## Description

    In the MmCoreArm instance of AdvancedLoggerLib, AdvancedLoggerGetLoggerInfo() previously assumed that an earlier firmware phase (e.g. BL31 prior to StandaloneMM) had already initialized the ADVANCED_LOGGER_INFO header at PcdAdvancedLoggerBase. On ARM boot flows where StandaloneMM is the first phase to touch this buffer, the signature check in subsequent logger calls fails and no log records are written.

    This change adds a one-time, in-place initialization of the ADVANCED_LOGGER_INFO header inside AdvancedLoggerGetLoggerInfo() when the signature is not already valid:

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Verified on an ARM platform where no pre-StandaloneMM entity initializes the AdvancedLogger buffer

    Integration Instructions

    N/A




🐛 Bug Fixes

  • Fix SWM init retry when SRE is not ready @mikitl (#888)
    Change Details
      ## Description

    GopRegisteredCallback sets mGop when it finds GOP but exits early if SRE is not available yet. Because mGop remains set, the callback never retries on subsequent GOP notifications, so SWM never initializes.

    Reset mGop to NULL when SRE is not found so the callback can retry.

    • Impacts functionality?
    • Impacts security?
    • Breaking change?
    • Includes tests?
    • Includes documentation?

    How This Was Tested

    Tested on:

    • ARM64 platform with GPU driver that installs GOP during early display enumeration, before GopOverrideDxe and SRE have processed it
    • Verified SWM callback retries and completes Stage2 initialization after SRE becomes available
    • Confirmed Front Page and on-screen keyboard render correctly
    • Verified no regression when GOP and SRE appear simultaneously (standard boot path)

    Integration Instructions

    N/A




Full Changelog: v2025110000.0.4...v2025110001.0.0