|
7 | 7 | //! important UEFI concepts. For more details of UEFI, see the latest [UEFI
|
8 | 8 | //! Specification][spec].
|
9 | 9 | //!
|
10 |
| -//! # Interaction with uefi services |
| 10 | +//! # Value-add and Use Cases |
11 | 11 | //!
|
12 |
| -//! With this crate you can write code for the pre- and post-exit boot services |
13 |
| -//! epochs. However, the `uefi` crate unfolds its true potential when |
14 |
| -//! interacting with UEFI boot services. |
| 12 | +//! `uefi` supports writing code for both pre- and post-exit boot services |
| 13 | +//! epochs, but its true strength shines when you create UEFI images that heavily |
| 14 | +//! interact with UEFI boot services. Still, you have the flexibility to just |
| 15 | +//! integrate selected types and abstractions into your project, for example to |
| 16 | +//! parse the UEFI memory map. |
15 | 17 | //!
|
16 |
| -//! ## Supported Architectures |
| 18 | +//! _Note that for producing UEFI images, you also need to use a corresponding |
| 19 | +//! `uefi` compiler target of Rust, such as `x86_64-unknown-uefi`._ |
| 20 | +//! |
| 21 | +//! ## Example Use Cases |
| 22 | +//! |
| 23 | +//! This library significantly simplifies the process of creating **UEFI images** |
| 24 | +//! by abstracting away much of the UEFI API complexity and by providing |
| 25 | +//! convenient wrappers. When we mention UEFI images, we are talking about UEFI |
| 26 | +//! applications, UEFI boot service drivers, and EFI runtime service drivers, |
| 27 | +//! which typically have the `.efi` file extension. For instance, an UEFI |
| 28 | +//! application could be an OS-specific loader, similar to _GRUB_ or _Limine_. |
| 29 | +//! |
| 30 | +//! Additionally, you can use this crate in non-UEFI images (such as a kernel |
| 31 | +//! in ELF format) to perform tasks like parsing the UEFI memory map embedded in |
| 32 | +//! the boot information provided by a bootloader. It also enables access to |
| 33 | +//! UEFI runtime services from a non-UEFI image kernel. |
| 34 | +//! |
| 35 | +//! # Supported Compiler Versions and Architectures |
| 36 | +//! |
| 37 | +//! `uefi` works with stable Rust, but additional nightly-only features are |
| 38 | +//! gated behind the `unstable` Cargo feature. Please find more information |
| 39 | +//! about additional crate features below. |
17 | 40 | //!
|
18 | 41 | //! `uefi` is compatible with all platforms that both the Rust compiler and
|
19 | 42 | //! UEFI support, such as `i686`, `x86_64`, and `aarch64`. Please note that we
|
20 | 43 | //! can't test all possible hardware/firmware/platform combinations in CI.
|
21 | 44 | //!
|
| 45 | +//! ## MSRV |
| 46 | +//! <!-- Keep in Sync with README! --> |
| 47 | +//! |
| 48 | +//! The minimum supported Rust version is currently 1.70. |
| 49 | +//! Our policy is to support at least the past two stable releases. |
| 50 | +//! |
22 | 51 | //! # Crate organisation
|
23 | 52 | //!
|
24 | 53 | //! The top-level module contains some of the most used types and macros,
|
|
86 | 115 | //! Contributions in the form of a PR are also highly welcome. Check our
|
87 | 116 | //! [contributing guide][contributing] for details.
|
88 | 117 | //!
|
89 |
| -//! # MSRV |
90 |
| -//! <!-- Keep in Sync with README! --> |
91 |
| -//! |
92 |
| -//! The minimum supported Rust version is currently 1.70. |
93 |
| -//! Our policy is to support at least the past two stable releases. |
94 |
| -//! |
95 | 118 | //! # License
|
96 | 119 | //! <!-- Keep in Sync with README! -->
|
97 | 120 | //!
|
|
101 | 124 | //!
|
102 | 125 | //! The full text of the license is available in the [license file][LICENSE].
|
103 | 126 | //!
|
| 127 | +//! # Terminology |
| 128 | +//! |
| 129 | +//! Both "EFI" and "UEFI" can be used interchangeably, such as "UEFI image" or |
| 130 | +//! "EFI image". We prefer "UEFI" in our crate and its documentation. |
| 131 | +//! |
104 | 132 | //! [LICENSE]: https://github.com/rust-osdev/uefi-rs/blob/main/uefi/LICENSE
|
105 | 133 | //! [Rust UEFI Book]: https://rust-osdev.github.io/uefi-rs/HEAD/
|
106 | 134 | //! [UEFI]: https://uefi.org/
|
|
0 commit comments