@@ -11,73 +11,32 @@ This crate makes it easy to develop Rust software that leverages **safe**,
11
11
![ Build status] ( https://github.com/rust-osdev/uefi-rs/workflows/Rust/badge.svg )
12
12
![ Stars] ( https://img.shields.io/github/stars/rust-osdev/uefi-rs )
13
13
14
- ## Description
14
+ ## API and User Documentation
15
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
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 ` .
34
21
35
22
![ UEFI App running in QEMU] ( https://imgur.com/SFPSVuO.png )
36
23
Screenshot of an application running in QEMU on an UEFI firmware that leverages
37
24
our Rust library.
38
25
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
-
63
26
## Developer Guide
64
27
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
72
29
73
- - ` uefi-macros ` : procedural macros that are used to derive some traits
74
- in ` uefi ` .
30
+ This repository provides various crates:
75
31
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.
79
39
80
- - ` uefi-test-runner ` : a UEFI application that runs unit / integration tests.
81
40
82
41
[ log ] : https://github.com/rust-lang-nursery/log
83
42
0 commit comments