Loading arch/arc/include/asm/fpu.h 0 → 100644 +29 −0 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2020 Synopsys, Inc. (www.synopsys.com) * */ #ifndef _ASM_ARC_FPU_H #define _ASM_ARC_FPU_H #ifdef CONFIG_ARC_FPU_SAVE_RESTORE #include <asm/ptrace.h> /* These DPFP regs need to be saved/restored across ctx-sw */ struct arc_fpu { struct { unsigned int l, h; } aux_dpfp[2]; }; extern void fpu_save_restore(struct task_struct *p, struct task_struct *n); #else #define fpu_save_restore(p, n) #endif /* CONFIG_ARC_FPU_SAVE_RESTORE */ #endif /* _ASM_ARC_FPU_H */ arch/arc/include/asm/processor.h +1 −9 Original line number Diff line number Diff line Loading @@ -14,15 +14,7 @@ #ifndef __ASSEMBLY__ #include <asm/ptrace.h> #ifdef CONFIG_ARC_FPU_SAVE_RESTORE /* These DPFP regs need to be saved/restored across ctx-sw */ struct arc_fpu { struct { unsigned int l, h; } aux_dpfp[2]; }; #endif #include <asm/fpu.h> #ifdef CONFIG_ARC_PLAT_EZNPS struct eznps_dp { Loading arch/arc/include/asm/switch_to.h +2 −15 Original line number Diff line number Diff line Loading @@ -9,19 +9,7 @@ #ifndef __ASSEMBLY__ #include <linux/sched.h> #ifdef CONFIG_ARC_FPU_SAVE_RESTORE extern void fpu_save_restore(struct task_struct *p, struct task_struct *n); #define ARC_FPU_PREV(p, n) fpu_save_restore(p, n) #define ARC_FPU_NEXT(t) #else #define ARC_FPU_PREV(p, n) #define ARC_FPU_NEXT(n) #endif /* !CONFIG_ARC_FPU_SAVE_RESTORE */ #include <asm/fpu.h> #ifdef CONFIG_ARC_PLAT_EZNPS extern void dp_save_restore(struct task_struct *p, struct task_struct *n); Loading @@ -36,9 +24,8 @@ struct task_struct *__switch_to(struct task_struct *p, struct task_struct *n); #define switch_to(prev, next, last) \ do { \ ARC_EZNPS_DP_PREV(prev, next); \ ARC_FPU_PREV(prev, next); \ fpu_save_restore(prev, next); \ last = __switch_to(prev, next);\ ARC_FPU_NEXT(next); \ mb(); \ } while (0) Loading arch/arc/kernel/fpu.c +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ */ #include <linux/sched.h> #include <asm/switch_to.h> #include <asm/fpu.h> /* * To save/restore FPU regs, simplest scheme would use LR/SR insns. Loading Loading
arch/arc/include/asm/fpu.h 0 → 100644 +29 −0 Original line number Diff line number Diff line /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2020 Synopsys, Inc. (www.synopsys.com) * */ #ifndef _ASM_ARC_FPU_H #define _ASM_ARC_FPU_H #ifdef CONFIG_ARC_FPU_SAVE_RESTORE #include <asm/ptrace.h> /* These DPFP regs need to be saved/restored across ctx-sw */ struct arc_fpu { struct { unsigned int l, h; } aux_dpfp[2]; }; extern void fpu_save_restore(struct task_struct *p, struct task_struct *n); #else #define fpu_save_restore(p, n) #endif /* CONFIG_ARC_FPU_SAVE_RESTORE */ #endif /* _ASM_ARC_FPU_H */
arch/arc/include/asm/processor.h +1 −9 Original line number Diff line number Diff line Loading @@ -14,15 +14,7 @@ #ifndef __ASSEMBLY__ #include <asm/ptrace.h> #ifdef CONFIG_ARC_FPU_SAVE_RESTORE /* These DPFP regs need to be saved/restored across ctx-sw */ struct arc_fpu { struct { unsigned int l, h; } aux_dpfp[2]; }; #endif #include <asm/fpu.h> #ifdef CONFIG_ARC_PLAT_EZNPS struct eznps_dp { Loading
arch/arc/include/asm/switch_to.h +2 −15 Original line number Diff line number Diff line Loading @@ -9,19 +9,7 @@ #ifndef __ASSEMBLY__ #include <linux/sched.h> #ifdef CONFIG_ARC_FPU_SAVE_RESTORE extern void fpu_save_restore(struct task_struct *p, struct task_struct *n); #define ARC_FPU_PREV(p, n) fpu_save_restore(p, n) #define ARC_FPU_NEXT(t) #else #define ARC_FPU_PREV(p, n) #define ARC_FPU_NEXT(n) #endif /* !CONFIG_ARC_FPU_SAVE_RESTORE */ #include <asm/fpu.h> #ifdef CONFIG_ARC_PLAT_EZNPS extern void dp_save_restore(struct task_struct *p, struct task_struct *n); Loading @@ -36,9 +24,8 @@ struct task_struct *__switch_to(struct task_struct *p, struct task_struct *n); #define switch_to(prev, next, last) \ do { \ ARC_EZNPS_DP_PREV(prev, next); \ ARC_FPU_PREV(prev, next); \ fpu_save_restore(prev, next); \ last = __switch_to(prev, next);\ ARC_FPU_NEXT(next); \ mb(); \ } while (0) Loading
arch/arc/kernel/fpu.c +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ */ #include <linux/sched.h> #include <asm/switch_to.h> #include <asm/fpu.h> /* * To save/restore FPU regs, simplest scheme would use LR/SR insns. Loading