From: Alejandro Vallejo Date: Thu, 6 Jul 2023 07:05:37 +0000 (+0200) Subject: x86/microcode: Allow reading microcode revision even if it can't be updated X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=a00f12055d266a034eb05962810cba4f6b9b0300;p=people%2Faperard%2Fxen-unstable.git x86/microcode: Allow reading microcode revision even if it can't be updated microcode_update_one() currently assumes all microcode handlers are set or none are. That won't be the case in a future patch, as apply_microcode() may not be set while the others are. Hence, this patch allows reading the microcode revision even if updating it is unavailable. Signed-off-by: Alejandro Vallejo Reviewed-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c index c3fee62906..bec8b55db2 100644 --- a/xen/arch/x86/cpu/microcode/core.c +++ b/xen/arch/x86/cpu/microcode/core.c @@ -750,11 +750,12 @@ __initcall(microcode_init); /* Load a cached update to current cpu */ int microcode_update_one(void) { + if ( ucode_ops.collect_cpu_info ) + alternative_vcall(ucode_ops.collect_cpu_info); + if ( !ucode_ops.apply_microcode ) return -EOPNOTSUPP; - alternative_vcall(ucode_ops.collect_cpu_info); - return microcode_update_cpu(NULL); }