Linux カーネルにおけるイベント管理 - 2023.2 日本語

Versal アダプティブ SoC システム ソフトウェア開発者向けガイド (UG1304)

Document ID
UG1304
Release Date
2023-10-18
Version
2023.2 日本語

Linux では、エージェント ドライバーはイベント管理ドライバーを使用してプラットフォーム管理イベントに対するハンドラーを登録します。これらのイベントは、サスペンド コールバック、ゼロ ユーザー、デバイス ステート変化などの電力管理イベント、または任意のエラー イベントが可能です。

エージェント ドライバーが特定のイベントを登録すると、イベント マネージャーがこれらのイベントをファームウェアに登録します。こうして登録したイベントのいずれかが発生すると、ファームウェアは IPI を使用して TF-A に通知します。TF-A は SGI を使用して Linux イベント管理ドライバーに通知します。イベント管理ドライバーは、初期化中に PM IOCTL EEMI API を使用して、どの SGI を通信に使用するかを TF-A に通知します。

SGI 割り込みを受信すると、イベント管理ドライバーはコールバック データを読み出してどのイベントが発生したのかを調べ、それに応じたエージェント ドライバー ハンドラーを呼び出します。ハンドラーを登録したイベントの通知が不要になった場合、エージェント ドライバーはハンドラーを登録解除できます。