* [PATCH v3] x86/S3: restore MCE (APs) init
@ 2026-03-23 11:48 Jan Beulich
2026-03-23 14:00 ` Roger Pau Monné
0 siblings, 1 reply; 2+ messages in thread
From: Jan Beulich @ 2026-03-23 11:48 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper, Roger Pau Monné, Marek Marczykowski
MCE init for APs was broken when CPU feature re-checking was added. At the
same time make sure we don't bypass setup_doitm() (and whatever else may
be added to the bottom of identify_cpu()).
Fixes: bb502a8ca592 ("x86: check feature flags after resume")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Sadly we need to go by CPU number (zero vs non-zero) here. See the call
site of recheck_cpu_features() in enter_state().
---
v2: Drop MTRR part. Add comment.
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -642,16 +642,20 @@ void identify_cpu(struct cpuinfo_x86 *c)
smp_processor_id());
}
- if (system_state == SYS_STATE_resume)
- return;
+ if (system_state == SYS_STATE_resume) {
+ unsigned int cpu = smp_processor_id();
+ /* The BSP has this done right from enter_state(). */
+ if (cpu)
+ mcheck_init(&cpu_data[cpu], false);
+ }
/*
* On SMP, boot_cpu_data holds the common feature set between
* all CPUs; so make sure that we indicate which features are
* common between the CPUs. The first time this routine gets
* executed, c == &boot_cpu_data.
*/
- if ( c != &boot_cpu_data ) {
+ else if (c != &boot_cpu_data) {
/* AND the already accumulated flags with these */
for ( i = 0 ; i < NCAPINTS ; i++ )
boot_cpu_data.x86_capability[i] &= c->x86_capability[i];
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v3] x86/S3: restore MCE (APs) init
2026-03-23 11:48 [PATCH v3] x86/S3: restore MCE (APs) init Jan Beulich
@ 2026-03-23 14:00 ` Roger Pau Monné
0 siblings, 0 replies; 2+ messages in thread
From: Roger Pau Monné @ 2026-03-23 14:00 UTC (permalink / raw)
To: Jan Beulich
Cc: xen-devel@lists.xenproject.org, Andrew Cooper, Marek Marczykowski
On Mon, Mar 23, 2026 at 12:48:50PM +0100, Jan Beulich wrote:
> MCE init for APs was broken when CPU feature re-checking was added. At the
> same time make sure we don't bypass setup_doitm() (and whatever else may
> be added to the bottom of identify_cpu()).
>
> Fixes: bb502a8ca592 ("x86: check feature flags after resume")
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Thanks, Roger.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-03-23 14:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23 11:48 [PATCH v3] x86/S3: restore MCE (APs) init Jan Beulich
2026-03-23 14:00 ` Roger Pau Monné
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.