diff mbox series

x86/xen: fix secondary processor fpu initialization

Message ID 20230703130032.22916-1-jgross@suse.com (mailing list archive)
State Accepted
Commit fe3e0a13e597c1c8617814bf9b42ab732db5c26e
Headers show
Series x86/xen: fix secondary processor fpu initialization | expand

Commit Message

Juergen Gross July 3, 2023, 1 p.m. UTC
Moving the call of fpu__init_cpu() from cpu_init() to start_secondary()
broke Xen PV guests, as those don't call start_secondary() for APs.

Fix that by adding the call of fpu__init_cpu() to cpu_bringup(), which
is the Xen PV replacement of start_secondary().

Fixes: b81fac906a8f ("x86/fpu: Move FPU initialization into arch_cpu_finalize_init()")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/smp_pv.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Boris Ostrovsky July 3, 2023, 5:51 p.m. UTC | #1
On 7/3/23 9:00 AM, Juergen Gross wrote:
> Moving the call of fpu__init_cpu() from cpu_init() to start_secondary()
> broke Xen PV guests, as those don't call start_secondary() for APs.
> 
> Fix that by adding the call of fpu__init_cpu() to cpu_bringup(), which
> is the Xen PV replacement of start_secondary().
> 
> Fixes: b81fac906a8f ("x86/fpu: Move FPU initialization into arch_cpu_finalize_init()")
> Signed-off-by: Juergen Gross <jgross@suse.com>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Juergen Gross July 4, 2023, 5:42 a.m. UTC | #2
On 03.07.23 19:51, Boris Ostrovsky wrote:
> 
> 
> On 7/3/23 9:00 AM, Juergen Gross wrote:
>> Moving the call of fpu__init_cpu() from cpu_init() to start_secondary()
>> broke Xen PV guests, as those don't call start_secondary() for APs.
>>
>> Fix that by adding the call of fpu__init_cpu() to cpu_bringup(), which
>> is the Xen PV replacement of start_secondary().
>>
>> Fixes: b81fac906a8f ("x86/fpu: Move FPU initialization into 
>> arch_cpu_finalize_init()")
>> Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> 
> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> 

x86 maintainers, could this please go through the tip tree? The patch is
depending on other 6.5 patches which went in via tip.


Juergen
diff mbox series

Patch

diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
index d5ae5de2daa2..cef78b8c89f4 100644
--- a/arch/x86/xen/smp_pv.c
+++ b/arch/x86/xen/smp_pv.c
@@ -63,6 +63,7 @@  static void cpu_bringup(void)
 	cr4_init();
 	cpuhp_ap_sync_alive();
 	cpu_init();
+	fpu__init_cpu();
 	touch_softlockup_watchdog();
 
 	/* PVH runs in ring 0 and allows us to do native syscalls. Yay! */