24个版本 (13个稳定版)
5.0.0 | 2023年9月13日 |
---|---|
4.1.1 | 2022年8月1日 |
4.1.0 | 2021年11月4日 |
3.1.0 | 2021年7月21日 |
0.1.0 | 2018年5月3日 |
#52 在 硬件支持
每月10,273次下载
在 4 个crate中使用
115KB
2K SLoC
Acpi
文档(《rsdp》)
文档(《acpi》)
文档(《aml》)
一个用于解析ACPI表和AML的库,完全用Rust编写。旨在易于从Rust引导加载程序和内核中使用。该库分为三个crate
rsdp
解析RSDP并可以在BIOS平台上定位它。它不依赖于alloc
,因此适合从无需堆分配器的引导加载程序中使用。所有功能都通过acpi
重新导出。acpi
解析静态表(有用但功能不完整)。它可以用于有分配器的环境以及没有分配器的环境(但功能会减少)。aml
解析AML表(可能有用,但功能远不完整)。
还有一个名为acpi-dumper
的工具,可以轻松地转储平台的ACPI表(目前仅在Linux上工作)。
贡献
非常欢迎贡献!您可以
- 编写代码 - ACPI规范非常大,我们肯定还有不支持的事情!
- 改进我们的文档!
- 在您的内核中使用这些crate并提交错误报告和功能请求!
以下是一些有用的贡献资源
您可以使用以下命令运行AML测试套件:cargo run --bin aml_tester -- -p tests
。您可以使用以下命令运行AML解析器的模糊测试:cd aml && cargo fuzz run fuzz_target_1
(您可能需要先运行cargo install cargo-fuzz
)。
许可证
本项目采用以下双许可协议
- Apache许可证,版本2.0(《LICENCE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(《LICENCE-MIT》或http://opensource.org/licenses/MIT)
除非您明确说明,否则您提交的任何贡献,根据Apache-2.0许可证的定义,将按上述方式双许可,不附加任何额外的条款或条件。
依赖项
~115KB