Starting from kernel 4.19, we need to restore the FPU context from our
scheduling tail.

Signed-off-by: Philippe Gerum <r...@xenomai.org>
---
 kernel/cobalt/arch/arm64/thread.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/cobalt/arch/arm64/thread.c 
b/kernel/cobalt/arch/arm64/thread.c
index 270c99f92..719c30a62 100644
--- a/kernel/cobalt/arch/arm64/thread.c
+++ b/kernel/cobalt/arch/arm64/thread.c
@@ -139,6 +139,9 @@ void xnarch_switch_to(struct xnthread *out, struct xnthread 
*in)
        (void)last;
 #else
        switch_to(prev, next, last);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)
+       fpsimd_restore_current_state();
+#endif
 #endif
 }
 
-- 
2.21.0


Reply via email to