#x86

no-std x86_64

支持x86_64特定指令、寄存器和结构

122个版本

0.15.1 2024年3月19日
0.15.0-beta2024年2月11日
0.14.11 2023年9月18日
0.14.10 2022年7月10日
0.0.3 2016年12月28日

#5 in 硬件支持

Download history 15590/week @ 2024-04-22 12612/week @ 2024-04-29 14076/week @ 2024-05-06 15806/week @ 2024-05-13 12865/week @ 2024-05-20 13135/week @ 2024-05-27 12778/week @ 2024-06-03 11826/week @ 2024-06-10 15542/week @ 2024-06-17 15481/week @ 2024-06-24 11704/week @ 2024-07-01 13468/week @ 2024-07-08 16555/week @ 2024-07-15 16768/week @ 2024-07-22 16126/week @ 2024-07-29 14780/week @ 2024-08-05

65,338 每月下载量
用于 80 个Crates (57直接)

MIT/Apache

370KB
6.5K SLoC

x86_64 库

Crates.io Build Status docs.rs

支持x86_64特定指令(例如TLB刷新)、寄存器(例如控制寄存器)和结构(例如页表)。

包特性标志

  • nightly:启用仅在nightly Rust中可用的特性;默认启用。
  • instructions:默认启用,开启x86_64特定指令和依赖特性。仅适用于x86_64目标。

最小支持的Rust版本(MSRV)

如果没有启用nightly特性,则需要Rust 1.59.0。这可以通过以下方式完成

  • --no-default-features --features instructions
  • --no-default-features

如果启用了nightly特性或其任何子特性(默认情况下是这样),则需要一个较新的nightly版本。

其他操作系统开发包

此包并不试图处理操作系统开发的各个方面。本领域其他有用的包包括

  • raw-cpuid:对cpuid指令的安全包装
    • 提供CPUID数据的解析版本,而不是原始二进制值。
    • 支持AMD和Intel特定值。
    • 在x86和x86_64系统上,在用户模式和内核模式下均有效。
  • uefi:对UEFI(BIOS的继任者)的抽象
    • 提供UEFI表、函数和类型。
    • 对于编写UEFI应用程序或从您的操作系统调用UEFI函数很有用。
    • 在多种现代平台上有效,而不仅仅是x86_64。
  • volatile:对read_volatilewrite_volatile的接口
    • 使编程MMIO接口和设备变得更容易。
    • 适用于任何Rust目标。

依赖项

~195KB