ESRT テーブルを設定する
EFI システム リソース テーブル (ESRT) は、これらのリソースに対するファームウェアの更新プログラムを対象とする目的で、統合デバイスおよびシステム ファームウェア リソースを識別するためのメカニズムを提供します。 ESRT の各エントリは、ファームウェア更新プログラム ドライバー パッケージの対象となるデバイスまたはシステム ファームウェア リソースを記述します。 ファームウェア更新プログラム ドライバー パッケージによって更新できる各ファームウェア リソースは、ファームウェアの更新プログラムを展開およびインストールするために、ESRT のエントリを 1 つだけ記述する必要があります。 ESRT のレイアウトと実装の詳細については、ESRT テーブル定義を参照してください。
下図は、一般的な SoC システムの大まかなブロック図を示しています。
この例では、更新可能なファームウェアを含む各システム デバイスは、1 つのブロックで表されます。 各ブロックは、デバイスの対象となる独立したファームウェア更新プログラムを受信してインストールできます。 そのため、下図に示すように、各ブロックにはそのデバイスを表す ESRT に一意のエントリがあります。
また、デバイスのファームウェアを単一のモノリシック システム ファームウェア更新プログラム ドライバー パッケージの一部として更新することもできます。 この場合、デバイスはシステム ファームウェアで更新されるため、デバイスに ESRT エントリはありません。 より一般的には、デバイスのファームウェア更新プログラムは ESRT 内の 1 つのエントリによってのみ対象にすることができます。
わかりやすくするために、上図では、各デバイスのファームウェア更新プログラムが一意のエントリを個別に対象とするモデルについて説明しています。 テーブルの各 GUID は、この SoC システム内の更新可能なデバイスまたは UEFI システム ファームウェアを識別します。 テーブル内の各 GUID は一意であり (つまり、2 つのデバイス/システム ファームウェアが同じ GUID 値を共有しない)、また、テーブルは 1 つの SoC システムに対して一意です。 SoC システムのハードウェア リビジョンでは、デバイス/システム ファームウェアの新しい GUID 値を定義する必要があります。 これにより、リビジョン間のデバイス ハードウェアの微妙な違いによって異なるファームウェアが必要になる場合があるため、ファームウェアは、改訂されたハードウェア内の各コンポーネントを対象とすることが保証されます。