@@ -13,54 +13,30 @@ Rusty wrapper for the [Unified Extensible Firmware Interface][UEFI].
13
13
Develop Rust software that leverages ** safe** , ** convenient** , and
14
14
** performant** abstractions for [ UEFI] functionality.
15
15
16
- ## Description
16
+ ## API and User Documentation
17
17
18
- Our mission is to provide ** safe** and ** performant** wrappers for UEFI
19
- interfaces, and allow developers to write idiomatic Rust code.
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 ` ] , which can also be locally build by
22
+ running ` $ cargo xtask doc --open ` .
23
+
24
+ ## Repository Structure
20
25
21
26
This repository provides various crates:
22
27
23
- - ` uefi-raw ` : Raw Rust UEFI bindings for basic structures and functions.
24
- - ` uefi ` : High-level wrapper around various low-level UEFI APIs. \
28
+ - [ ` uefi-raw ` ] ( /uefi-raw/README.md ) : Raw Rust UEFI bindings for basic structures and functions.
29
+ - [ ` uefi ` ] ( /uefi/README.md ) : High-level wrapper around various low-level UEFI APIs. \
25
30
Offers various optional features for typical Rust convenience, such as a
26
31
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
32
+ This is the ** main contribution** of this project.
33
+ - [ ` uefi-macros ` ] ( /uefi-macros/README.md ) : Helper macros used by ` uefi ` .
34
34
35
- [ UEFI ] : https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
36
35
37
36
![ UEFI App running in QEMU] ( https://imgur.com/SFPSVuO.png )
38
37
Screenshot of an application running in QEMU on an UEFI firmware that leverages
39
38
our Rust library.
40
39
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
40
65
41
## Developer Guide
66
42
@@ -118,14 +94,11 @@ most of the library's functionality.
118
94
Check out the testing project's [ ` README.md ` ] ( uefi-test-runner/README.md ) for
119
95
prerequisites for running the tests.
120
96
121
- # Discuss and Contribute
122
-
123
- For general discussions, feel free to join us in our [ Zulip] and ask
124
- your questions there.
97
+ ## Contributing
125
98
126
- Further, you can submit bugs and also ask questions in our [ issue tracker ] .
127
- Contributions in form of a PR are also highly welcome. Check our
128
- [ contributing guide ] ( ./ CONTRIBUTING.md) for details .
99
+ We welcome issues and pull requests! For instructions on how to set up a
100
+ development environment and how to add new protocols, check out
101
+ [ CONTRIBUTING.md ] ( CONTRIBUTING.md ) .
129
102
130
103
## License
131
104
@@ -136,4 +109,5 @@ modifications to the files must be open-sourced.
136
109
The full text of the license is available in the [ license file] ( LICENSE ) .
137
110
138
111
139
- [ Zulip ] : https://rust-osdev.zulipchat.com
112
+
113
+ [ UEFI ] : https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
0 commit comments