14.16.2. 了解主机物理机器 CPU 模型
virsh capabilities 命令显示描述管理程序连接和主机物理机器的 XML 文档。显示的 XML 模式已扩展,以提供主机物理机器 CPU 模型的信息。描述 CPU 模型的一个最大挑战是,每个架构都有不同的方法来公开其功能。在 x86 上,现代 CPU 的功能通过 CPUID 指令公开。本质上,这分为一组 32 位整数,每个位都给出一个具体含义。幸运的是,AMD 和 Intel 同意这些位的通用语义。其他虚拟机监控程序以客户机虚拟机配置格式直接公开 CPUID 掩码的概念。然而,QEMU/KVM 不仅支持 x86 架构,因此 CPUID 显然不适合规范配置格式。QEMU 使用结合 CPU 型号名称字符串的方案以及一组指定选项的方案结束。在 x86 上,CPU 模型映射到基准 CPUID 掩码,并可使用选项在掩码上切换或关闭位。libvirt 决定按照此潜在客户并使用模型名称和选项的组合。
数据库列表不是所有已知的 CPU 型号,因此 libvirt 具有少量的基准 CPU 模型名称列表。它选择与实际主机物理机器 CPU 共享最大数量的 CPUID 位,然后按照指定功能列出剩余的位。请注意,libvirt 不显示基准 CPU 包含的功能。这可能与第一个漏洞类似,但本节将对此进行说明,实际上并不需要了解此信息。