8b6f8ff254
Converts line endings in the following packages:
* AdvLoggerPkg: Fix line endings (LF to CRLF)
* DfciPkg: Fix line endings (LF to CRLF)
* HidPkg: Fix line endings (LF to CRLF)
* MfciPkg: Fix line endings (LF to CRLF)
* MsCorePkg: Fix line endings (LF to CRLF)
* MsGraphicsPkg: Fix line endings (LF to CRLF)
* MsWheaPkg: Fix line endings (LF to CRLF)
* PcBdsPkg: Fix line endings (LF to CRLF)
* UefiTestingPkg: Fix line endings (LF to CRLF)
* XmlSupportPkg: Fix line endings (LF to CRLF)
* ZeroTouchPkg: Fix line endings (LF to CRLF)
(cherry picked from commit
|
||
---|---|---|
.. | ||
CapsuleRuntimeDxe.c | ||
CapsuleRuntimeDxe.inf | ||
ReadMe.md |
ReadMe.md
CapsuleRuntimeDxe
Supports the UpdateCapsule and QueryCapsuleCapabilities runtime services. This driver does not apply capsules.
This driver uses a DXE protocol (gCapsuleServiceProtocolGuid) to provide these services. Once ExitBootServices has been signaled, the driver will always return EFI_UNSUPPORTED for both calls.
Why A Protocol
This is done for binary size reduction and library simplification.
Because this isn't a "true" runtime driver (it effectively becomes a NOP at runtime), libraries that would be leveraged by this runtime service would need to support runtime. This choice poses a challenge because this driver isn't a "true" runtime driver so many of the libraries need to support runtime dxe in name only. This nuance can cause problems if an attempt is made to use these libraries in a runtime driver.
Protocol Producer
Currently CapsuleServiceProtocolDxe is the primary producer of the gCapsuleServiceProtocolGuid protocol - there is additional documentation there, including a flow chart of the capsule update process.