On 29/06/2023 4:26 pm, Alejandro Vallejo wrote:
> diff --git a/xen/arch/x86/cpu/microcode/core.c
> b/xen/arch/x86/cpu/microcode/core.c
> index bec8b55db2..b620e3bfa6 100644
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -867,10 +867,22 @@ int __init early_microcode_init(unsigned long
> *module_map,
> return -ENODEV;
> }
>
> - microcode_grab_module(module_map, mbi);
> -
> ucode_ops.collect_cpu_info();
>
> + /*
> + * Some hypervisors deliberately report a microcode revision of -1 to
> + * mean that they will not accept microcode updates. We take the hint
> + * and ignore the microcode interface in that case.
> + */
> + if ( this_cpu(cpu_sig).rev == ~0 )
> + {
> + printk(XENLOG_WARNING "Microcode loading disabled\n");
XENLOG_INFO "Found microcode revision ~0; Disabling loading because of
virt\n"
It's normal (and not a warning) when running under other hypervisors,
and just "loading disabled" is too little information.
Happy to fix on commit. Everything else looks ok.
~Andrew