Does anybody know exactly if the microcode_ctl package (and so all the microcode files) are needed on a virtual guest (vmware or ovirt/rhev)? Is it safe to remove it as long an host is running on a hypervisor?
I've found different unofficial answers to my question but I didn't find an official one in the RedHat documentation. What I've found are a bug report and other sources around the web but still isn't so clear to me.
"microcode update should be skipped in virtualized environment"
and the relative errata from the 6.5 release notes:
"[...] Previously, the microcode_ctl utility did not detect if it was running in a virtual machine and attempted to install the CPU microcode updates. This behavior caused several errors to be returned in the kernel ring buffer. The underlying source code has been modified and microcode_ctl no longer tries to update the CPU microcode in the described scenario. [...]
This is the most clear one but still it's from 2013. Is still vaild as today?
Various other sources:
"[...]During the boot phase of your virtual machine you may see an error message [...] As the virtual machine is running on virtual CPUs there is no point updating the microcode. Disabling the microcode update for your virtual machines will stop this error [...]"
"[...] the guest OS tried to update the microcode from patch level XX (YYh) to patch level ZZ (TTh), but VMware ESX does not allow microcode patches to be applied from within a virtual machine. Microcode patches are used to correct CPU errata."