As is his tradition, Nikolaj Schlej did a brief summary of the significant changes in UEFI v2.8 via tweets. I've embedded them below—browse through and you'll have a good summary of the changes in v2.8. Thanks again Nikolaj!
New chapter on serial device identification and a corresponding update of SERIAL_IO_PROTOCOL to include DeviceTypeGuid. pic.twitter.com/nAa8TBeNl9— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
Lots of additions related to REST and JSON: new EFI_REST_EX_PROTOCOL, a converter from JSON to C structures and back (EFI_REST_JSON_STRUCTURE), a new type of REST_STYLE_FORMSET that contains REST-configurable HII forms, JSON support for capsule update mechanism, etc. pic.twitter.com/ZAMQTU5JEp— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
Two new kinds of device paths: NVDIMM Namespace Device Path (for bootable NVDIMM devices) and REST Service Device Path. pic.twitter.com/f2Z0MQaWPI— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
New (but optional) way for an OS to request the firmware not to touch certain memory ranges after memory-preserving reset. Once implemented, capsule updates can use S3 sleep-resume instead of full reset, so they can get much faster on platforms with slow DXE phase (i.e. servers). pic.twitter.com/FccRxeRZY5— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
Two new memory attributes: Specific-Purpose ("dear OS, please don't put non-relocatable data or code in this range, it may be used for something by device or firmware later"), and CPU Crypto ("hardware memory encryption can be enabled for this range"). pic.twitter.com/iP2jM9fr7w— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
EFI Byte Code interpreter is finally made optional De Jure. De Facto it was used extremely rarely for multiple reasons, so it's only a surprise that it got optional now (and not 5 years ago).— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
A full new chapter on EFI Redfish service (for remote management) describing Redfish Discover Protocol and related things. pic.twitter.com/G4Oppbmlp2— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
Support for HTTPS host name validation with multiple flags that can be ORed together if needed. pic.twitter.com/ikuye2P2Qk— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
HII Question opcodes now require a default value, finally!— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
"33.2.5.8 Defaults
To ensure consistent behavior when a platform attempts to restore settings to defaults, each question op-code must have an active default setting."
"Set (*Attributes) when gRT->GetVariable() returns EFI_BUFFER_TOO_SMALL and Attributes is non-NULL". Another very welcome addition that should have been there since EFI 1.1. Less gRT->SetVariable() calls with uninitialized attributes, more order to the things, yay!— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
EFI FMP Capsules got a way to express dependencies between different payloads sent to the firmware. The DepEx is implemented similarly to PEI and DXE DepEx, but uses a different set of OpCodes. Will reduce the amount of resets needed to apply multiple dependent updates to one. pic.twitter.com/AmILUwPvhI— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
The very best change for the end: UEFI Runtime Services being optional and returning EFI_UNSUPPORTED after ExitBS are finally supported De Jure!— Nikolaj Schlej (@NikolajSchlej) April 6, 2019
This opens a way for in-spec UEFI FW with no OS-writable NVRAM, no Capsules, and no RT services in general. Zero-trace UEFI FW FTW! pic.twitter.com/974S6lsB1A
Post a Comment
Be sure to select an account profile (e.g. Google, OpenID, etc.) before typing your comment!