summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/fpu.c
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2024-02-03 11:45:09 +0100
committerHeiko Carstens <hca@linux.ibm.com>2024-02-16 14:30:15 +0100
commit419abc4d3828813b58d047da146f519eedaa395b (patch)
treeb358423efb377ffd2c050aab1ab2e41740ba44ab /arch/s390/kernel/fpu.c
parent918c7cad66509c2170e38a088550fb4a525e0878 (diff)
downloadlinux-419abc4d3828813b58d047da146f519eedaa395b.tar.gz
linux-419abc4d3828813b58d047da146f519eedaa395b.tar.bz2
linux-419abc4d3828813b58d047da146f519eedaa395b.zip
s390/fpu: convert FPU CIF flag to regular TIF flag
The FPU state, as represented by the CIF_FPU flag reflects the FPU state of a task, not the CPU it is running on. Therefore convert the flag to a regular TIF flag. This removes the magic in switch_to() where a save_fpu_regs() call for the currently (previous) running task sets the per-cpu CIF_FPU flag, which is required to restore FPU register contents of the next task, when it returns to user space. Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/fpu.c')
-rw-r--r--arch/s390/kernel/fpu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/s390/kernel/fpu.c b/arch/s390/kernel/fpu.c
index 0a31408a46f3..12d6e9d97104 100644
--- a/arch/s390/kernel/fpu.c
+++ b/arch/s390/kernel/fpu.c
@@ -117,7 +117,7 @@ void __load_fpu_regs(void)
load_vx_regs(regs);
else
load_fp_regs(regs);
- clear_cpu_flag(CIF_FPU);
+ clear_thread_flag(TIF_FPU);
}
void load_fpu_regs(void)
@@ -136,7 +136,7 @@ void save_fpu_regs(void)
local_irq_save(flags);
- if (test_cpu_flag(CIF_FPU))
+ if (test_thread_flag(TIF_FPU))
goto out;
state = &current->thread.fpu;
@@ -147,7 +147,7 @@ void save_fpu_regs(void)
save_vx_regs(regs);
else
save_fp_regs(regs);
- set_cpu_flag(CIF_FPU);
+ set_thread_flag(TIF_FPU);
out:
local_irq_restore(flags);
}