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 nightly features are enabled, Rust 1.59.0 is required. This can be done by either:
- --no-default-features --features instructions
- --no-default-features
If the nightly feature or any of its sub-features is enabled (which is the
default), 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- cpuidinstruction- 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- read_volatileand- write_volatile- Makes it easier to program MMIO interfaces and devices.
- Works on any Rust target.