gpt-disk-rs
- A developer contacted me to suggest changing the license from just
Apache-2.0 to Apache-2.0 or MIT. This improves compatibility with
GPLv2 and is in alignment with much of the Rust ecosystem. That change
has now been made and new versions of the crates have been
released. (Took me a few tries to get the license README links
correct, so ended up with a few extra dot releases of
uguid
, but should be all good now.)
uefi-rs
- Spent some time testing and reviewing a PR that adds support for a couple more disk protocols. The nonblocking stuff was a bit tricky.
- Finally put up a PR for
open_protocol_exclusive
, which I think will provide about the best interface possible for safely opening UEFI protocols given the limitations of the UEFI design. (I think ideally UEFI would have a reference count on open protocols, rather than just exclusive vs free-for-all, but that's outside the scope of what I think we can accomplish in uefi-rs.) - Put up a PR to
remove use of the unstable
try_trait_v2
feature. This has a small impact on the API, but I think removing it is the right thing to do to avoid potential future breakage on nightly due to theTry
API still being under discussion.
Rust
- Opened another
compiler_builtins
PR to fix some more UEFI intrinsics. For some reason the ABI intrinsics that convert from i128/u128 to f32/f64 are different depending on whether softfloat is enabled. - Opened a Rust PR to
update the
cc
crate to latest. That fixes some issues with compilingcompiler_builtins
for the UEFI targets. - Opened a Rust PR to
add documentation for the
no-std
target build option. Since https://github.com/rust-lang/rust/pull/99765 was merged this option isn't needed for UEFI anymore, but can hopefully help future people trying to build for new targets that don't supportstd
(until such time as https://github.com/rust-lang/rust/pull/99765 is fixed). - Opened a Rust PR to
update the
compiler_builtins
crate to latest. This will fix some (but not all) UEFI intrinsic ABI issues.