Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.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 モデル名の一覧は少ないです。CPUID ビットの最大数を実際のホストマシン CPU と共有し、残りのビットを名前付き機能として一覧表示するものを選択します。libvirt では、ベースライン CPU に含まれる機能が表示されないことに注意してください。一見、これは欠陥のように思われますが、本セクションで説明するように、この情報を実際に把握する必要はありません。