rust-osdev / acpi

Rust library for parsing ACPI tables and interpreting AML
Apache License 2.0
198 stars 61 forks source link
acpi aml osdev rust

Acpi

Build Status Version Version Version

Documentation (rsdp)

Documentation (acpi)

Documentation (aml)

A library to parse ACPI tables and AML, written in pure Rust. Designed to be easy to use from Rust bootloaders and kernels. The library is split into three crates:

There is also the acpi-dumper utility to easily dump a platform's ACPI tables (this currently only works on Linux).

Contributing

Contributions are more than welcome! You can:

Useful resources for contributing are:

You can run the AML test suite with cargo run --bin aml_tester -- -p tests. You can run fuzz the AML parser with cd aml && cargo fuzz run fuzz_target_1 (you may need to cargo install cargo-fuzz).

Licence

This project is dual-licenced under:

Unless you explicitly state otherwise, any contribution submitted for inclusion in this work by you, as defined in the Apache-2.0 licence, shall be dual licenced as above, without additional terms or conditions.