#x86-64 #osdev #intel #setup

nightly 无std x64

未完成:处理x86_64 ISA的低级代码

3个版本

0.0.3 2023年1月5日
0.0.2 2023年1月5日
0.0.1 2023年1月5日

#314无标准库

BSD-3-Clause

62KB
940

x64

工作进行中

此crate正在开发中,并且随着BSL微内核的需求而添加新功能。

x64是一个独立的无std Rust库,它提供了x86_64(英特尔64位CPU架构)的类型和一些便利函数。它与BSL内核紧密相关,但这并不意味着它不能被外部项目使用。

这个库存在的原因是我真的不喜欢x86_64 crate。似乎你必须要么使用它们的所有类型,要么不使用它们的任何类型。如果你想用它来管理分页,你必须设置特定的分配器来使用它。这让我感到不舒服!

x64旨在在运行时高效。 x86_64使用特性生成vtable,这些vtable在编译时无法优化。有一些方法/函数过于低效,不能频繁使用。

虽然x64受到了x86_64 API的启发(它们布局得相当好),但内部结构相当不同。 x86也比x86_64使用更多的正确术语(例如,它们称IDT门为“入口”,而此crate称为“门”)。

此crate还提供了一些x86_64没有的功能,即轻松操作在C/C++或类似情况下用位域表示的结构。

依赖关系

~1.5MB
~35K SLoC