@@ -11,77 +11,37 @@ 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
15-
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
34-
3514![ UEFI App running in QEMU] ( https://imgur.com/SFPSVuO.png )
3615Screenshot of an application running in QEMU on an UEFI firmware that leverages
3716our Rust library.
3817
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 ) .
18+ ## API and User Documentation
19+ <!-- This section is duplicated with uefi/README.md -->
4420
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 ) .
21+ The main contribution of this project is the [ ` uefi ` crate] ( ./uefi/README.md ) .
22+ Please refer to [ docs.rs] ( https://docs.rs/uefi ) for comprehensive documentation
23+ of the ** latest stable release** . The latest not necessarily yet published
24+ documentation can be found in [ ` src/lib.rs ` ] ( ./uefi/src/lib.rs ) , which can also
25+ be locally viewed by running ` $ cargo xtask doc --open ` .
6226
6327## Developer Guide
6428
65- ### Project structure
66-
67- This project contains multiple sub-crates:
29+ ### Repository Structure
6830
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.
72-
73- - ` uefi-macros ` : procedural macros that are used to derive some traits
74- in ` uefi ` .
75-
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.
79-
80- - ` uefi-std-example ` : Example UEFI app but as Rust standard binary.
81-
82- - ` uefi-test-runner ` : a UEFI application that runs unit / integration tests.
31+ This repository provides various crates:
8332
84- [ log ] : https://github.com/rust-lang-nursery/log
33+ - [ ` uefi ` ] ( /uefi/README.md ) : High-level wrapper around various low-level UEFI
34+ APIs. This crate makes it easy to develop Rust software that leverages safe,
35+ convenient, and performant abstractions for UEFI functionality.
36+ This is the ** main contribution** of this project.
37+ - [ ` uefi-raw ` ] ( /uefi-raw/README.md ) : Raw ABI-compatible types that closely
38+ match the definitions in the UEFI Specification. They are suitable for
39+ implementing UEFI firmware or creating interfaces to it.
40+ - [ ` uefi-macros ` ] ( /uefi-macros/README.md ) : Helper macros used by ` uefi ` .
41+ - [ ` uefi-test-runner ` ] ( /uefi-test-runner/README.md ) : A UEFI application that
42+ runs our integration tests.
43+ - [ ` uefi-std-example ` ] ( /uefi-std-example/README.md ) : Example UEFI app but as
44+ Rust standard binary.
8545
8646### Building and testing uefi-rs
8747
0 commit comments