借り初めのひみつきち

仮ブログです。

ACPI 2.0

いまどきの PC 用 OS では ACPI 対応を避けて通ることができません。

現在、私の OS では以下の ACPI ライブラリを利用しています。

GitHub - rust-osdev/acpi: Rust library for parsing ACPI tables and AML

ACPI には様々なテーブルがありますが、このライブラリはいくつかの決まったテーブルの内容を Rust の構造体に変換するだけで、 ACPI にはもっとたくさんのテーブルがあるのに使えるインターフェースが用意されていませんでした。

割と不満がありつつも ACPI は仕様が壮大すぎて自前で実装するのが面倒だったので、本当に困るまでは当面そのまま使うことにしました。

そして、このライブラリが最近アップデートがあって 2.0 になったようです🎉

ついに ACPI テーブルを検索する機能が実装されました!

f:id:neriring16:20201005232927p:plain

ということで早速使ってみましょう。もちろん BGRT テーブル*1 を使います。

ババーン!

f:id:neriring16:20201005233702p:plain

なんだよ private って💢

検索メソッドがあるのに Signature などの重要な構造体が外から見えない設定になってるので結局使えませんでした😿

ということで、ローカルにコピーしてサクッと修正してみました。

f:id:neriring16:20201005234549p:plain

ちゃんとロゴが表示できました✨

バグレポートどうやって出せばいいんだろ