Skip to content
/ x86_64 Public
forked from rust-osdev/x86_64

Library to program x86_64 hardware.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Freax13/x86_64

This branch is up to date with rust-osdev/x86_64:master.

Folders and files

NameName
Last commit message
Last commit date
Apr 26, 2025
Feb 10, 2024
Apr 26, 2025
Jul 31, 2024
Jun 13, 2018
Aug 16, 2016
Nov 30, 2024
Nov 30, 2024
Jun 8, 2018
Jun 8, 2018
Apr 20, 2022
Mar 21, 2023
Apr 5, 2024

x86_64 library

Crates.io Build Status docs.rs

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 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.

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 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 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_volatile and write_volatile
    • Makes it easier to program MMIO interfaces and devices.
    • Works on any Rust target.

About

Library to program x86_64 hardware.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.7%
  • Python 0.3%