[PATCH 1/4] cobalt/x86: adapt fpu code with Linux kernel upstream

Jan Kiszka jan.kiszka at siemens.com
Fri Sep 18 15:04:06 CEST 2020


<no commit message>

When I'm asking questions on the code, there was a need for a commit 
message.

On 18.09.20 08:29, Fino Meng wrote:
> Signed-off-by: Fino Meng <fino.meng at linux.intel.com>
> Signed-off-by: Mingliang Hu <mingliang.hu at intel.com>
> ---
>   kernel/cobalt/arch/x86/thread.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/cobalt/arch/x86/thread.c b/kernel/cobalt/arch/x86/thread.c
> index ba807ac1e..c33ad832f 100644
> --- a/kernel/cobalt/arch/x86/thread.c
> +++ b/kernel/cobalt/arch/x86/thread.c
> @@ -26,6 +26,10 @@
>   #include <asm/mmu_context.h>
>   #include <asm/processor.h>
>   
> +#ifdef IPIPE_X86_FPU_EAGER
> +extern void fpu__initialize(struct fpu *fpu);

This will go along with ipipe for 5.4 patching that function to be 
non-static again, right?

> +#endif
> +
>   static struct kmem_cache *xstate_cache;
>   
>   #ifdef IPIPE_X86_FPU_EAGER
> @@ -472,7 +476,7 @@ void xnarch_leave_root(struct xnthread *root)
>   #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
>   	/* restore current's fpregs */
>   	__cpu_invalidate_fpregs_state();
> -	switch_fpu_finish(&current->thread.fpu, smp_processor_id());
> +	switch_fpu_finish(&current->thread.fpu);

That is not correct for < 5.2 (5f409e20b794).

>   #else
>   	/* mark current thread as not owning the FPU anymore */
>   	if (fpregs_active())
> 

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux



More information about the Xenomai mailing list