rust/mikros_std_deps/x86_64-0.15.1
2024-09-27 18:23:56 -05:00
..
.github
scripts
src
.cargo_vcs_info.json Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
.gitignore Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
AUTHORS Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
Cargo.toml Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
Cargo.toml.orig Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
Changelog.md Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
LICENSE-APACHE Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
LICENSE-MIT Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
README.md Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
rust-toolchain Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00
SECURITY.md Bring in syscall layer from old mikros std 2024-06-21 13:24:51 -05:00

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.