patina-v18.1.0
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
- CI passes
- Created a test parameter that alwys fails to initialize. Ensured it was logged during boot
- 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_reloadfeature frompatina_dxe_coreto 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_reloadfeature frompatina_dxe_coreto enable this feature.</blockquote> <hr> </details>
Full Changelog: patina-v18.0.0...v18.1.0