cobalt/x86: Account for FPU changes in kernel 5.2
Since that version, the FPU is only updated when returning to userspace.
This breaks the thread switching expectations of Xenomai because there
is no update happening when returning to a thread in primary mode or
when switching in a primary-mode kernel thread.
Account for that by
- saving the context when switching out an in-kernel Xenomai thread
- restoring the context after switching in a Xenomai thread
- invalidate the FPU state variables after returning to a preempted
Linux kernel thread that uses the FPU
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
Showing
Please register or sign in to comment