mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
x86, fpu: Unbreak FPU emulation
Unbreak FPU emulation, broken by checkin
8660328332
:
x86: Introduce 'struct fpu' and related API
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <1273135546-29690-3-git-send-email-avi@redhat.com>
This commit is contained in:
parent
8660328332
commit
c3f8978ea3
@ -52,7 +52,7 @@ void finit_soft_fpu(struct i387_soft_struct *soft)
|
||||
|
||||
void finit(void)
|
||||
{
|
||||
finit_task(¤t->thread.fpu);
|
||||
finit_soft_fpu(¤t->thread.fpu.state->soft);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -681,7 +681,7 @@ int fpregs_soft_set(struct task_struct *target,
|
||||
unsigned int pos, unsigned int count,
|
||||
const void *kbuf, const void __user *ubuf)
|
||||
{
|
||||
struct i387_soft_struct *s387 = &target->thread.xstate->soft;
|
||||
struct i387_soft_struct *s387 = &target->thread.fpu.state->soft;
|
||||
void *space = s387->st_space;
|
||||
int ret;
|
||||
int offset, other, i, tags, regnr, tag, newtop;
|
||||
@ -733,7 +733,7 @@ int fpregs_soft_get(struct task_struct *target,
|
||||
unsigned int pos, unsigned int count,
|
||||
void *kbuf, void __user *ubuf)
|
||||
{
|
||||
struct i387_soft_struct *s387 = &target->thread.xstate->soft;
|
||||
struct i387_soft_struct *s387 = &target->thread.fpu.state->soft;
|
||||
const void *space = s387->st_space;
|
||||
int ret;
|
||||
int offset = (S387->ftop & 7) * 10, other = 80 - offset;
|
||||
|
@ -31,7 +31,7 @@
|
||||
#define SEG_EXPAND_DOWN(s) (((s).b & ((1 << 11) | (1 << 10))) \
|
||||
== (1 << 10))
|
||||
|
||||
#define I387 (current->thread.xstate)
|
||||
#define I387 (current->thread.fpu.state)
|
||||
#define FPU_info (I387->soft.info)
|
||||
|
||||
#define FPU_CS (*(unsigned short *) &(FPU_info->regs->cs))
|
||||
|
Loading…
Reference in New Issue
Block a user