summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/s390/include/asm/fpu-types.h1
-rw-r--r--arch/s390/include/asm/processor.h1
-rw-r--r--arch/s390/kernel/fpu.c11
-rw-r--r--arch/s390/kernel/process.c1
4 files changed, 4 insertions, 10 deletions
diff --git a/arch/s390/include/asm/fpu-types.h b/arch/s390/include/asm/fpu-types.h
index fee4468a85d3..f5b6fab30401 100644
--- a/arch/s390/include/asm/fpu-types.h
+++ b/arch/s390/include/asm/fpu-types.h
@@ -13,7 +13,6 @@
struct fpu {
__u32 fpc; /* Floating-point control */
- void *regs; /* Pointer to the current save area */
union {
/* Floating-point register save area */
freg_t fprs[__NUM_FPRS];
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h
index eee0a1eec620..ecce58abf3db 100644
--- a/arch/s390/include/asm/processor.h
+++ b/arch/s390/include/asm/processor.h
@@ -202,7 +202,6 @@ typedef struct thread_struct thread_struct;
#define INIT_THREAD { \
.ksp = sizeof(init_stack) + (unsigned long) &init_stack, \
- .ufpu.regs = (void *)init_task.thread.ufpu.fprs, \
.last_break = 1, \
}
diff --git a/arch/s390/kernel/fpu.c b/arch/s390/kernel/fpu.c
index b976da5bf71b..a0ef3fc5d90f 100644
--- a/arch/s390/kernel/fpu.c
+++ b/arch/s390/kernel/fpu.c
@@ -110,13 +110,12 @@ EXPORT_SYMBOL(__kernel_fpu_end);
void __load_user_fpu_regs(void)
{
struct fpu *state = &current->thread.ufpu;
- void *regs = current->thread.ufpu.regs;
fpu_lfpc_safe(&state->fpc);
if (likely(cpu_has_vx()))
- load_vx_regs(regs);
+ load_vx_regs(state->vxrs);
else
- load_fp_regs(regs);
+ load_fp_regs(state->fprs);
clear_thread_flag(TIF_FPU);
}
@@ -132,7 +131,6 @@ void save_user_fpu_regs(void)
{
unsigned long flags;
struct fpu *state;
- void *regs;
local_irq_save(flags);
@@ -140,13 +138,12 @@ void save_user_fpu_regs(void)
goto out;
state = &current->thread.ufpu;
- regs = current->thread.ufpu.regs;
fpu_stfpc(&state->fpc);
if (likely(cpu_has_vx()))
- save_vx_regs(regs);
+ save_vx_regs(state->vxrs);
else
- save_fp_regs(regs);
+ save_fp_regs(state->fprs);
set_thread_flag(TIF_FPU);
out:
local_irq_restore(flags);
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index b7b623818753..dd456b475861 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -94,7 +94,6 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
save_user_fpu_regs();
*dst = *src;
- dst->thread.ufpu.regs = dst->thread.ufpu.fprs;
dst->thread.kfpu_flags = 0;
/*