Loading arch/sh/Kconfig.sh64 +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ choice config CPU_SH5 bool "SH-5" select CPU_HAS_FPU endchoice Loading arch/sh/kernel/cpu/sh5/Makefile +1 −0 Original line number Diff line number Diff line obj-y := entry.o switchto.o obj-$(CONFIG_KALLSYMS) += unwind.o obj-$(CONFIG_SH_FPU) += fpu.o arch/sh64/kernel/fpu.c→arch/sh/kernel/cpu/sh5/fpu.c +2 −2 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ do_fpu_state_restore(unsigned long ex, struct pt_regs *regs) if (last_task_used_math == current) return; grab_fpu(); enable_fpu(); if (last_task_used_math != NULL) { /* Other processes fpu state, save away */ fpsave(&last_task_used_math->thread.fpu.hard); Loading @@ -165,6 +165,6 @@ do_fpu_state_restore(unsigned long ex, struct pt_regs *regs) fpload(&init_fpuregs.hard); set_used_math(); } release_fpu(); disable_fpu(); } arch/sh/kernel/process_64.c +4 −4 Original line number Diff line number Diff line Loading @@ -469,9 +469,9 @@ int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) fpvalid = !!tsk_used_math(tsk); if (fpvalid) { if (current == last_task_used_math) { grab_fpu(); enable_fpu(); fpsave(&tsk->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = 0; regs->sr |= SR_FD; } Loading @@ -496,9 +496,9 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, #ifdef CONFIG_SH_FPU if(last_task_used_math == current) { grab_fpu(); enable_fpu(); fpsave(¤t->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = NULL; regs->sr |= SR_FD; } Loading arch/sh/kernel/signal_64.c +2 −2 Original line number Diff line number Diff line Loading @@ -211,9 +211,9 @@ setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) return err; if (current == last_task_used_math) { grab_fpu(); enable_fpu(); fpsave(¤t->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = NULL; regs->sr |= SR_FD; } Loading Loading
arch/sh/Kconfig.sh64 +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ choice config CPU_SH5 bool "SH-5" select CPU_HAS_FPU endchoice Loading
arch/sh/kernel/cpu/sh5/Makefile +1 −0 Original line number Diff line number Diff line obj-y := entry.o switchto.o obj-$(CONFIG_KALLSYMS) += unwind.o obj-$(CONFIG_SH_FPU) += fpu.o
arch/sh64/kernel/fpu.c→arch/sh/kernel/cpu/sh5/fpu.c +2 −2 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ do_fpu_state_restore(unsigned long ex, struct pt_regs *regs) if (last_task_used_math == current) return; grab_fpu(); enable_fpu(); if (last_task_used_math != NULL) { /* Other processes fpu state, save away */ fpsave(&last_task_used_math->thread.fpu.hard); Loading @@ -165,6 +165,6 @@ do_fpu_state_restore(unsigned long ex, struct pt_regs *regs) fpload(&init_fpuregs.hard); set_used_math(); } release_fpu(); disable_fpu(); }
arch/sh/kernel/process_64.c +4 −4 Original line number Diff line number Diff line Loading @@ -469,9 +469,9 @@ int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) fpvalid = !!tsk_used_math(tsk); if (fpvalid) { if (current == last_task_used_math) { grab_fpu(); enable_fpu(); fpsave(&tsk->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = 0; regs->sr |= SR_FD; } Loading @@ -496,9 +496,9 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, #ifdef CONFIG_SH_FPU if(last_task_used_math == current) { grab_fpu(); enable_fpu(); fpsave(¤t->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = NULL; regs->sr |= SR_FD; } Loading
arch/sh/kernel/signal_64.c +2 −2 Original line number Diff line number Diff line Loading @@ -211,9 +211,9 @@ setup_sigcontext_fpu(struct pt_regs *regs, struct sigcontext __user *sc) return err; if (current == last_task_used_math) { grab_fpu(); enable_fpu(); fpsave(¤t->thread.fpu.hard); release_fpu(); disable_fpu(); last_task_used_math = NULL; regs->sr |= SR_FD; } Loading