On Sat, Feb 06, 2016 at 12:05:32PM -0800, Andy Lutomirski wrote:
int __init microcode_init(void)There was some breakage on 32-bit pvops with that.
{
[...]
if (paravirt_enabled() || dis_ucode_ldr)
return -EINVAL;
This is also asking "are we the natively booted kernel?" This is
plausibly useful for real. (Borislav, is this actually necessary?)
Seems to me there should be a function is_native_root_kernel() orSo there are two aspects:
similar. Obviously it could have false positives and code will have
to deal with that. (This also could be entirely wrong. What code is
responsible for CPU microcode updates on Xen? For all I know, dom0 is
*supposed* to apply microcode updates, in which case that check really
should be deleted.
- the guest loading the microcode driver. Xen should behave like
qemu+kvm does: emulate the MSR accesses the microcode loader does.
- microcode application on Xen: we've had this before. The hypervisor
should do that (if it doesn't do so already).
So yes, that paravirt_enabled() thing should go away. Even more so if we
have CPUID leaf 0x4... reserved for hypervisors.