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

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

3.5.2. 仮想化

EL2は、非セキュア状態の仮想化をサポートします。仮想化されたシステムには通常、次のものが含まれます。
  • EL2で実行されるハイパーバイザー。これは、仮想マシン間の切り替えを担います。仮想マシンは、非セキュアEL1と非セキュアEL0で構成されます。
  • 多数のゲスト・オペレーティング・システム。それぞれが仮想マシン上の非セキュアEL1で実行されます。
  • 各ゲスト・オペレーティング・システムに対するアプリケーション。これらは通常、仮想マシン上の非セキュアEL0で実行されます。
注: Cortex-A53 MPCore™ プロセッサーは、ゲストOSが他のゲストOSとともに仮想マシン上で実行されていることを認識しないシステム、およびゲストOSが他のゲストOSとともに仮想マシン上で実行されていることを認識するシステムをサポートします。
ハイパーバイザーは、各仮想マシンに仮想マシン識別子 (VMID) を割り当てます。ゲストOSを管理するため、EL2は非セキュア状態でのみ実装されます。EL2により、次の内容を制御します。
  • 少数の識別レジスターの仮想値。ゲストOSまたはゲストOSのアプリケーションによるこれらのレジスターのいずれかに対する読み出しでは、仮想値が返されます。
  • メモリー管理操作を含むさまざまな操作をトラップし、他のレジスターにアクセスします。トラップされた操作は、EL2に渡される例外を生成します。
  • 割り込みを以下にルーティングします。
    • 現在のゲストOS
    • 現在実行されていないゲストOS
    • ハイパーバイザー
非セキュア状態の場合、EL2からのメモリーアクセスには独立した変換方式があります。EL0およびEL1の変換方式では、アドレス変換は2つのステージで行われます。
  • ステージ1では、仮想アドレス (VA) を中間物理アドレス (IPA) にマッピングします。この変換は通常、ゲストOSによってEL1で管理されます。ゲストOSは、IPAが物理アドレス (PA) であると考えています。
  • ステージ2では、IPAをPAにマッピングします。この変換はEL2で管理されます。ゲストOSはこのステージを全く認識しない場合があります。変換方式の詳細に関しては、システムメモリー管理ユニットの章を参照してください。
EL2は次の例外を実装します。
  • ハイパーバイザー・コール (HVC) 例外
  • EL2へのトラップ
  • すべての仮想割り込み
    • 仮想SError
    • 仮想IRQ
    • 仮想FIQ
HVC例外は常にEL2に渡されます。仮想割り込みはすべてEL1に渡され、非セキュアEL1またはEL0からのみ取得することができます。各仮想割り込みは、EL2の制御を使用して個別に有効にすることができます。

Cortex-A53 MPCore™ プロセッサーには仮想化レジスターが含まれており、これにより変換テーブル、ハイパーバイザーの動作、例外レベル、仮想割り込みをコンフィグレーションすることができます。詳細は、 ARM® Cortex-A53 MPCore™ Processor Technical Reference Manualを参照してください。