root/arch/i386/math-emu/fpu_proto.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* errors.c */
   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 /* fpu_arith.c */
  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 /* fpu_aux.c */
  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 /* fpu_entry.c */
  54 asmlinkage void math_emulate(long arg);
  55 extern void math_abort(struct info *info, unsigned int signal);
  56 
  57 /* fpu_etc.c */
  58 extern void fp_etc(void);
  59 
  60 /* fpu_trig.c */
  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 /* get_address.c */
  66 extern void *get_address(unsigned char FPU_modrm, unsigned long *fpu_eip,
  67                          struct address *addr,
  68                          fpu_addr_modes);
  69 extern void *get_address_16(unsigned char FPU_modrm, unsigned long *fpu_eip,
  70                             struct address *addr,
  71                             fpu_addr_modes);
  72 
  73 /* load_store.c */
  74 extern int load_store_instr(unsigned char type, fpu_addr_modes addr_modes,
  75                              void *address);
  76 
  77 /* poly_2xm1.c */
  78 extern int poly_2xm1(FPU_REG const *arg, FPU_REG *result);
  79 
  80 /* poly_atan.c */
  81 extern void poly_atan(FPU_REG *arg1, FPU_REG *arg2, FPU_REG *result);
  82 
  83 /* poly_l2.c */
  84 extern void poly_l2(FPU_REG const *arg, FPU_REG const *y, FPU_REG *result);
  85 extern int poly_l2p1(FPU_REG const *arg, FPU_REG const *y, FPU_REG *result);
  86 
  87 /* poly_sin.c */
  88 extern void poly_sine(FPU_REG const *arg, FPU_REG *result);
  89 extern void poly_cos(FPU_REG const *arg, FPU_REG *result);
  90 
  91 /* poly_tan.c */
  92 extern void poly_tan(FPU_REG const *arg, FPU_REG *result);
  93 
  94 /* reg_add_sub.c */
  95 extern int reg_add(FPU_REG const *a, FPU_REG const *b,
  96                    FPU_REG *dest, int control_w);
  97 extern int reg_sub(FPU_REG const *a, FPU_REG const *b,
  98                    FPU_REG *dest, int control_w);
  99 
 100 /* reg_compare.c */
 101 extern int compare(FPU_REG const *b);
 102 extern int compare_st_data(FPU_REG const *b);
 103 extern void fcom_st(void);
 104 extern void fcompst(void);
 105 extern void fcompp(void);
 106 extern void fucom_(void);
 107 extern void fucomp(void);
 108 extern void fucompp(void);
 109 
 110 /* reg_constant.c */
 111 extern void fconst(void);
 112 
 113 /* reg_ld_str.c */
 114 extern int reg_load_extended(long double *addr, FPU_REG *loaded_data);
 115 extern int reg_load_double(double *dfloat, FPU_REG *loaded_data);
 116 extern int reg_load_single(float *single, FPU_REG *loaded_data);
 117 extern void reg_load_int64(long long *_s, FPU_REG *loaded_data);
 118 extern void reg_load_int32(long *_s, FPU_REG *loaded_data);
 119 extern void reg_load_int16(short *_s, FPU_REG *loaded_data);
 120 extern void reg_load_bcd(char *s, FPU_REG *loaded_data);
 121 extern int reg_store_extended(long double *d, FPU_REG *st0_ptr);
 122 extern int reg_store_double(double *dfloat, FPU_REG *st0_ptr);
 123 extern int reg_store_single(float *single, FPU_REG *st0_ptr);
 124 extern int reg_store_int64(long long *d, FPU_REG *st0_ptr);
 125 extern int reg_store_int32(long *d, FPU_REG *st0_ptr);
 126 extern int reg_store_int16(short *d, FPU_REG *st0_ptr);
 127 extern int reg_store_bcd(char *d, FPU_REG *st0_ptr);
 128 extern int round_to_int(FPU_REG *r);
 129 extern char *fldenv(fpu_addr_modes addr_modes, char *address);
 130 extern void frstor(fpu_addr_modes addr_modes, char *address);
 131 extern unsigned short tag_word(void);
 132 extern char *fstenv(fpu_addr_modes addr_modes, char *address);
 133 extern void fsave(fpu_addr_modes addr_modes, char *address);
 134 
 135 /* reg_mul.c */
 136 extern int reg_mul(FPU_REG const *a, FPU_REG const *b,
 137                    FPU_REG *dest, unsigned int control_w);

/* [previous][next][first][last][top][bottom][index][help] */