From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>, "Wei Liu" <wl@xen.org>
Subject: [PATCH v4 1/4] x86/microcode: Allow reading microcode revision even if it can't be updated
Date: Thu, 22 Jun 2023 18:42:16 +0100 [thread overview]
Message-ID: <20230622174219.8871-2-alejandro.vallejo@cloud.com> (raw)
In-Reply-To: <20230622174219.8871-1-alejandro.vallejo@cloud.com>
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 <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
v4:
* Only remove the assumptions on handler contents from
microcode_update_one() and leave early_microcode_init() alone (Andrew)
---
xen/arch/x86/cpu/microcode/core.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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);
}
--
2.34.1
next prev parent reply other threads:[~2023-06-22 17:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-22 17:42 [PATCH v4 0/4] Prevent attempting updates known to fail Alejandro Vallejo
2023-06-22 17:42 ` Alejandro Vallejo [this message]
2023-06-22 17:42 ` [PATCH v4 2/4] x86/microcode: Ignore microcode loading interface for revision = -1 Alejandro Vallejo
2023-06-23 7:27 ` Jan Beulich
2023-06-22 17:42 ` [PATCH v4 3/4] x86: Read MSR_ARCH_CAPS immediately after early_microcode_init() Alejandro Vallejo
2023-06-23 7:33 ` Jan Beulich
2023-06-29 15:02 ` Alejandro Vallejo
2023-06-22 17:42 ` [PATCH v4 4/4] x86/microcode: Disable microcode update handler if DIS_MCU_UPDATE is set Alejandro Vallejo
2023-06-23 7:39 ` Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230622174219.8871-2-alejandro.vallejo@cloud.com \
--to=alejandro.vallejo@cloud.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=roger.pau@citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.