Linux では、エージェント ドライバーはイベント管理ドライバーを使用してプラットフォーム管理イベントに対するハンドラーを登録します。これらのイベントは、サスペンド コールバック、ゼロ ユーザー、デバイス ステート変化などの電力管理イベント、または任意のエラー イベントが可能です。
エージェント ドライバーが特定のイベントを登録すると、イベント マネージャーがこれらのイベントをファームウェアに登録します。こうして登録したイベントのいずれかが発生すると、ファームウェアは IPI を使用して TF-A に通知します。TF-A は SGI を使用して Linux イベント管理ドライバーに通知します。イベント管理ドライバーは、初期化中に PM
IOCTL EEMI
API を使用して、どの SGI を通信に使用するかを TF-A に通知します。
SGI 割り込みを受信すると、イベント管理ドライバーはコールバック データを読み出してどのイベントが発生したのかを調べ、それに応じたエージェント ドライバー ハンドラーを呼び出します。ハンドラーを登録したイベントの通知が不要になった場合、エージェント ドライバーはハンドラーを登録解除できます。