15.16.2. ホスト物理マシン CPU モデルに関する認識

virsh capabilities コマンドは、ハイパーバイザーの接続とホスト物理マシンの能力を記述する XML ドキュメントを表示します。表示される XML スキーマは、ホスト物理マシンの CPU モデルの情報を提供するように拡張されています。CPU モデルの記述において大きな挑戦となるものの1 つは、すべてのアーキテクチャーがそれぞれの機能の公開に対して異なるアプローチを取っていることです。x86 では、最新の CPU 機能は、CPUID インストラクションを介して公開されます。基本的に、これはそれぞれのビットが特殊な意味を持つ 32ビットの整数のセットに要約されます。AMD と Intel については、これらのビットに関する共通の意味で一致しています。その他のハイパーバイザーは、CPUID マスクの概念をそれらのゲスト仮想マシンの設定形式に直接公開します。しかし、QEMU/KVM は、単なる x86 アーキテクチャーよりも多くをサポートするため、CPUID は、規準となる設定形式としては適切でないことは明らかです。QEMU は、最終的に CPU モデルの名前文字列と名前付きのフラグのセットを組み合わせるスキームを使用することになりました。x86 では、CPU モデルはベースライン CPUID マスクにマップして、フラグはそのマスク内でビットをオンとオフに切り替えるために使用できます。libvirt では、これに追従することが決定されており、モデル名とフラグの組み合わせを使用します。
既知の CPU モデルすべてを一覧表示するデータベースを取得することは実際的ではありません。そのため、libvirt はベースライン CPU モデル名の小規模な一覧を維持します。この一覧は、実際のホスト物理マシン CPU と共に最大数の CPUID 部分を共有するものを選択して、残りの部分は名前付きの機能として一覧表示します。libvirt は、ベースライン CPU に含まれる機能は表示しないことに注意してください。これは、一見すると欠陥のように見えますが、このセクションで説明されるように、この情報について知る必要はありません。