次の方法で共有


ACPI 名前空間階層

ACPI 名前空間階層は、プロセッサのシステム バス ("_SB") から始まる、プラットフォームのハードウェア トポロジを正確にモデル化する必要があります。 一般に、バスまたはコントローラーに接続するデバイスは、名前空間内のそのバスまたはコントローラー デバイスの子として表示されます。

次の規則は、特に SoC ベースのプラットフォームに適用されます。

  • メモリ マップ機能ブロック (プロセッサを含む) は、_SB ノードのすぐ下に表示されます。

  • 単純な周辺機器バス (SPB) コントローラーや GPIO コントローラーの組み合わせに接続する周辺機器は、これらのコントローラーへの接続を接続リソースとして記述します。 詳細については、「 汎用 I/O (GPIO)Simple Peripheral Bus (SPB)」を参照してください。

    この方法で接続されている周辺機器は、_SB ノードのすぐ下、または親 SPB または GPIO コントローラーの下に表示される場合があります。 可能な場合は、リソースのデコードでリレーションシップを検出する必要なく、名前空間自体に直接デバイスの関係を示すので、後者をお勧めします。

  • ハードウェア列挙 (SDIO、USB など) をサポートする標準バスを介して接続されている機能ブロックまたは周辺機器は、名前空間にまったく表示する必要はありません。

    ただし、特定のケースでは、このようなデバイスを名前空間の親コントローラーの下に含める必要があります。 たとえば、これは、プラットフォーム固有の (標準ではない) コントロール (電源スイッチ、GPIO、SPB 接続など) がシステム設計の一部としてデバイスに関連付けられている埋め込み USB HSIC または SDIO デバイスで必要です。 この場合、標準の親バス ドライバーはデバイスを列挙しますが、 Windows ACPI ドライバー (Acpi.sys) は、必要に応じて、バス ドライバーの代わりに標準以外のコントロールのコントロール メソッドを呼び出すフィルターとしてデバイス スタックに読み込まれます。

  • 1 つのファンクション ドライバー (オーディオ ドライバーなど) の使用専用の "プライベート" バスまたはデバイス (I2S など) は、名前空間にまったく表示する必要はありません。 ただし、この場合、デバイスで使用されるすべてのシステム リソースは、名前空間の関数デバイスのリソース 一覧に表示される必要があります。 詳細については、「デバイス管理名前空間 オブジェクト 」トピックの「 デバイス構成オブジェクト」 セクションを参照してください。

ACPI は多くの標準名前空間オブジェクトとメソッドを定義しますが、実装者は必要に応じて新しい名前空間オブジェクトを定義できます。 ACPI で定義されたオブジェクトとメソッドは、次のような一般的なオペレーティング システム機能に使用されます。

プラットフォームの説明 たとえば、デバイスの識別やシステム リソースの割り当てなどです。

汎用デバイス制御 たとえば、リソースの構成や電源リソースの制御などです。

クラス固有の機能コントロール たとえば、ディスプレイを淡色表示したり、バッテリの状態を報告したりします。