インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

5.4.1. 変換ステージ

SMMUは、2つのアドレス変換ステージをサポートします。この設計により、複数のゲスト・オペレーティング・システムをプロセッサーで実行すると同時に、ハイパーバイザーで変換テーブルを管理し、特定のゲスト・オペレーティング・システムのアドレスを物理アドレスに変換することが可能になります。

  • ステージ1の変換では、仮想アドレス (VA) 入力が物理アドレス (PA) 出力または中間物理アドレス (IPA) 出力に変換されます。セキュア変換および非セキュア変換のコンテキストの両方で、ステージ1の変換を使用します。OSは通常、特定のセキュリティー状態のステージ1の変換に対して、メモリー内で変換テーブルを定義します。OSはまた、SMMUを有効にしてトランザクションを受け入れる前に、ステージ1の変換に向けてSMMUをコンフィグレーションします。

    ステージ1の変換の例として、複数のOSをサポートするシステム上でアドレスを変換するゲストOSが考えられます。この場合、仮想アドレスから物理アドレスへの変換は、実際には仮想アドレスから中間物理アドレスへの変換であり、仮想マシン・マネージャーによって他のOSのIPAとともに管理されます。

  • ステージ2の変換では、IPA入力がPA出力に変換されます。非セキュア変換のコンテキストのみでステージ2の変換を使用することができます。ステージ2の変換の例には、特定のゲストOSのIPAをPAに変換するハイパーバイザーが挙げられます。
  • ステージ1とステージ2の変換を組み合わせ、VA入力をIPA出力に変換し、その後IPA入力をPA出力に変換することが可能です。SMMUの変換制御ユニット (TCU) は、変換の各ステージで変換テーブルウォークを実行します。次に、この組み合わせ変換の例を示します。
    • 非セキュア・オペレーティング・システムでは、アプリケーション・レベルおよびオペレーティング・システム・レベルの操作にステージ1の変換が定義されます。この割り当ては、プロセッサーで使用するVAから物理メモリーシステム内のPAにマッピングしていると想定して行われます。ただし実際には、VAからIPAにマッピングされています。
    • ハイパーバイザーは、ステージ2のアドレス変換を定義し、IPAをPAにマッピングします。これは、1つもしくは複数の非セキュア・ゲスト・オペレーティング・システムの仮想化の一部として行われます。

変換の各ステージでは、複数の変換テーブル・ルックアップまたは複数のアドレス・ルックアップのレベルを要求することができます。SMMUでは、ステージ1からステージ2の変換にメモリー属性を変更することも可能です。SMMUをプログラミングしてステージの変換を無効化またはバイパスし、その無効化またはバイパスされたステージのメモリー属性を変更することも可能です。