@@ -17,3 +17,24 @@ If no features are enabled (`--no-default-features`), Rust 1.57.0 is required.
17
17
If only the ` instructions ` feature is enabled (` --no-default-features --features instructions ` ), Rust 1.59.0 is required.
18
18
19
19
If the ` nightly ` feature or any of its sub-features is enabled, a recent nightly is required.
20
+
21
+ ## Other OS development crates
22
+
23
+ This crate does not attempt to handle every facet of OS development. Other
24
+ useful crates in this space include:
25
+ - [ ` raw-cpuid ` ] ( https://crates.io/crates/raw-cpuid ) : safe wrappers around the
26
+ [ ` cpuid ` instruction] ( https://en.wikipedia.org/wiki/CPUID )
27
+ - Provides parsed versions of the CPUID data, rather than just raw binary values.
28
+ - Support for AMD and Intel specific values.
29
+ - Works on x86 and x86_64 systems, in both user and kernel mode.
30
+ - [ ` uefi ` ] ( https://crates.io/crates/uefi ) : abstractions for
31
+ [ UEFI] ( https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface )
32
+ (the successor to BIOS)
33
+ - Provides UEFI tables, functions, and types.
34
+ - Useful for writing UEFI applications, or calling UEFI functions from your OS.
35
+ - Works on a variety of modern platforms, not just x86_64.
36
+ - [ ` volatile ` ] ( https://crates.io/crates/volatile ) : interface to
37
+ [ ` read_volatile ` ] ( https://doc.rust-lang.org/std/ptr/fn.read_volatile.html ) and
38
+ [ ` write_volatile ` ] ( https://doc.rust-lang.org/std/ptr/fn.write_volatile.html )
39
+ - Makes it easier to program [ MMIO] ( https://en.wikipedia.org/wiki/Memory-mapped_I/O ) interfaces and devices.
40
+ - Works on any Rust target.
0 commit comments