最も簡単な方法は、FIQ 割り込みをセキュア ワールドに割り当て、IRQ をノーマル ワールドに割り当てることです。IRQ/FIQ をモニターに、または現在の OS に直接ルーティングする trustzone レジスター ( SCRまたはセキュア構成レジスター) があります。GIC 自体では、すべての割り込みを FIQ または IRQ にすることができます (ドキュメントではtype 0およびtype 1と呼ばれていると思います)。いつでもモニターにルーティングすることも、割り込みがルーティングされる場所を (ワールド スイッチ上で) 動的に切り替えることもできます。
World | Normal | Secure
------+--------+--------
FIQ | Monitor| Through
IRQ | Through| Monitor
モニター トラップでは、多くのレジスタを保存する必要があります (レジスタを保存するためのワールド スイッチ)。安全な割り込みハンドラーはある程度信頼できますが、通常の世界ではすべての賭けをオフにする必要があります。
それを処理する他の方法があるかもしれませんが、これは最も単純です。たとえば、割り込みソースの所有者 (それらが属するワールド) の固定テーブルを常に持つことができます。他にもたくさんの方法があると思います。ほとんどの場合、常に監視モードにトラップされますが、これはパフォーマンス上の理由からやや望ましくありません。
ハイパーバイザーの場合、ゲスト OS で FIQ 割り込みを禁止する必要があります。それらは FAST であると想定されており、仮想化がこれを妨害するため、おそらくうまく機能しません。その場合は、SCR を通常の列のままにしておくことができます(したがって、SCR は一定です)。