Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
math-emu
fpu_proto.h
Go to the documentation of this file.
1
#ifndef _FPU_PROTO_H
2
#define _FPU_PROTO_H
3
4
/* errors.c */
5
extern
void
FPU_illegal
(
void
);
6
extern
void
FPU_printall
(
void
);
7
asmlinkage
void
FPU_exception
(
int
n
);
8
extern
int
real_1op_NaN
(
FPU_REG
*
a
);
9
extern
int
real_2op_NaN
(
FPU_REG
const
*
b
,
u_char
tagb,
int
deststnr,
10
FPU_REG
const
*defaultNaN);
11
asmlinkage
int
arith_invalid
(
int
deststnr);
12
asmlinkage
int
FPU_divide_by_zero
(
int
deststnr,
u_char
sign
);
13
extern
int
set_precision_flag
(
int
flags
);
14
asmlinkage
void
set_precision_flag_up
(
void
);
15
asmlinkage
void
set_precision_flag_down
(
void
);
16
asmlinkage
int
denormal_operand
(
void
);
17
asmlinkage
int
arith_overflow
(
FPU_REG
*
dest
);
18
asmlinkage
int
arith_underflow
(
FPU_REG
*
dest
);
19
extern
void
FPU_stack_overflow
(
void
);
20
extern
void
FPU_stack_underflow
(
void
);
21
extern
void
FPU_stack_underflow_i
(
int
i
);
22
extern
void
FPU_stack_underflow_pop
(
int
i
);
23
/* fpu_arith.c */
24
extern
void
fadd__
(
void
);
25
extern
void
fmul__
(
void
);
26
extern
void
fsub__
(
void
);
27
extern
void
fsubr_
(
void
);
28
extern
void
fdiv__
(
void
);
29
extern
void
fdivr_
(
void
);
30
extern
void
fadd_i
(
void
);
31
extern
void
fmul_i
(
void
);
32
extern
void
fsubri
(
void
);
33
extern
void
fsub_i
(
void
);
34
extern
void
fdivri
(
void
);
35
extern
void
fdiv_i
(
void
);
36
extern
void
faddp_
(
void
);
37
extern
void
fmulp_
(
void
);
38
extern
void
fsubrp
(
void
);
39
extern
void
fsubp_
(
void
);
40
extern
void
fdivrp
(
void
);
41
extern
void
fdivp_
(
void
);
42
/* fpu_aux.c */
43
extern
void
finit
(
void
);
44
extern
void
finit_
(
void
);
45
extern
void
fstsw_
(
void
);
46
extern
void
fp_nop
(
void
);
47
extern
void
fld_i_
(
void
);
48
extern
void
fxch_i
(
void
);
49
extern
void
ffree_
(
void
);
50
extern
void
ffreep
(
void
);
51
extern
void
fst_i_
(
void
);
52
extern
void
fstp_i
(
void
);
53
/* fpu_entry.c */
54
extern
void
math_emulate
(
struct
math_emu_info
*
info
);
55
extern
void
math_abort
(
struct
math_emu_info
*
info
,
unsigned
int
signal);
56
/* fpu_etc.c */
57
extern
void
FPU_etc
(
void
);
58
/* fpu_tags.c */
59
extern
int
FPU_gettag0
(
void
);
60
extern
int
FPU_gettagi
(
int
stnr);
61
extern
int
FPU_gettag
(
int
regnr);
62
extern
void
FPU_settag0
(
int
tag
);
63
extern
void
FPU_settagi
(
int
stnr,
int
tag
);
64
extern
void
FPU_settag
(
int
regnr,
int
tag
);
65
extern
int
FPU_Special
(
FPU_REG
const
*
ptr
);
66
extern
int
isNaN
(
FPU_REG
const
*
ptr
);
67
extern
void
FPU_pop
(
void
);
68
extern
int
FPU_empty_i
(
int
stnr);
69
extern
int
FPU_stackoverflow
(
FPU_REG
** st_new_ptr);
70
extern
void
FPU_copy_to_regi
(
FPU_REG
const
*
r
,
u_char
tag
,
int
stnr);
71
extern
void
FPU_copy_to_reg1
(
FPU_REG
const
*
r
,
u_char
tag
);
72
extern
void
FPU_copy_to_reg0
(
FPU_REG
const
*
r
,
u_char
tag
);
73
/* fpu_trig.c */
74
extern
void
FPU_triga
(
void
);
75
extern
void
FPU_trigb
(
void
);
76
/* get_address.c */
77
extern
void
__user
*
FPU_get_address
(
u_char
FPU_modrm,
unsigned
long
*fpu_eip,
78
struct
address
*
addr
,
79
fpu_addr_modes
addr_modes);
80
extern
void
__user
*
FPU_get_address_16
(
u_char
FPU_modrm,
unsigned
long
*fpu_eip,
81
struct
address
*
addr
,
82
fpu_addr_modes
addr_modes);
83
/* load_store.c */
84
extern
int
FPU_load_store
(
u_char
type
,
fpu_addr_modes
addr_modes,
85
void
__user *
data_address
);
86
/* poly_2xm1.c */
87
extern
int
poly_2xm1
(
u_char
sign
,
FPU_REG
*
arg
,
FPU_REG
*
result
);
88
/* poly_atan.c */
89
extern
void
poly_atan
(
FPU_REG
* st0_ptr,
u_char
st0_tag,
FPU_REG
*st1_ptr,
90
u_char
st1_tag);
91
/* poly_l2.c */
92
extern
void
poly_l2
(
FPU_REG
*st0_ptr,
FPU_REG
*st1_ptr,
u_char
st1_sign);
93
extern
int
poly_l2p1
(
u_char
s0
,
u_char
s1
,
FPU_REG
*
r0
,
FPU_REG
*
r1
,
94
FPU_REG
*
d
);
95
/* poly_sin.c */
96
extern
void
poly_sine
(
FPU_REG
*st0_ptr);
97
extern
void
poly_cos
(
FPU_REG
*st0_ptr);
98
/* poly_tan.c */
99
extern
void
poly_tan
(
FPU_REG
*st0_ptr);
100
/* reg_add_sub.c */
101
extern
int
FPU_add
(
FPU_REG
const
*
b
,
u_char
tagb,
int
destrnr,
int
control_w);
102
extern
int
FPU_sub
(
int
flags
,
int
rm
,
int
control_w);
103
/* reg_compare.c */
104
extern
int
FPU_compare_st_data
(
FPU_REG
const
*loaded_data,
u_char
loaded_tag);
105
extern
void
fcom_st
(
void
);
106
extern
void
fcompst
(
void
);
107
extern
void
fcompp
(
void
);
108
extern
void
fucom_
(
void
);
109
extern
void
fucomp
(
void
);
110
extern
void
fucompp
(
void
);
111
/* reg_constant.c */
112
extern
void
fconst
(
void
);
113
/* reg_ld_str.c */
114
extern
int
FPU_load_extended
(
long
double
__user *
s
,
int
stnr);
115
extern
int
FPU_load_double
(
double
__user *dfloat,
FPU_REG
*loaded_data);
116
extern
int
FPU_load_single
(
float
__user *single,
FPU_REG
*loaded_data);
117
extern
int
FPU_load_int64
(
long
long
__user *_s);
118
extern
int
FPU_load_int32
(
long
__user *_s,
FPU_REG
*loaded_data);
119
extern
int
FPU_load_int16
(
short
__user *_s,
FPU_REG
*loaded_data);
120
extern
int
FPU_load_bcd
(
u_char
__user *
s
);
121
extern
int
FPU_store_extended
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
122
long
double
__user *
d
);
123
extern
int
FPU_store_double
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
124
double
__user * dfloat);
125
extern
int
FPU_store_single
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
126
float
__user * single);
127
extern
int
FPU_store_int64
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
128
long
long
__user *
d
);
129
extern
int
FPU_store_int32
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
long
__user *
d
);
130
extern
int
FPU_store_int16
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
short
__user *
d
);
131
extern
int
FPU_store_bcd
(
FPU_REG
*st0_ptr,
u_char
st0_tag,
u_char
__user *
d
);
132
extern
int
FPU_round_to_int
(
FPU_REG
*
r
,
u_char
tag
);
133
extern
u_char
__user
*
fldenv
(
fpu_addr_modes
addr_modes,
u_char
__user *
s
);
134
extern
void
frstor
(
fpu_addr_modes
addr_modes,
u_char
__user *
data_address
);
135
extern
u_char
__user
*
fstenv
(
fpu_addr_modes
addr_modes,
u_char
__user *
d
);
136
extern
void
fsave
(
fpu_addr_modes
addr_modes,
u_char
__user *
data_address
);
137
extern
int
FPU_tagof
(
FPU_REG
*
ptr
);
138
/* reg_mul.c */
139
extern
int
FPU_mul
(
FPU_REG
const
*
b
,
u_char
tagb,
int
deststnr,
int
control_w);
140
141
extern
int
FPU_div
(
int
flags
,
int
regrm,
int
control_w);
142
/* reg_convert.c */
143
extern
int
FPU_to_exp16
(
FPU_REG
const
*
a
,
FPU_REG
*
x
);
144
#endif
/* _FPU_PROTO_H */
Generated on Thu Jan 10 2013 13:21:25 for Linux Kernel by
1.8.2