|0.14.10||Jul 10, 2022|
|0.14.8||Feb 3, 2022|
|0.14.7||Dec 18, 2021|
|0.14.6||Sep 21, 2021|
|0.0.3||Dec 28, 2016|
#18 in Hardware support
28,396 downloads per month
Used in 59 crates (40 directly)
Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables).
Crate Feature Flags
nightly: Enables features only available on nightly Rust; enabled by default.
instructions: Enabled by default, turns on x86_64 specific instructions, and dependent features. Only available for x86_64 targets.
Minimum Supported Rust Version (MSRV)
If no features are enabled (
--no-default-features), Rust 1.57.0 is required.
If only the
instructions feature is enabled (
--no-default-features --features instructions), Rust 1.59.0 is required.
nightly feature or any of its sub-features is enabled, a recent nightly is required.
Other OS development crates
This crate does not attempt to handle every facet of OS development. Other useful crates in this space include:
raw-cpuid: safe wrappers around the
- Provides parsed versions of the CPUID data, rather than just raw binary values.
- Support for AMD and Intel specific values.
- Works on x86 and x86_64 systems, in both user and kernel mode.
uefi: abstractions for UEFI (the successor to BIOS)
- Provides UEFI tables, functions, and types.
- Useful for writing UEFI applications, or calling UEFI functions from your OS.
- Works on a variety of modern platforms, not just x86_64.
volatile: interface to
- Makes it easier to program MMIO interfaces and devices.
- Works on any Rust target.