Skip to content

patina-v18.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Dec 22:45
· 403 commits to refs/heads/main since this release
0db359b

What's Changed

  • [REBASE\&FF] Log bad components rather than panic @Javagedes (#1153)
    Change Details
      ## Description

    This change updates the logic of component initialization to track a component that failed to initialize, and log it towards the end of boot, rather than panic on debug builds or possibly have UB on release builds.

    Example output:

    INFO - WARN - Components not dispatched:
    INFO - WARN - ------------------------------- -------------------------------------------------
    INFO - WARN - name                            error message
    INFO - WARN - qemu_q35_dxe_core::BadComponent ConflictingParam Param Conflicts with everything.
    

    Note: While tests still need to be written, this is ready for review.

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

    How This Was Tested

    1. CI passes
    2. Created a test parameter that alwys fails to initialize. Ensured it was logged during boot
    3. Q35 continues to boot.

    Integration Instructions

    N/A




🚀 Features & ✨ Enhancements

  • [REBASE \& FF] Implement reloading the core through the debugger @cfernald (#1157)
    Change Details
      ## Description

    patina_dxe_core: Add support for reloading the core from the debugger

    This commit implements a new feature that allows the Patina core to be
    reloaded from the debugger without needing a full system reboot or reflash.
    This is particularly useful for development and debugging, as it enables
    rapid iteration on core changes. This feature is intended to be coordinated
    from the UefiExt debugger extension. This feature is experimental and
    is likely to evolve and change.

    patina_debugger: Send nack packet on debugger reset

    When a error occurs, it may because a packet was a packet was corrupted
    or partially received. In this case, it is better to send a NACK packet
    to the host to request a retransmission, rather than sending a stop code.

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

    How This Was Tested

    • Q35
    • SBSA
    • Intel Platform

    Integration Instructions

    Platforms may add the debugger_reload feature from patina_dxe_core to enable this feature.

      </blockquote>
      <hr>
    </details>
    
  • patina\_debugger: Implement single register access @cfernald (#1151)
    Change Details
      ## Description

    Implement the single register read and write functionality for the debugger target. Windbg uses the P<index:value> packets for write altered register instead of sending the full register context every time.

    This resolves an issue where register edits appear to work, until the resume where the edits are lost.

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

    How This Was Tested

    Tested on Q35 & SBSA

    Integration Instructions

    N/A

      </blockquote>
      <hr>
    </details>
    

📖 Documentation Updates

  • [REBASE \& FF] Implement reloading the core through the debugger @cfernald (#1157)
    Change Details
      ## Description

    patina_dxe_core: Add support for reloading the core from the debugger

    This commit implements a new feature that allows the Patina core to be
    reloaded from the debugger without needing a full system reboot or reflash.
    This is particularly useful for development and debugging, as it enables
    rapid iteration on core changes. This feature is intended to be coordinated
    from the UefiExt debugger extension. This feature is experimental and
    is likely to evolve and change.

    patina_debugger: Send nack packet on debugger reset

    When a error occurs, it may because a packet was a packet was corrupted
    or partially received. In this case, it is better to send a NACK packet
    to the host to request a retransmission, rather than sending a stop code.

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

    How This Was Tested

    • Q35
    • SBSA
    • Intel Platform

    Integration Instructions

    Platforms may add the debugger_reload feature from patina_dxe_core to enable this feature.

      </blockquote>
      <hr>
    </details>
    

Full Changelog: patina-v18.0.0...v18.1.0