Linux Kernel
3.7.1
|
#include <linux/signal.h>
#include <linux/regset.h>
#include <asm/uaccess.h>
#include <asm/traps.h>
#include <asm/desc.h>
#include <asm/user.h>
#include <asm/i387.h>
#include "fpu_system.h"
#include "fpu_emu.h"
#include "exception.h"
#include "control_w.h"
#include "status_w.h"
Go to the source code of this file.
Macros | |
#define | __BAD__ FPU_illegal /* Illegal on an 80486, causes SIGILL */ |
#define | _d9_d8_ fstp_i /* unofficial code (19) */ |
#define | _dc_d0_ fcom_st /* unofficial code (14) */ |
#define | _dc_d8_ fcompst /* unofficial code (1c) */ |
#define | _dd_c8_ fxch_i /* unofficial code (0d) */ |
#define | _de_d0_ fcompst /* unofficial code (16) */ |
#define | _df_c0_ ffreep /* unofficial code (07) ffree + pop */ |
#define | _df_c8_ fxch_i /* unofficial code (0f) */ |
#define | _df_d0_ fstp_i /* unofficial code (17) */ |
#define | _df_d8_ fstp_i /* unofficial code (1f) */ |
#define | _NONE_ 0 /* Take no special action */ |
#define | _REG0_ 1 /* Need to check for not empty st(0) */ |
#define | _REGI_ 2 /* Need to check for not empty st(0) and st(rm) */ |
#define | _REGi_ 0 /* Uses st(rm) */ |
#define | _PUSH_ 3 /* Need to check for space to push onto stack */ |
#define | _null_ 4 /* Function illegal or not implemented */ |
#define | _REGIi 5 /* Uses st(0) and st(rm), result to st(rm) */ |
#define | _REGIp 6 /* Uses st(0) and st(rm), result to st(rm) then pop */ |
#define | _REGIc 0 /* Compare st(0) and st(rm) */ |
#define | _REGIn 0 /* Uses st(0) and st(rm), but handle checks later */ |
#define | S387 ((struct i387_soft_struct *)s387) |
#define | sstatus_word() ((S387->swd & ~SW_Top & 0xffff) | ((S387->ftop << SW_Top_Shift) & SW_Top)) |
Functions | |
void | math_emulate (struct math_emu_info *info) |
void | math_abort (struct math_emu_info *info, unsigned int signal) |
int | fpregs_soft_set (struct task_struct *target, const struct user_regset *regset, unsigned int pos, unsigned int count, const void *kbuf, const void __user *ubuf) |
int | fpregs_soft_get (struct task_struct *target, const struct user_regset *regset, unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf) |
#define __BAD__ FPU_illegal /* Illegal on an 80486, causes SIGILL */ |
Definition at line 42 of file fpu_entry.c.
Definition at line 51 of file fpu_entry.c.
Definition at line 52 of file fpu_entry.c.
Definition at line 53 of file fpu_entry.c.
Definition at line 54 of file fpu_entry.c.
Definition at line 55 of file fpu_entry.c.
Definition at line 56 of file fpu_entry.c.
Definition at line 57 of file fpu_entry.c.
Definition at line 58 of file fpu_entry.c.
Definition at line 59 of file fpu_entry.c.
Definition at line 87 of file fpu_entry.c.
Definition at line 92 of file fpu_entry.c.
Definition at line 91 of file fpu_entry.c.
Definition at line 89 of file fpu_entry.c.
#define _REGi_ 0 /* Uses st(rm) */ |
Definition at line 90 of file fpu_entry.c.
Definition at line 95 of file fpu_entry.c.
Definition at line 93 of file fpu_entry.c.
Definition at line 96 of file fpu_entry.c.
Definition at line 94 of file fpu_entry.c.
#define S387 ((struct i387_soft_struct *)s387) |
Definition at line 676 of file fpu_entry.c.
Definition at line 677 of file fpu_entry.c.
int fpregs_soft_get | ( | struct task_struct * | target, |
const struct user_regset * | regset, | ||
unsigned int | pos, | ||
unsigned int | count, | ||
void * | kbuf, | ||
void __user * | ubuf | ||
) |
Definition at line 732 of file fpu_entry.c.
int fpregs_soft_set | ( | struct task_struct * | target, |
const struct user_regset * | regset, | ||
unsigned int | pos, | ||
unsigned int | count, | ||
const void * | kbuf, | ||
const void __user * | ubuf | ||
) |
Definition at line 680 of file fpu_entry.c.
void math_abort | ( | struct math_emu_info * | info, |
unsigned int | signal | ||
) |
Definition at line 663 of file fpu_entry.c.
void math_emulate | ( | struct math_emu_info * | info | ) |
Definition at line 135 of file fpu_entry.c.