Nicholas Bishop
b578053269
Fix connect_controller to take a list for driver_image.
...
The parameter in `uefi-raw` was wrong. This parameter is supposed to be
a null-terminated array of handles. Changed it to `*const Handle`
accordingly.
This makes the `uefi` wrapper a little ugly, since the equivalent if
`&[Option<Handle>]`, and the user must ensure that the last element of
the slice is `None`. Fortunately this parameter is usually unused, and
the user can just pass in `&[]`, so the API ugliness should be OK.
2026-05-03 20:06:37 -04:00
Nicholas Bishop
91267caf71
Merge pull request #1934 from rust-osdev/timer-fixes
...
uefi: make TimerTrigger more pleasant to use
2026-04-26 20:22:13 +00:00
Nicholas Bishop
2ac78e4ad9
Merge pull request #1918 from rust-osdev/release-v0.37
...
release: uefi-raw-0.14.0, uefi-0.37
2026-03-23 01:23:16 +00:00
Nicholas Bishop
09f7b40003
Merge pull request #1915 from rust-osdev/var-to-cstr16
...
runtime: add `CStr16::from_bytes_with_nul` for UCS-2 strings in UEFI Variables
2026-03-23 00:35:39 +00:00
Nicholas Bishop
75076ac220
Replace a couple as casts with ptr::from_ref
2026-03-21 18:32:28 -04:00
Nicholas Bishop
3210a82c51
Merge pull request #1875 from rust-osdev/uefi-serial-improve-read-write
...
uefi: serial: add read_exact() and write_exact() + fix core::fmt::Write for Serial
2026-03-21 22:11:33 +00:00
Nicholas Bishop
093e2278e6
test-runner: rename cpy -> copy to make typos happy
2026-03-15 17:20:53 +01:00
Nicholas Bishop
1b06a3b613
Fix new clippy lints
2026-03-08 14:20:46 -04:00
Nicholas Bishop
e65277c012
Merge pull request #1900 from rust-osdev/uefi-serial-improve-read-write-2
...
uefi: serial: improve documentation and correctness of read() and write()
2026-02-28 22:11:14 +00:00
Nicholas Bishop
756590206f
uefi: Add handle_protocol doc alias to open_protocol functions
2026-02-07 13:34:11 -05:00
Nicholas Bishop
1580a4ef88
uefi: Update doc for OpenProtocolParams::GetProtocol
...
Make it clear that this can be used by applications as well as
drivers. Also add safety docs.
2026-02-07 13:06:54 -05:00
Nicholas Bishop
aee9bf1d8c
uefi: Add warnings to OpenProtocolParams::Exclusive/ByDriverExclusive
2026-02-07 13:06:54 -05:00
Nicholas Bishop
9b8322d38e
uefi: Sort OpenProtocolAttributes variants numerically
2026-02-07 12:45:58 -05:00
Nicholas Bishop
2ed6563140
Merge pull request #1883 from rust-osdev/renovate/nix-0.x
...
fix(deps): update rust crate nix to 0.31.0
2026-01-26 04:45:26 +00:00
Nicholas Bishop
d8482d79a5
Merge pull request #1884 from rust-osdev/revert-1876-fix-ci
...
Revert "ci/fix: upgrade QEMU on windows"
2026-01-26 04:29:20 +00:00
Nicholas Bishop
98f0d5c33c
Revert "ci/fix: upgrade QEMU on windows"
2026-01-25 23:21:36 -05:00
Nicholas Bishop
c417fbc332
Merge pull request #1877 from rust-osdev/improve-handles-doc
...
uefi: boot: improve documentation for handles
2026-01-26 04:16:04 +00:00
Nicholas Bishop
2f10a86f29
Merge pull request #1874 from rust-osdev/uefi-serial-documentation
...
uefi: serial: improve overall documentation
2026-01-25 20:12:33 +00:00
Nicholas Bishop
a462287fb7
Merge pull request #1872 from rust-osdev/uefi-raw-serial-fix-mutability
...
uefi-raw: serial: fix mutability
2026-01-25 20:08:34 +00:00
Nicholas Bishop
82007aac22
Merge pull request #1876 from rust-osdev/fix-ci
...
ci/fix: upgrade QEMU on windows
2026-01-25 20:04:05 +00:00
Nicholas Bishop
12310f0ee4
uefi: Use if-let chains
2026-01-21 13:23:33 -05:00
Nicholas Bishop
1363353804
uefi: Make additional functions const
2026-01-21 13:23:33 -05:00
Nicholas Bishop
f7862d0e41
uefi: Use is_multiple_of
2026-01-21 13:23:33 -05:00
Nicholas Bishop
13b80d0c5c
Bump MSRV to 1.88
2026-01-21 13:23:32 -05:00
Nicholas Bishop
3f8049ebca
xtask: Replace addr_of with raw pointer syntax
2026-01-20 15:21:16 -05:00
Nicholas Bishop
45116235d9
uefi: Replace addr_of_mut with raw pointer syntax
2026-01-20 15:21:16 -05:00
Nicholas Bishop
5e8c1b5c49
test-runner: Replace addr_of with raw pointer syntax
2026-01-20 15:21:16 -05:00
Nicholas Bishop
21db13ef35
Merge pull request #1857 from rust-osdev/doc
...
uefi: improve doc (add short glossary/important terms overview)
2026-01-19 19:00:44 +00:00
Nicholas Bishop
2f9eb49c78
Merge pull request #1860 from rust-osdev/flake-update
...
flake: update (Nix shell: rust 1.86 -> 1.92)
2026-01-05 05:16:47 +00:00
Nicholas Bishop
7fea06474d
Merge pull request #1850 from rust-osdev/http
...
uefi: http: fix integration test
2025-12-27 23:10:40 +00:00
Nicholas Bishop
8cbc3c0354
Merge pull request #1830 from seijikun/mr-pci-enumerate3
...
uefi: Refactor PciRootBridgeIo::enumerate() with tree-topology information
2025-12-12 03:50:58 +00:00
Nicholas Bishop
f97a483943
Merge pull request #1810 from rust-osdev/uefi-0.36.1
...
release: uefi-raw-0.13.0, uefi-0.36.1
2025-11-05 17:42:52 +00:00
Nicholas Bishop
d75faccd5d
Merge pull request #1809 from rymdbar/truthful-install-statement
...
book: Rephrase target installation
2025-11-03 19:15:20 +00:00
Nicholas Bishop
0042a3d497
Merge pull request #1811 from rust-osdev/clippy-fixes
...
clippy: latest nightly fixes
2025-11-03 00:05:12 +00:00
Nicholas Bishop
168c1aabcb
Merge pull request #1800 from rust-osdev/doc-dp-build
...
uefi: improve doc for device path construction
2025-10-30 13:32:53 +00:00
Nicholas Bishop
8651810a16
Merge pull request #1802 from rust-osdev/bishop-check-bool
...
xtask: Check uefi-raw for uses of the primitive bool type
2025-10-26 22:51:14 +00:00
Nicholas Bishop
ca63bac3e9
Merge branch 'main' into bishop-check-bool
2025-10-26 18:46:30 -04:00
Nicholas Bishop
0df17343d2
Merge pull request #1801 from rust-osdev/bishop-use-bool
...
uefi-raw: Replace remaining uses of bool with Boolean
2025-10-26 22:40:01 +00:00
Nicholas Bishop
22d4f6a4a3
Merge pull request #1795 from rust-osdev/release
...
release: uefi-raw-0.12.0, uefi-macros-0.19.0, uefi-0.36.0
2025-10-21 16:50:58 +00:00
Nicholas Bishop
4b7f5ba710
Merge pull request #1774 from rust-osdev/clippy-tightening-2
...
style: apply/fix more clippy lints (from cargo::nursery) (2/2)
2025-10-21 16:21:44 +00:00
Nicholas Bishop
77c57a63e5
Merge pull request #1794 from rust-osdev/followup
...
uefi: remove inconsistent println!
2025-10-21 16:21:19 +00:00
Nicholas Bishop
a8412db5f3
uefi: Wrap NmvePassThruProtocol in UnsafeCell
...
See abdd6c4ff8 ("uefi: Wrap AtaPassThruProtocol in UnsafeCell") for details on
why this change is needed.
2025-10-20 20:24:24 -04:00
Nicholas Bishop
5d034f0b1e
uefi: Wrap ScsiPassThruProtocol in UnsafeCell
...
See abdd6c4ff8 ("uefi: Wrap AtaPassThruProtocol in UnsafeCell") for details on
why this change is needed.
2025-10-20 20:23:47 -04:00
Nicholas Bishop
f2dfa4d0b3
Merge pull request #1782 from rust-osdev/bishop-ata-ub-fix-2
...
uefi: Wrap AtaPassThruProtocol in UnsafeCell
2025-10-21 00:09:18 +00:00
Nicholas Bishop
e762976933
Merge pull request #1781 from rust-osdev/core-net-2
...
uefi-raw: add unit test for typical high-level net API usage
2025-10-21 00:09:06 +00:00
Nicholas Bishop
a897b4a115
Merge pull request #1785 from rust-osdev/pxe-test
...
uefi: document udp_read of PXE protocol + improve test
2025-10-21 00:07:25 +00:00
Nicholas Bishop
abdd6c4ff8
uefi: Wrap AtaPassThruProtocol in UnsafeCell
...
The existing code had some potential UB; it created a mutable pointer from a
const reference and passed it across the FFI boundary. (Whether the pointee is
actually mutated depends on the firmware implementation.)
An `UnsafeCell` allows the interior data to be mutated through a const
reference. `AtaPassThru` now contains an `UnsafeCell<AtaPassThruProtocol>`,
which allows a mutable pointer to be created with less risk of UB. (Note that
it's still not allowed to create multiple mutable _references_ to the data, but
as long as only raw pointers are used, it should be OK.)
The `AtaDevice` and `AtaDeviceIterator` types have been adjusted to take a
reference to the `UnsafeCell`.
2025-10-12 14:57:20 -04:00
Nicholas Bishop
c49add99fd
Merge pull request #1778 from rust-osdev/core-net-v2-4
...
uefi-raw: net: add convenient into_* helpers
2025-10-08 22:55:07 +00:00
Nicholas Bishop
80f71fb116
Merge pull request #1771 from rust-osdev/renovate/codecov-codecov-action-5.x
...
chore(deps): update codecov/codecov-action action to v5.5.1
2025-10-01 21:15:22 +00:00
Nicholas Bishop
f20b2f735b
Merge pull request #1761 from rust-osdev/clippy-tightening
...
style: apply/fix more clippy lints (from cargo::nursery)
2025-10-01 18:56:06 +00:00
Nicholas Bishop
06c83b2eb3
Merge pull request #1773 from rust-osdev/fix-ci
...
ci: fix latest nightly issues
2025-10-01 18:13:11 +00:00
Nicholas Bishop
ab85092a74
Merge pull request #1764 from rust-osdev/doc-arguments
...
uefi: doc: Parameters -> Arguments
2025-09-14 23:02:39 +00:00
Nicholas Bishop
22ec0a1677
Merge pull request #1758 from rust-osdev/bugfix-mem-gop
...
uefi: memory safety fixes (UB!)
2025-09-14 22:52:41 +00:00
Nicholas Bishop
8a3ec8e0ce
Merge pull request #1759 from rust-osdev/doc-improv
...
style: cargo doc fixes and improvements
2025-09-12 20:54:23 +00:00
Nicholas Bishop
99c7ded1fd
Merge pull request #1760 from rust-osdev/clippy-misc-fixes
...
style: misc clippy fixes
2025-09-12 20:54:08 +00:00
Nicholas Bishop
ee26d747cc
test-runner: Add example of using the Input protocol
2025-09-03 14:20:12 -04:00
Nicholas Bishop
4576f5a0dc
Merge pull request #1751 from rust-osdev/doc2
...
uefi-raw: changelog update
2025-08-25 15:59:35 +00:00
Nicholas Bishop
020674e265
Merge pull request #1748 from rust-osdev/core-net-v3
...
uefi-raw: various small net improvements
2025-08-25 15:25:33 +00:00
Nicholas Bishop
1fc781b871
Merge pull request #1747 from rust-osdev/foobar
...
uefi-raw: move types to net module
2025-08-24 17:36:25 +00:00
Nicholas Bishop
577c1db3e7
Merge pull request #1745 from rust-osdev/renovate/actions-checkout-5.x
...
chore(deps): update actions/checkout action to v5
2025-08-18 20:50:28 +00:00
Nicholas Bishop
00478b2541
Merge pull request #1746 from rust-osdev/renovate/lock-file-maintenance
...
chore(deps): lock file maintenance
2025-08-18 20:40:37 +00:00
Nicholas Bishop
a288116532
Merge pull request #1740 from RenTrieu/enhancement/efi_shell_interface_cur_dir
...
EFI Shell Interface: CurDir Functions
2025-08-18 20:18:08 +00:00
Nicholas Bishop
c5bf934649
Merge pull request #1742 from rust-osdev/improve-cargo-xtask-v2
...
xtask: improved error output for "wrong" repr
2025-08-16 17:15:13 +00:00
Nicholas Bishop
2da288d2ac
Merge pull request #1719 from seijikun/mr-hii-database
...
Add (partial) safe protocol implementation for EFI_HII_DATABASE_PROTOCOL
2025-08-05 22:16:50 +00:00
Nicholas Bishop
7e0b8b3d5d
Use size_of/align_of from prelude
...
As of the 2024 edition, size_of/size_of_val/align_of/align_of_val are in the
prelude, so no need to import or use a fully qualified path.
2025-08-02 16:37:20 -04:00
Nicholas Bishop
d30f3c3103
Merge pull request #1732 from PelleKrab/uefi_raw_IoMmu
...
feat: `uefi-raw` IoMmu Protocol Impl
2025-07-31 22:40:02 +00:00
Nicholas Bishop
e3b654deed
Merge pull request #1731 from Jonathas-Conceicao/acpi_table_protocol
...
protocols: Add ACPI Table protocol
2025-07-29 19:49:39 +00:00
Nicholas Bishop
7779ab4d62
Merge pull request #1729 from rust-osdev/renovate/lock-file-maintenance
...
chore(deps): lock file maintenance
2025-07-24 20:24:46 +00:00
Nicholas Bishop
963217e9f5
Merge pull request #1684 from seijikun/mr-hiicfg
...
uefi: Add HiiKeywordHandler and HiiConfigAccess protocol
2025-07-06 21:15:13 +00:00
Nicholas Bishop
8049e5f53e
Merge pull request #1716 from rust-osdev/doc-links
...
doc: fix broken links
2025-07-06 18:05:18 +00:00
Nicholas Bishop
b760a3c29d
Merge pull request #1714 from rust-osdev/bishop-status-cleanup
...
uefi/test-runner: Remove `crate::` and `uefi::` prefix from Status
2025-06-29 17:34:17 +00:00
Nicholas Bishop
c3df136f73
uefi/test-runner: Remove crate:: and uefi:: prefix from Status
...
In many places, especially doc comments, `Status` was referred to as
`uefi::Status` or `crate::Status`. Consistently use `Status` instead, adding
imports as needed. Note that in cases where `Status` is only used in docstrings,
the `use` is gated by `#[cfg(doc)]`. (This avoids needing a bunch of manual
`Status::*` links in docstrings.)
This is mostly a mechanical find-replace change, except for adding imports where
needed.
2025-06-28 14:02:48 -04:00
Nicholas Bishop
e24491f9af
Revert "ci: Temporarily pin to older nightly"
...
This (partially) reverts commit bdd3650fab .
2025-06-19 15:48:17 -04:00
Nicholas Bishop
427689557f
xtask: Skip uefi-macros ui tests on the nightly toolchain
...
These tests are sensitive to compiler version, and sometimes the output on
nightly doesn't match the stable toolchain.
2025-06-19 15:48:15 -04:00
Nicholas Bishop
4b94bd67e6
uefi/test-runner: Fix mismatched-lifetime-syntaxes lints
2025-06-19 15:43:53 -04:00
Nicholas Bishop
5d233a5cb0
Merge pull request #1612 from rust-osdev/doc-devicepath
...
doc/uefi: improve Protocol documentation
2025-06-19 17:27:43 +00:00
Nicholas Bishop
fc0c76fc9c
Merge pull request #1683 from seijikun/mr-raw-hiicfg
...
uefi-raw: Add HII_CONFIG_ACCESS and CONFIG_KEYWORD_HANDLER protocol bindings
2025-06-13 04:34:38 +00:00
Nicholas Bishop
01b52b9bfe
xtask: Allow clippy::collapsible_if lint
...
Let-chains are being stabilized in 1.88, so this lint triggers on nightly. Since
current stable is 1.87, we can't change the code to fix this lint, and we also
can't use `expect` here. For now, the best solution is just to allow the lint.
2025-06-08 15:11:27 -04:00
Nicholas Bishop
a68b29c00d
uefi: Fix clippy::uninlined_format_args lint
2025-06-08 14:57:18 -04:00
Nicholas Bishop
18f5a61cdd
test-runner: Fix clippy::uninlined_format_args lint
2025-06-08 14:54:23 -04:00
Nicholas Bishop
fafc77bc9e
uefi: Fix clippy::unnecessary_unwrap lint
2025-06-08 14:33:48 -04:00
Nicholas Bishop
7355810e70
uefi: Fix mismatched_lifetime_syntaxes lint
2025-06-08 14:26:16 -04:00
Nicholas Bishop
43aee0840e
test-runner: Fix mismatched_lifetime_syntaxes lint
2025-06-08 14:26:16 -04:00
Nicholas Bishop
d339387e2a
xtask: Fix mismatched_lifetime_syntaxes lint in device_path_gen
2025-06-08 14:26:16 -04:00
Nicholas Bishop
ca957ae3f1
Merge pull request #1686 from diamant3/patch-1
...
fix typo `ctr16!` to `cstr16!`
2025-06-07 20:51:28 +00:00
Nicholas Bishop
580f3d8d5a
Merge pull request #1689 from rust-osdev/bishop-pin-nightly
...
ci: Temporarily pin to older nightly
2025-06-07 20:40:43 +00:00
Nicholas Bishop
bdd3650fab
ci: Temporarily pin to older nightly
...
There are a bunch of new lint errors that need to be addressed before we can
successfully build with latest nightly.
2025-06-07 16:33:51 -04:00
Nicholas Bishop
70a63b8924
Merge pull request #1621 from rust-osdev/snp-test
...
SNP Integration Test: Improve Clarity
2025-06-02 18:14:51 +00:00
Nicholas Bishop
462de06022
Merge pull request #1680 from RenTrieu/enhancement/efi_shell_protocol_uefi_raw
...
Updating Uefi Raw for EFI Shell Protocol
2025-06-02 17:56:45 +00:00
Nicholas Bishop
dab0752e39
Merge pull request #1674 from seijikun/mr-safe-pciroot
...
uefi: Add (partial) safe protocol implementation for PCI_ROOT_BRIDGE_IO_PROTOCOL
2025-05-29 19:23:40 +00:00
Nicholas Bishop
3ee16d388a
Merge pull request #1625 from JarlEvanson/usb-io
...
uefi: Add safe EFI_USB_IO_PROTOCOL bindings
2025-05-23 19:47:20 +00:00
Nicholas Bishop
dfce69bf3d
Merge pull request #1676 from rust-osdev/doc-feature-selection
...
doc: help with feature selection
2025-05-20 19:34:27 +00:00
Nicholas Bishop
bd4c6a8a84
Merge pull request #1677 from fox0/deprecated
...
uefi: deprecated since 0.36.0
2025-05-20 19:24:09 +00:00
Nicholas Bishop
b171db7ec4
Merge pull request #1640 from rust-osdev/cleanup
...
cleanup IPConfig2/Http Protocol
2025-05-19 20:18:30 +00:00
Nicholas Bishop
2e1df6a1a8
Merge pull request #1675 from rust-osdev/clippy
...
clippy: fix upcoming nightly lints
2025-05-19 19:55:26 +00:00
Nicholas Bishop
9b9e621263
Merge pull request #1641 from rust-osdev/doc-devicepath-v2
...
doc: streamline device path documentation between uefi-raw and uefi
2025-05-19 18:03:15 +00:00
Nicholas Bishop
6d8185f30b
Merge pull request #1658 from seijikun/mr-pciroot
...
uefi-raw: Add binding for EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
2025-05-19 15:44:24 +00:00
Nicholas Bishop
78e4342417
Merge pull request #1665 from rust-osdev/uefi-alloc-doc
...
doc: improved documentation for boot allocation functions
2025-05-19 15:22:00 +00:00
Nicholas Bishop
79b667f93f
Unpin uguid
2025-05-19 01:10:31 -04:00
Nicholas Bishop
b8ddf9981d
Merge pull request #1671 from rust-osdev/renovate/mbrman-0.x
...
fix(deps): update rust crate mbrman to 0.6.0
2025-05-18 23:24:18 +00:00