Skip to content

patina-v22.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Jun 17:33

What's Changed

🐛 Bug Fixes

  • dxe\_core: dispatcher: Don't Re-Extract FV Files with FV2/3 HOBs @os-d (#1562)
    Change Details
      ## Description

    FV2 and extracted FV3 HOBs are produced by the HOB producer phase to indicate to the HOB consumer phase that an FV is already extracted. Patina has been ignoring this and re-extracting FV files if an FV HOB exists for an FV that contains compressed child FVs. On some platforms this has been observed to add
    >1 second of boot time which is resolved by this change.

    This follows what edk2 does and does not re-process child FVs that already have FV2 or extracted FV3 HOBs for them.

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

    How This Was Tested

    Tested on an AARCH64 platform that was seeing a large perf delta between Patina and the C DXE Core. This change reduced overall boot time by 1.2 seconds. Tested on an Intel physical platform that did not have an FV produced for the parent FV of compressed child FVs, so there was no perf delta there.

    Integration Instructions

    N/A.




  • patina\_dxe\_core: fix CreateEvent and LoadImage UEFI conformance @Nir3613 (#1561)
    Change Details
      ## Summary Fixes two UEFI conformance failures found via SystemReady ACS (SCT) on AARCH64.

    CreateEvent (event_db.rs)

    EventDb::create_event only validated the event type on the non-runtime path (via Event::new). An illegal EVT_RUNTIME combination (e.g. EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE | EVT_NOTIFY_WAIT) was routed to the runtime path and accepted. Per the UEFI spec (CreateEvent), such types must return EFI_INVALID_PARAMETER. Validation is now performed before the runtime/non-runtime split.

    LoadImage (pi_dispatcher/image.rs)

    When both SourceBuffer and DevicePath are NULL, the implementation returned EFI_INVALID_PARAMETER. DevicePath is OPTIONAL (UEFI 2.11 7.4 / Mantis 2277); with nothing to load, LoadImage must return EFI_NOT_FOUND.

    Testing

    • Unit tests added/updated in both modules.
    • Validated on hardware with SystemReady ACS SCT (CreateEvent_Conf, CreateEventEx_Conf, LoadImage_Conf, LoadImage_Func): 19 failures -> 0.


Full Changelog: patina-v22.0.0...v22.0.1