Skip to content

Commit b1d9987

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 49eee3f commit b1d9987

File tree

2 files changed

+24
-72
lines changed

2 files changed

+24
-72
lines changed

README.md

Lines changed: 15 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -11,67 +11,31 @@ 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:
28+
### Repository Structure
6829

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.
30+
This repository provides various crates:
7231

73-
- `uefi-macros`: procedural macros that are used to derive some traits
74-
in `uefi`.
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.
7539

7640
- `uefi-raw`: raw types that closely match the definitions in the UEFI
7741
Specification. Safe wrappers for these types are provided by the `uefi`

uefi/README.md

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,17 @@ parse the UEFI memory map.
2222
_Note that for producing UEFI images, you also need to use a corresponding
2323
`uefi` compiler target of Rust, such as `x86_64-unknown-uefi`._
2424

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

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

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

4937

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

0 commit comments

Comments
 (0)