Skip to content

Commit aac67f9

Browse files
committed
doc: final streamlining of README files
Now, the README are the entry into the repository and guide the user to the actual documentation in lib.rs respectively on docs.rs.
1 parent f8f29b0 commit aac67f9

File tree

2 files changed

+24
-77
lines changed

2 files changed

+24
-77
lines changed

README.md

+15-56
Original file line numberDiff line numberDiff line change
@@ -11,73 +11,32 @@ This crate makes it easy to develop Rust software that leverages **safe**,
1111
![Build status](https://github.com/rust-osdev/uefi-rs/workflows/Rust/badge.svg)
1212
![Stars](https://img.shields.io/github/stars/rust-osdev/uefi-rs)
1313

14-
## Description
14+
## API and User Documentation
1515

16-
Our mission is to provide **safe** and **performant** wrappers for UEFI
17-
interfaces, and allow developers to write idiomatic Rust code.
18-
19-
This repository provides various crates:
20-
21-
- `uefi-raw`: Raw Rust UEFI bindings for basic structures and functions.
22-
- `uefi`: High-level wrapper around various low-level UEFI APIs. \
23-
Offers various optional features for typical Rust convenience, such as a
24-
Logger and an Allocator. (_This is what you are usually looking for!_)
25-
- `uefi-macros`: Helper macros. Used by `uefi`.
26-
27-
28-
You can use the abstractions for example to:
29-
30-
- create OS-specific loaders and leverage UEFI boot service
31-
- access UEFI runtime services from an OS
32-
33-
[UEFI]: https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
16+
The main contribution of this project is the `uefi` crate.
17+
Please refer to [docs.rs](https://docs.rs/uefi) for comprehensive documentation
18+
of the **latest stable release**. The latest not necessarily yet published
19+
documentation can be found in [`src/lib.rs`](./uefi/src/lib.rs), which can also
20+
be locally build by running `$ cargo xtask doc --open`.
3421

3522
![UEFI App running in QEMU](https://imgur.com/SFPSVuO.png)
3623
Screenshot of an application running in QEMU on an UEFI firmware that leverages
3724
our Rust library.
3825

39-
## User Documentation
40-
41-
<!-- KEEP IN SYNC WITH uefi/README -->
42-
43-
For a quick start, please check out [the UEFI application template](template).
44-
45-
The [uefi-rs book] contains a tutorial, how-tos, and overviews of some important
46-
UEFI concepts. Reference documentation for the various crates can be found on
47-
[docs.rs]:
48-
49-
- [docs.rs/uefi](https://docs.rs/uefi)
50-
- [docs.rs/uefi-macros](https://docs.rs/uefi-macros)
51-
- [docs.rs/uefi-raw](https://docs.rs/uefi-raw)
52-
53-
For additional information, refer to the [UEFI specification][spec].
54-
55-
[spec]: https://uefi.org/specs/UEFI/2.10
56-
[uefi-rs book]: https://rust-osdev.github.io/uefi-rs/HEAD
57-
[docs.rs]: https://docs.rs
58-
59-
### MSRV
60-
61-
See the [uefi package's README](uefi/README.md#MSRV).
62-
6326
## Developer Guide
6427

65-
### Project structure
66-
67-
This project contains multiple sub-crates:
68-
69-
- `uefi`: defines the standard UEFI tables / interfaces.
70-
The objective is to stay unopinionated and safely wrap most interfaces.
71-
Additional opinionated features (such as a Logger) are feature-gated.
28+
### Repository Structure
7229

73-
- `uefi-macros`: procedural macros that are used to derive some traits
74-
in `uefi`.
30+
This repository provides various crates:
7531

76-
- `uefi-raw`: raw types that closely match the definitions in the UEFI
77-
Specification. Safe wrappers for these types are provided by the `uefi`
78-
crate. The raw types are suitable for implementing UEFI firmware.
32+
- [`uefi-raw`](/uefi-raw/README.md): Raw Rust UEFI bindings for basic structures and functions.
33+
- [`uefi`](/uefi/README.md): High-level wrapper around various low-level UEFI APIs. \
34+
Offers various optional features for typical Rust convenience, such as a
35+
Logger and an Allocator.
36+
This is the **main contribution** of this project.
37+
- [`uefi-macros`](/uefi-macros/README.md): Helper macros used by `uefi`.
38+
- [`uefi-test-runner`](/uefi-test-runner/README.md): a UEFI application that runs our unit / integration tests.
7939

80-
- `uefi-test-runner`: a UEFI application that runs unit / integration tests.
8140

8241
[log]: https://github.com/rust-lang-nursery/log
8342

uefi/README.md

+9-21
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,17 @@ gated behind an `unstable` Cargo feature flag.
2323
_Note that for producing EFI images, you also need to use a corresponding `uefi`
2424
compiler target of Rust, such as `x86_64-unknown-uefi`._
2525

26-
For an introduction to the `uefi-rs` project and documentation, please refer to
27-
our main [README].
26+
## API and User Documentation
2827

29-
[README]: https://github.com/rust-osdev/uefi-rs/blob/main/README.md
28+
Please refer to [docs.rs](https://docs.rs/uefi) for comprehensive documentation
29+
of the **latest stable release**. The latest not necessarily yet published
30+
documentation can be found in [`src/lib.rs`](./src/lib.rs), which can also be
31+
locally build by running `$ cargo xtask doc --open`.
3032

31-
## Optional features
32-
33-
This crate's features are described in [`src/lib.rs`].
34-
35-
[`src/lib.rs`]: src/lib.rs
36-
37-
## MSRV
38-
39-
The minimum supported Rust version is currently 1.70.
40-
41-
Our policy is to support at least the past two stable releases.
42-
43-
## License
44-
45-
The code in this repository is licensed under the Mozilla Public License 2.
46-
This license allows you to use the crate in proprietary programs, but any modifications to the files must be open-sourced.
47-
48-
The full text of the license is available in the [license file](LICENSE).
33+
For an introduction to the `uefi-rs` project and this repository, please refer
34+
to our main [README](https://github.com/rust-osdev/uefi-rs/blob/main/README.md).
35+
<!-- ^ This link can't be relative as it also should work in the packaged crate
36+
on crates.io. -->
4937

5038

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

0 commit comments

Comments
 (0)