PLM ロックダウン フロー - 2023.2 日本語

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

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

不正操作イベントは、CIPS GUI から選択可能およびコンフィギュレーション可能です。CIPS コンフィギュレーション GUI から、不正操作イベントに対するタンパー応答の選択と動作の設定が可能です。次の表に、タンパー応答レジスタでサポートされる各種のタンパー応答を示します。

表 1. タンパー応答
フィールド名 ビット タイプ リセット値 説明
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 に設定されている場合、セキュア ロックダウン フローがトリガーされます。このフローは次の順序で実行されます。

  1. RCU 上で動作する BootROM が、不正操作イベントを割り込みとして受信します。
  2. BootROM は、PPU 上で動作する PLM が、セキュリティ違反の検出を通知する割り込みを受信するように、システム レベル割り込みをトリガーします。
  3. PPU 上で動作する PLM は、RTCA 予約空間 (0xF201418C) を読み出し、実行する応答を決定します。
  4. RTCA レジスタ内の応答が SEC_LOCKDOWN_x である場合、PLM はほかのドメインをクリアする命令を送信します。
  5. ほかのドメインがクリアされた後、PLM は、RTCA レジスタの設定に基づいて PMC_GLOBAL 内の TAMPER_TRIG レジスタを設定します。

    応答が SEC_LOCKDOWN_x として設定されている場合、これによって RCU IRQ0 が発行され、PMC ドメイン クリア ルーチンが実行されます。