#x86 #apic

lapic

一个自包含的crate,实现了x86_64系统上本地APIC寄存器的安全类型。

2个版本

0.1.1 2023年10月27日
0.1.0 2023年10月27日

#61 in #x86

自定义许可证

13KB
299

lapic

一个自包含的crate,实现了x86_64系统上本地APIC寄存器的安全类型。

更多关于本地APIC标准的信息可以在AMD架构程序员手册第2卷:系统编程的第16章“本地APIC”中找到。

此crate不依赖于标准Rust库,并使用#![forbid)]来禁止不安全代码。

使用方法

参考生成的cargo文档。


lib.rs:

一个自包含的crate,实现了x86_64系统上本地APIC寄存器的安全类型。

更多关于本地APIC标准的信息可以在AMD架构程序员手册第2卷:系统编程的第16章“本地APIC”中找到。

此crate不依赖于标准Rust库,并使用#![forbid)]来禁止不安全代码。

使用方法

此crate的主要类型是LocalApic结构。它没有无效的表示,并且每个APIC寄存器都按照需要布局,以便可以安全地覆盖映射的内存,前提是该区域具有正确的对齐。

该结构中的所有寄存器都提供了安全设置器和获取器来访问这些寄存器中的位字段,以及将寄存器转换为原始字节和从原始字节转换回寄存器的方法,这是由于使用了modular_bitfield crate。

依赖项

~1.5MB
~36K SLoC