diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 13:31:50 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:31:50 +0100 |
commit | 4421011120b2304e5c248ae4165a2704588aedf1 (patch) | |
tree | b715f9bd5fbe3493a2c6a14d0c30832c42832e62 /include/asm-x86 | |
parent | b7b71725fb9584454bfe5f231223bd63421798fb (diff) |
x86: x86 i387 user_regset
This revamps the i387 code to be shared across 32-bit, 64-bit,
and 32-on-64. It does so by consolidating the code in one place
based on the user_regset accessor interfaces. This switches
32-bit to using the i387_64.h header and 64-bit to using the
i387.c that was previously i387_32.c, but that's what took the
least cleanup in each file. Here i387.h is stubbed to always
include i387_64.h rather than renaming the file, to keep this
diff smaller and easier to read.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86')
-rw-r--r-- | include/asm-x86/fpu32.h | 10 | ||||
-rw-r--r-- | include/asm-x86/i387.h | 6 | ||||
-rw-r--r-- | include/asm-x86/i387_64.h | 11 |
3 files changed, 12 insertions, 15 deletions
diff --git a/include/asm-x86/fpu32.h b/include/asm-x86/fpu32.h deleted file mode 100644 index 4153db5c0c3..00000000000 --- a/include/asm-x86/fpu32.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _FPU32_H -#define _FPU32_H 1 - -struct _fpstate_ia32; - -int restore_i387_ia32(struct task_struct *tsk, struct _fpstate_ia32 __user *buf, int fsave); -int save_i387_ia32(struct task_struct *tsk, struct _fpstate_ia32 __user *buf, - struct pt_regs *regs, int fsave); - -#endif diff --git a/include/asm-x86/i387.h b/include/asm-x86/i387.h index a8bbed34966..b2bc0050ce9 100644 --- a/include/asm-x86/i387.h +++ b/include/asm-x86/i387.h @@ -1,5 +1 @@ -#ifdef CONFIG_X86_32 -# include "i387_32.h" -#else -# include "i387_64.h" -#endif +#include "i387_64.h" diff --git a/include/asm-x86/i387_64.h b/include/asm-x86/i387_64.h index 4cea7373ac7..de435b9114d 100644 --- a/include/asm-x86/i387_64.h +++ b/include/asm-x86/i387_64.h @@ -12,6 +12,7 @@ #include <linux/sched.h> #include <linux/kernel_stat.h> +#include <linux/regset.h> #include <asm/processor.h> #include <asm/sigcontext.h> #include <asm/user.h> @@ -23,6 +24,16 @@ extern void mxcsr_feature_mask_init(void); extern void init_fpu(struct task_struct *child); extern asmlinkage void math_state_restore(void); +extern user_regset_active_fn fpregs_active, xfpregs_active; +extern user_regset_get_fn fpregs_get, xfpregs_get, fpregs_soft_get; +extern user_regset_set_fn fpregs_set, xfpregs_set, fpregs_soft_set; + +#ifdef CONFIG_IA32_EMULATION +struct _fpstate_ia32; +extern int save_i387_ia32(struct _fpstate_ia32 __user *buf); +extern int restore_i387_ia32(struct _fpstate_ia32 __user *buf); +#endif + #ifdef CONFIG_X86_64 /* Ignore delayed exceptions from user space */ |