1
2 extern void Un_impl(void);
3 extern void FPU_illegal(void);
4 extern void emu_printall(void);
5 extern void stack_overflow(void);
6 extern void stack_underflow(void);
7 extern void stack_underflow_i(int i);
8 extern void stack_underflow_pop(int i);
9 extern int set_precision_flag(int flags);
10 asmlinkage void exception(int n);
11 asmlinkage int real_2op_NaN(FPU_REG const *a, FPU_REG const *b, FPU_REG *dest);
12 asmlinkage int arith_invalid(FPU_REG *dest);
13 asmlinkage int divide_by_zero(int sign, FPU_REG *dest);
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
20
21 extern void fadd__(void);
22 extern void fmul__(void);
23 extern void fsub__(void);
24 extern void fsubr_(void);
25 extern void fdiv__(void);
26 extern void fdivr_(void);
27 extern void fadd_i(void);
28 extern void fmul_i(void);
29 extern void fsubri(void);
30 extern void fsub_i(void);
31 extern void fdivri(void);
32 extern void fdiv_i(void);
33 extern void faddp_(void);
34 extern void fmulp_(void);
35 extern void fsubrp(void);
36 extern void fsubp_(void);
37 extern void fdivrp(void);
38 extern void fdivp_(void);
39
40
41 extern void fclex(void);
42 extern void finit(void);
43 extern void finit_(void);
44 extern void fstsw_(void);
45 extern void fp_nop(void);
46 extern void fld_i_(void);
47 extern void fxch_i(void);
48 extern void ffree_(void);
49 extern void ffreep(void);
50 extern void fst_i_(void);
51 extern void fstp_i(void);
52
53
54 asmlinkage void math_emulate(long arg);
55 extern void math_abort(struct info *info, unsigned int signal);
56
57
58 extern void fp_etc(void);
59
60
61 extern void convert_l2reg(long const *arg, FPU_REG *dest);
62 extern void trig_a(void);
63 extern void trig_b(void);
64
65
66 extern void get_address(unsigned char FPU_modrm, unsigned long *fpu_eip,
67 fpu_addr_modes);
68 extern void get_address_16(unsigned char FPU_modrm, unsigned long *fpu_eip,
69 fpu_addr_modes);
70
71
72 extern void load_store_instr(char type, fpu_addr_modes addr_modes);
73
74
75 extern int poly_2xm1(FPU_REG const *arg, FPU_REG *result);
76
77
78 extern void poly_atan(FPU_REG *arg);
79 extern void poly_add_1(FPU_REG *src);
80
81
82 extern void poly_l2(FPU_REG const *arg, FPU_REG *result);
83 extern int poly_l2p1(FPU_REG const *arg, FPU_REG *result);
84
85
86 extern void poly_sine(FPU_REG const *arg, FPU_REG *result);
87
88
89 extern void poly_tan(FPU_REG const *arg, FPU_REG *result, int invert);
90
91
92 extern int reg_add(FPU_REG const *a, FPU_REG const *b,
93 FPU_REG *dest, int control_w);
94 extern int reg_sub(FPU_REG const *a, FPU_REG const *b,
95 FPU_REG *dest, int control_w);
96
97
98 extern int compare(FPU_REG const *b);
99 extern int compare_st_data(void);
100 extern void fcom_st(void);
101 extern void fcompst(void);
102 extern void fcompp(void);
103 extern void fucom_(void);
104 extern void fucomp(void);
105 extern void fucompp(void);
106
107
108 extern void fconst(void);
109
110
111 extern int reg_load_extended(void);
112 extern int reg_load_double(void);
113 extern int reg_load_single(void);
114 extern void reg_load_int64(void);
115 extern void reg_load_int32(void);
116 extern void reg_load_int16(void);
117 extern void reg_load_bcd(void);
118 extern int reg_store_extended(void);
119 extern int reg_store_double(void);
120 extern int reg_store_single(void);
121 extern int reg_store_int64(void);
122 extern int reg_store_int32(void);
123 extern int reg_store_int16(void);
124 extern int reg_store_bcd(void);
125 extern int round_to_int(FPU_REG *r);
126 extern char *fldenv(fpu_addr_modes addr_modes);
127 extern void frstor(fpu_addr_modes addr_modes);
128 extern unsigned short tag_word(void);
129 extern char *fstenv(fpu_addr_modes addr_modes);
130 extern void fsave(fpu_addr_modes addr_modes);
131
132
133 extern int reg_mul(FPU_REG const *a, FPU_REG const *b,
134 FPU_REG *dest, unsigned int control_w);