不正操作イベントは、CIPS GUI から選択可能およびコンフィギュレーション可能です。CIPS コンフィギュレーション GUI から、不正操作イベントに対するタンパー応答の選択と動作の設定が可能です。次の表に、タンパー応答レジスタでサポートされる各種のタンパー応答を示します。
フィールド名 | ビット | タイプ | リセット値 | 説明 |
---|---|---|---|---|
BBRAM_ERASE | 4 | RWSO | 0x0 | 指定されたタンパー応答に加えて不揮発性 BBRAM キーをゼロ化します。 |
SEC_LOCKDOWN_1 | 3 | RWSO | 0x0 | このビットをセットすると、不正操作イベントが発生した場合に ROM がセキュア ロックダウンを発行し、すべての IO がトライステートになります。最上位ビットの動作のみが実行されます。 |
SEC_LOCKDOWN_0 | 2 | RWSO | 0x0 | このビットをセットすると、不正操作イベントが発生した場合に ROM がセキュア ロックダウンを発行します。最上位ビットの動作のみが実行されます。 |
SYS_RESET | 1 | RWSO | 0x0 | このビットをセットすると、不正操作イベントが発生した場合に ROM がシステム リセットを発行します。最上位ビットの動作のみが実行されます。 |
SYS_INTERRUPT | 0 | RWSO | 0x0 | このビットをセットすると、不正操作イベントが発生した場合に ROM がシステム割り込みを発行します。最上位ビットの動作のみが実行されます。 |
現在、不正操作イベントが発生した場合、RCU 上で動作する BootROM が、タンパー応答レジスタで設定された最上位ビットの動作を実行します。応答は SEC_LOCKDOWN_x
として設定されます。BootROM は、セキュア ロックダウン ルーチンを実行して PMC ドメインをクリアし、POR を発行します。現在の制限は、不正操作イベントが発生した場合、BootROM がクリアできるのは PMC ドメインのみであることです。応答は SEC_LOCKDOWN_x
として設定されます。BootROM はその他のドメイン (FPD、LPD、NoC、PL) をクリアしません。
PLM セキュア ロックダウンをサポートする目的は、BootROM が不正操作イベントに対してシステム レベル割り込みを発行したとき、ほかのドメインのセキュア ロックダウンを実行することです。ほかのドメインのセキュア ロックダウンをサポートするには、ユーザーが選択したオプションに基づいて、CIPS からタンパー応答が次のように設定されている必要があります。
- ユーザーは不正操作イベントに対する実際のタンパー応答を選択できます。
- CIPS は、SEC_LOCKDOWN_x および SYS_INTERRUPT 動作に対する応答を SYS_INTERRUPT に設定します。
- CIPS は、実際の応答の設定を PMC 予約メモリ空間 (RCTA レジスタ アドレス 0XF201418C) に格納します。これにより、PLM はどの応答を実行すかを認識できます。
セキュア ロックダウン フロー
不正操作イベントが発生し、タンパー応答レジスタが SYS_INTERRUPT に設定されている場合、セキュア ロックダウン フローがトリガーされます。このフローは次の順序で実行されます。
- RCU 上で動作する BootROM が、不正操作イベントを割り込みとして受信します。
- BootROM は、PPU 上で動作する PLM が、セキュリティ違反の検出を通知する割り込みを受信するように、システム レベル割り込みをトリガーします。
- PPU 上で動作する PLM は、RTCA 予約空間 (0xF201418C) を読み出し、実行する応答を決定します。
- RTCA レジスタ内の応答が
SEC_LOCKDOWN_x
である場合、PLM はほかのドメインをクリアする命令を送信します。 - ほかのドメインがクリアされた後、PLM は、RTCA レジスタの設定に基づいて PMC_GLOBAL 内の TAMPER_TRIG レジスタを設定します。
応答が
SEC_LOCKDOWN_x
として設定されている場合、これによって RCU IRQ0 が発行され、PMC ドメイン クリア ルーチンが実行されます。