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硬件支持

Download history 1483/week @ 2024-03-14 2432/week @ 2024-03-21 1401/week @ 2024-03-28 2392/week @ 2024-04-04 2406/week @ 2024-04-11 2105/week @ 2024-04-18 1348/week @ 2024-04-25 1461/week @ 2024-05-02 1998/week @ 2024-05-09 2134/week @ 2024-05-16 1868/week @ 2024-05-23 2443/week @ 2024-05-30 1616/week @ 2024-06-06 2090/week @ 2024-06-13 3131/week @ 2024-06-20 2947/week @ 2024-06-27

每月10,273次下载
4 个crate中使用

MIT/Apache

115KB
2K SLoC

Acpi

Build Status Version Version Version

文档(《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许可证的定义,将按上述方式双许可,不附加任何额外的条款或条件。

依赖项

~115KB