Skip to content

doc: move misc stuff from README to lib.rs [doc: 2/N] #1290

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 8 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,6 @@ This crate makes it easy to develop Rust software that leverages **safe**,

## Description

[UEFI] started as the successor firmware to the BIOS in x86 space and developed
to a universal firmware specification for various platforms, such as ARM. It
provides an early boot environment with a variety of [specified][spec]
ready-to-use "high-level" functionality, such as accessing disks or the network.
EFI images, the files that can be loaded by an UEFI environment, can leverage
these abstractions to extend the functionality in form of additional drivers,
OS-specific bootloaders, or different kind of low-level applications.

Our mission is to provide **safe** and **performant** wrappers for UEFI
interfaces, and allow developers to write idiomatic Rust code.

Expand All @@ -38,10 +30,6 @@ You can use the abstractions for example to:
- create OS-specific loaders and leverage UEFI boot service
- access UEFI runtime services from an OS

All crates are compatible with all platforms that both the Rust compiler and
UEFI support, such as `i686`, `x86_64`, and `aarch64`). Please note that we
can't test all possible hardware/firmware/platform combinations.

[UEFI]: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

![UEFI App running in QEMU](https://imgur.com/SFPSVuO.png)
Expand Down Expand Up @@ -128,11 +116,14 @@ most of the library's functionality.
Check out the testing project's [`README.md`](uefi-test-runner/README.md) for
prerequisites for running the tests.

## Contributing
## Discuss and Contribute

For general discussions, feel free to join us in our [Zulip] and ask
your questions there.

We welcome issues and pull requests! For instructions on how to set up a
development environment and how to add new protocols, check out
[CONTRIBUTING.md](CONTRIBUTING.md).
Further, you can submit bugs and also ask questions in our [issue tracker].
Contributions in the form of a PR are also highly welcome. Check our
[contributing guide](./CONTRIBUTING.md) for details.

## License

Expand All @@ -143,3 +134,4 @@ modifications to the files must be open-sourced.
The full text of the license is available in the [license file](LICENSE).

[UEFI]: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
[Zulip]: https://rust-osdev.zulipchat.com
35 changes: 32 additions & 3 deletions uefi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@
//! important UEFI concepts. For more details of UEFI, see the latest [UEFI
//! Specification][spec].
//!
//! Feel free to file bug reports and questions in our [issue tracker], and [PR
//! contributions][contributing] are also welcome!
//!
//! # Interaction with uefi services
//!
//! With this crate you can write code for the pre- and post-exit boot services
//! epochs. However, the `uefi` crate unfolds its true potential when
//! interacting with UEFI boot services.
//!
//! ## Supported Architectures
//!
//! `uefi` is compatible with all platforms that both the Rust compiler and
//! UEFI support, such as `i686`, `x86_64`, and `aarch64`. Please note that we
//! can't test all possible hardware/firmware/platform combinations in CI.
//!
//! # Crate organisation
//!
//! The top-level module contains some of the most used types and macros,
Expand Down Expand Up @@ -74,8 +77,34 @@
//! only unfold their potential when you invoke `uefi::helpers::init` as soon
//! as possible in your application.
//!
//! # Discuss and Contribute
//!
//! For general discussions, feel free to join us in our [Zulip] and ask
//! your questions there.
//!
//! Further, you can submit bugs and also ask questions in our [issue tracker].
//! Contributions in the form of a PR are also highly welcome. Check our
//! [contributing guide][contributing] for details.
//!
//! # MSRV
//! <!-- Keep in Sync with README! -->
//!
//! The minimum supported Rust version is currently 1.70.
//! Our policy is to support at least the past two stable releases.
//!
//! # License
//! <!-- Keep in Sync with README! -->
//!
//! The code in this repository is licensed under the Mozilla Public License 2.
//! This license allows you to use the crate in proprietary programs, but any
//! modifications to the files must be open-sourced.
//!
//! The full text of the license is available in the [license file][LICENSE].
//!
//! [LICENSE]: https://github.com/rust-osdev/uefi-rs/blob/main/uefi/LICENSE
//! [Rust UEFI Book]: https://rust-osdev.github.io/uefi-rs/HEAD/
//! [UEFI]: https://uefi.org/
//! [Zulip]: https://rust-osdev.zulipchat.com
//! [`BootServices`]: table::boot::BootServices
//! [`GlobalAlloc`]: alloc::alloc::GlobalAlloc
//! [`SystemTable`]: table::SystemTable
Expand Down