問題タブ [dsdt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - この ACPI ソース言語コードを解読する方法は?
この .NET プログラムを使用して、 にある Windows レジストリのバイナリ ダンプを作成しましたHKLM/Hardware/ACPI/DSDT
。
次に、その上で Microsoft のASL コンパイラを実行すると、次のACPI Source Languageを取得できます。
私は断片的なことしか理解していません。TZは、サーマル ゾーン専用のスコープを指します (私が思うに)。
ACPI Specを読むと、_HOT と _CRT は温度しきい値に関連する OSPM オブジェクトであることがわかります。
_HOT オブジェクトは、サポートされている場合、OSPM がシステムを S4 スリープ状態に移行することを選択できる臨界温度を宣言します。_CRT オブジェクトは、OSPM が重大なシャットダウンを実行する必要がある臨界温度を宣言します。
したがって、DSDTの切り取りは、サーマルゾーン0で感知された温度に応じてラップトップのファン速度を操作することに関係があると考えています。それに基づいてFSTL
、上記はFan-Set-Levelまたは同様のものであると推測しています、 およびはFMAX
、FMIN
それぞれ Fan-Max-Speed および -Min-Speed です。C2K
ケルビン変換機能だと思います。それ以上は、推測に基づいて推測しているだけです。
編集:さらに検討すると、_PSL
パッシブリスト(ACPI仕様による)であり、パッシブ温度制御デバイスのリストを返します。ファンが「アクティブ」温度制御と見なされる場合、「パッシブ」温度制御の例は、CPU の電圧または速度を下げることです。したがって、このセクションがファンをまったく制御するかどうかはわかりません。受動的な温度制御専用にすることもできます。
私がやろうとしているのは、さまざまな温度に使用されるラップトップのファン速度を変更することです。一部の DSDT では、温度とファン速度の間のマッピングがきちんとした小さなテーブルにあり、マッピングを変更するには、いくつかの数値を変更するだけです。この ASL ファイルにはそのようなテーブルがあるようには見えないので、マッピングを行う何らかのプログラム ロジックがあるに違いないと思います。
誰かが私のためにそれを解読するのを助けることができますか?
私が実際にやろうとしているのは、HP G60-244dx ラップトップでファンをリラックスさせることです。CPU がアイドル状態のときでも動作音が大きすぎます。以前の HP nc8430 ラップトップのように、ファンの速度が不必要に高く設定されています。ファンの速度を下げても、CPU の温度を同じに保つことができます。
ファンの速度を変更するには、DSDT にパッチを適用する必要があると思います。そのため、上記を解読したいと考えています。
どうもありがとう。
関連する可能性があります:
Linux で ACPI フィールドを設定する
bios - ACPI名前空間のオブジェクトのカタログはどこにありますか?
ACPIソース言語を読んだり書いたりしようとしています。
私が見ているコードには、特定の値を格納するステートメントがあります...ああ、ACPIオブジェクトの名前空間にあると思います。次のようになります。
私が欲しいのは、SB名前空間のネーミングスコープとオブジェクト、およびそれらの意味のカタログです。
値をに格納するとはどういう意味_SB_.PCI0.LPC0.BCMD
ですか?
他の例もあります:
したがって、BCMDの答えは必要ありません。使用可能なすべてのオブジェクト、それらの名前、およびそれらの動作や意味を説明するリファレンスが必要です。
このカタログは、特定の種類のハードウェアごとに固有のものになると思います。可変速ファンを備えたコンピューターは、ACPIオブジェクトを介して、ファンの基本的な制御と管理を公開します。同様に、生体指紋リーダーと1394ポートを使用します。コンピュータのメーカー+モデルに固有のハードウェア機能の各セットには、独自の名前ツリーがあると思います。
ポインタをありがとう。
c++ - Windows での DSDT からのメソッドの呼び出し (ACPI)
私は最近、Windows で DSDT テーブルを変更することがいかに素晴らしいかを発見しました。他のことをするためにいくつかの Fn キーを再マップしましたが、それらは実際の DSDT にありました (LED をオフにする、ファンをオン/オフにするなど)。
さて、ゲームをステップアップさせて、OSからコントロールしたいと思います。同様に、DSDT でいくつかのカスタム メソッドを定義し、Windows のソフトウェアを使用してそれらを呼び出します。それは、まったく新しいレベルの可能性への扉を開くでしょう。
では、たとえば C++ を使用して、Windows でこれを達成するための手順は何ですか? また、DSDT からジェネリック メソッドを呼び出すことができるアプリは既にありますか? それはとても素晴らしいことだからです。
ありがとう!
assembly - カスタムOSのアセンブリでacpiシャットダウンする方法は?
virtualbox でカスタム os を実行しており、ACPI、FACP、DSDT などのテーブルを解析して PM1a_CNT および SLP_TYPa の値を取得しました。これらは正しいようです。ただし、次のコマンドで ACPI シャットダウンを実行しようとすると:
何も起こりません。PM1a_CNT
は 0x4004 でSLP_TYPa
0 です。これは、私が他の場所で見た他の値と比較して妥当なようです。PM1b_CNT もゼロなのでチェックします。
virtualbox を機能させるための問題やトリックはありますか?