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