Skip to content

Commit 5c9343f

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 e0fde84 commit 5c9343f

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
@@ -13,73 +13,32 @@ Rusty wrapper for the [Unified Extensible Firmware Interface][UEFI].
1313
Develop Rust software that leverages **safe**, **convenient**, and
1414
**performant** abstractions for [UEFI] functionality.
1515

16-
## Description
16+
## API and User Documentation
1717

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

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

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

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

75-
- `uefi-macros`: procedural macros that are used to derive some traits
76-
in `uefi`.
32+
This repository provides various crates:
7733

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

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

8443
[log]: https://github.com/rust-lang-nursery/log
8544

uefi/README.md

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

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

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

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

0 commit comments

Comments
 (0)