home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.2 / LINUX-1.2 / LINUX-1 / linux / arch / i386 / math-emu / fpu_proto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-01  |  4.5 KB  |  138 lines

  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);
  138.