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