QEMU/KVM 虚拟机中是否需要 CPU(或任何)微代码?

QEMU/KVM 虚拟机中是否需要 CPU(或任何)微代码?

虚拟机中的CPU只是虚拟的,所以我假设不需要加载制造商的微代码。这对于 GPU 来说可能同样有效。

它是否正确?在 KVM/QEMU VM 中使用或不使用它是否有任何风险或缺点?

我说的是在 Linux VM 启动过程早期发生的微​​代码更新。

主机和虚拟机的 CPU 是相同的。主机在启动时会加载最新的微代码。

带有参考文献的回复将不胜感激,因为我自己已经做了一个有根据的猜测。

答案1

我不确定文档中是否有参考,但 Paolo Bonzini(KVM 维护者)说过这一点qemu-devel邮件列表上

来宾没有自己的微码,但您需要更新主机中的微码。如果您正在使用它,您还需要更新内核、QEMU 和 libvirt。

进而,特别是关于更新来宾内部的微代码,

不,那没有效果。

答案2

CPU 不可见。好吧,不多。嗯,很多。好吧,这取决于你的观点。在用户模式下它只使用主机CPU。在内核模式下,它可以被模拟或可视化(取决于虚拟化软件 CPU 模型等)。由于它使用主机 CPU,因此主机需要更新微代码。

我希望客人无法接触到这个。也许有人告诉它不能这样做。或者也许被告知它成功了。但绝对不能允许改变,因为这会影响主人和其他客人。

相关内容