Support for x86_64 specific instructions (e.g. TLB flush), registers (e.g. control registers), and structures (e.g. page tables).
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.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.
If the nightly
feature or any of its sub-features is enabled, a recent nightly is required.
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
cpuid
instruction
- Provides parsed versions of the CPUID data, rather than just raw binary values.
- Support for AMD and Intel specific values.
- Works on x86 and x8664 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 x8664.
- volatile
: interface to
read_volatile
and
write_volatile
- Makes it easier to program MMIO interfaces and devices.
- Works on any Rust target.