PSCI (Power State Coordination Interface) は、サスペンド、シャットダウン、リブートなど、Arm プロセッサのシステ ム電源ステータスを制御するための標準インターフェイスです。PSCI 仕様の詳細は、こちらを参照してください。
TF-A が Linux からの PSCI 要求を処理します。TF-A は PSCI v0.2 のみをサポートしています (v0.1 の下位互換性サポートなし)。
Linux カーネルには PSCI の標準サポートが付随します。カーネルと TF-A/PSCI のバインドに関する情報は、psci.txt を参照してください。
次の表に、TF-A でサポートされる PSCI v0.2 の関数を示します。
関数 | 説明 | サポート |
---|---|---|
PSCI Version | 実装されている PSCI のバージョンを返す。 | あり |
CPU Suspend | コアまたは上位レベル トポロジのノードで実行をサスペンド。この呼び出しは、コアがウェークアップ イベントによる実行状態への復帰を待機しているアイドル状態のサブシステムで使用。 | あり |
CPU On | コアをパワーアップする。次のいずれかのコアをパワーアップするために使用。
|
あり |
CPU Off | 呼び出し元のコアの電源をオフにする。この呼び出しは、ホットプラグ状態で使用することを目的とする。CPU_OFF によって電源をオフにするコアは、CPU_ON のみに応答して再びパワーアップできる。 | あり |
Affinity Info | 呼び出し元がアフィニティ インスタンスのステータスを要求できる。 | あり |
Migrate (オプション) | ユニプロセッサのトラステッド OS に、コンテキストを特定コアに移行するように要求する。 | あり |
Migrate Info Type (オプション) | 呼び出し元がトラステッド OS に存在するマルチコア サポートのレベルを識別可能になる。 | あり |
Migrate Info Up CPU (オプション) | ユニプロセッサのトラステッド OS の場合、この関数は現在の常駐コアを返す。 | あり |
System Off | システムをシャットダウンする。 | あり |
システム リセット | システムをリセットする。 | あり |
PSCI の機能 | PSCI v1.0 で導入。 クエリ API を使用して、特定の PSCI 関数が実装されているかどうか、またその機能情報について API に問い合わせる。 |
あり |
CPU Freeze (オプション) | PSCI v1.0 で導入。 コアを IMPLEMENTATION DEFINED 低電力ステートにする。CPU_OFF とは異なり、コアに割り込みをターゲットするには有効。ただし、CPU_ON コマンドが発行されるまで、コアは低電力状態を維持する必要がある。 |
なし |
CPU Default Suspend (オプション) | PSCI v1.0 で導入。 コアを IMPLEMENTATION DEFINED 低電力ステートにする。CPU_SUSPEND とは異なり、呼び出し元が電力ステート パラメーターを指定する必要はない。 |
なし |
Node HW State (オプション) | PSCI v1.0 で導入。 この関数は、システムの電力ドメイン トポロジ内のノードの真のハードウェア ステートを返すことを目的とする。 |
あり |
System Suspend (オプション) | PSCI v1.0 で導入。 RAM にサスペンドを実装する。最も低い電力ステートにする CPU_SUSPEND と同等。 |
あり |
PSCI Set Suspend Mode (オプション) | PSCI v1.0 で導入。 この関数を使用して、CPU_SUSPEND で使用されるモードを設定して電源ステートを調整できる。 |
なし |
PSCI Stat Residency (オプション) | PSCI v1.0 で導入。 コールド ブートによりプラットフォームが指定された電源ステートで費やした時間を返す。 |
あり |
PSCI Stat Count (オプション) | PSCI v1.0 で導入。 コールド ブートによりプラットフォームが指定された電源ステートを使用した回数を返す。 |
あり |