17 个版本 (破坏性更新)

0.16.4 2023年6月13日
0.16.3 2023年3月3日
0.16.2 2022年12月1日
0.16.1 2022年1月2日
0.4.0 2019年8月12日

#960硬件支持

Download history 1352/week @ 2024-03-14 2348/week @ 2024-03-21 1208/week @ 2024-03-28 2149/week @ 2024-04-04 2255/week @ 2024-04-11 1956/week @ 2024-04-18 1251/week @ 2024-04-25 1332/week @ 2024-05-02 1857/week @ 2024-05-09 1987/week @ 2024-05-16 1695/week @ 2024-05-23 2152/week @ 2024-05-30 1413/week @ 2024-06-06 1947/week @ 2024-06-13 2951/week @ 2024-06-20 2858/week @ 2024-06-27

9,612 每月下载量
用于 4 个包

MIT/Apache

280KB
5K SLoC

Acpi

Build Status Version Version Version

文档 (rsdp)

文档 (acpi)

文档 (aml)

一个用于解析ACPI表和AML的库,用纯Rust编写。设计用于从Rust引导加载程序和内核中轻松使用。库分为三个包

  • rsdp 解析RSDP并在BIOS平台上定位它。它不依赖于 alloc,因此适用于无需堆分配器的引导加载程序。所有功能都通过 acpi 重新导出。
  • acpi 解析静态表(有用但不是功能完整的)
  • aml 解析AML表(可能有用,但远未功能完整)

还有 acpi-dumper 工具,可以轻松地转储平台上的ACPI表(目前仅在Linux上工作)。

贡献

欢迎贡献!您可以

  • 编写代码 - ACPI规范很大,我们肯定还有我们尚未支持的东西!
  • 改进我们的文档!
  • 在您的内核中使用这些包并提交错误报告和功能请求!

对贡献有用的资源包括

您可以使用以下命令运行AML测试套件:cargo run --bin aml_tester -- -p tests。您可以使用以下命令运行AML解析器的模糊测试:cd aml && cargo fuzz run fuzz_target_1(您可能需要先执行cargo install cargo-fuzz)。

许可证

ACPI在以下许可证下双许可

除非您明确表示,否则根据Apache-2.0许可证定义的,您提交的任何贡献,包括但不限于上述内容,都将双许可,无需附加条款或条件。

依赖关系

约1.5MB
约30K SLoC