GabrielMajeri / rust-x86

Rust library to use x86 (amd64) specific functionality and registers.

Home Page:https://docs.rs/x86

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

x86 / amd64 library Build Status Crates.io

Library to program x86 (amd64) hardware. Contains x86 specific data structure descriptions, data-tables, as well as convenience function to call assembly instructions typically not exposed in higher level languages.

Currently supports

  • I/O registers
  • Control registers
  • MSR registers
  • Segmentation
  • Descriptor-tables (GDT, LDT, IDT)
  • IA32-e page table layout
  • Interrupts
  • Task state
  • Querying CPUID (uses raw_cpuid library)
  • Performance counter information
  • Intel SGX: Software Guard Extensions

This library depends on libcore so it can be used in kernel level code.

Features

  • performance-counter: Includes the performance counter information. Note this feature can increase compilation time significantly due to large statically generated hash-tables that are included in the source. In case you do not need performance-counter information you can disable it using: cargo build --no-default-features

Documentation

About

Rust library to use x86 (amd64) specific functionality and registers.

https://docs.rs/x86

License:MIT License


Languages

Language:Rust 98.7%Language:Shell 1.1%Language:PowerShell 0.2%