インテル® Agilex™ ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド

ID 683184
日付 11/10/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.6. 特定のイメージのロード

SDMファームウェアは、フラッシュから特定のイメージをロードするコマンドを提供します。イメージは、ファクトリー・イメージまたはアプリケーション・イメージのいずれかになります。この機能は、U-BootとLIBRSUの両方からアクセスできます。

要求されたイメージのロードに失敗した場合、SDMはコマンドの発行時に実行されていたイメージのリロードを試行します。このイメージもロードに失敗した場合、SDMはCPBで最も優先度の高いイメージのロードを試行します。CPBで最も優先度の高いイメージが失敗したイメージであった場合、CPBで2番目のイメージのロードを試行し、優先度順でポインターテーブルを走査し続けます。CPBで試行するイメージが残っていない場合、SDMはファクトリー・イメージのロードを試行します。

特定のイメージを要求するためのフローの説明については、付録のコンフィグレーション・フローの図を参照してください。

max_retry 関数をイネーブルすると、各イメージを複数回試行することができます。詳細については、コンフィグレーションが失敗した場合の再試行の項を参照してください。

注: HPSに新しいイメージをロードした場合の影響は、コールドリセットの場合と同様です。ただし、SDM HPS_COLD_nRESETピン (コンフィグレーションされている場合) は、通常のコールドリセットの場合とは異なり、SDMによってアサートされません。
SDMコマンドを呼び出して特定のイメージをロードすると、SDMによって報告されたステートから次のスティッキー・フィールドがクリアされます。
  • failed_image
  • error_details
  • error_location
  • state

U-BootがこのSDMコマンドを発行すると、SDMはFPGAとHPSの両方をすぐにリセットしてワイプし、指定されたイメージのロードに進みます。

LIBRSU API rsu_slot_load_after_reboot または rsu_slot_load_factory_after_reboot が呼び出されると、Linux*が突然停止するため、コマンドはすぐにはSDMに送信されません。代わりに、これらのLIBRSU APIにより、ATF SMCハンドラーは、reboot Linux*コマンドが次に実行されたときに、指定されたアドレスでSDMコマンドを呼び出すようにメモします。これにより、要求されたイメージがロードされる前に、カーネルを正常にシャットダウンできます。

注: Linux* reboot コマンドが発行されない限り、これらのLIBRSU APIの呼び出しに効果はありません。Linux reboot コマンドが、reboot=warm パラメーターをカーネルにを渡すことでウォームリセットをトリガーするようにコンフィグレーションされている場合も、これらのLIBRSU APIの呼び出しに効果はありません。7

詳しくは、RSUステータスコードとエラーコード を参照してください。

7 これは、linux-socfpga のリセット実装によって異なります。