There is a new fs module that provides a high-level API for file-system
access. The API is close to the std::fs module. The module also provides a
Path and a PathBuf abstraction that is similar to the ones from
std::path. However, they are adapted for UEFI.
Multiple convenience methods for CString16 and CStr16, including:
CStr16::as_slice()
CStr16::num_chars()
CStr16::is_empty()
CString16::new()
CString16::is_empty()
CString16::num_chars()
CString16::replace_char()
CString16::push()
CString16::push_str()
From<&CStr16> for CString16
From<&CStr16> for String
From<&CString16> for String
Added RuntimeServices::get_variable_boxed (requires the alloc feature).
Added CStr16::as_bytes
Added AsRef<[u8]> and Borrow<[u8]> for Cstr8 and CStr16.
Added LoadedImageDevicePath protocol.
Added FileAttribute::is_directory(&self) and
FileAttribute::is_regular_file(&self)
Added LoadedImage::code_type() and LoadedImage::data_type()
Allocator will now use the memory type of the running UEFI binary:
MemoryType::LOADER_DATA for UEFI applications
MemoryType::BOOT_SERVICES_DATA for UEFI boot drivers
MemoryType::RUNTIME_SERVICES_DATA for UEFI runtime drivers
Changed
The global_allocator module has been renamed to allocator, and is now
available regardless of whether the global_allocator feature is enabled. The
global_allocator feature now only controls whether allocator::Allocator is
set as Rust's global allocator.
Error::new and Error::from now panic if the status is SUCCESS.
Image::get_image_file_system now returns a fs::FileSystem instead of the
protocol.
CString16::default now always contains a null character.
Conversion from Status to Result has been reworked. The into_with,
into_with_val, and into_with_err methods have been removed from
Status. impl From<Status> for Result has also been removed. A new
StatusExt trait has been added that provides conversion methods to replace
the ones that have been removed. StatusExt has been added to the prelude.
The Guid struct and guid! macro implementations have been replaced with
re-exports from the uguid crate. The from_values
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps uefi from 0.14.0 to 0.21.0.
Changelog
Sourced from uefi's changelog.
... (truncated)
Commits
0965660
chore: Releasebb2f56b
uefi: Bump uefi-macros version148d438
chore: Releasee6803d7
allocator: Use appropriate memory types9dbdfe9
loaded_image: Provide getters for memory types816d39c
Merge pull request #803 from nicholasbishop/bishop-disable-debug-supp-aarch6494bd9aa
Disable multi-processor test on aarch64182bda4
Disable DebugSupport protocol test on aarch642f182bf
Merge pull request #802 from nicholasbishop/bishop-drop-dep37c953e
uefi-raw: Drop dep on uefi-macrosDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)