fppLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* fppLib.h - floating-point coprocessor support library header */
  2. /* Copyright 1984-1997 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 02d,22oct01,dee  Merge from T2.1.0 ColdFire
  7. 02c,01mar00,frf  Add SH4 support for T2.
  8. 02b,23apr97,hk   added SH support.
  9. 02b,15aug97,cym  added SIMNT support.
  10. 02b,28nov96,cdp  added ARM support.
  11. 02a,26may94,yao  added PPC support.
  12. 01u.26may95,ms  added prototypes for fppRegsToCtx and fppCtxToRegs.
  13. 01u,12jul95,ism  added simsolaris support
  14. 01t,19mar95,dvs  removed #ifdef TRON - tron no longer supported.
  15. 01s,02dec93,pme  added Am29K family support
  16. 01r,11aug93,gae  vxsim hppa.
  17. 01q,20jun93,gae  vxsim.
  18. 01p,09jun93,hdn  added support for I80X86
  19. 01o,22sep92,rrr  added support for c++
  20. 01n,19sep92,jcf  ifdef _ASMLANGUAGE of taskLib.h
  21. 01m,19sep92,smb  added include of taskLib.h
  22. 01l,04jul92,jcf  cleaned up.
  23. 01k,26may92,rrr  the tree shuffle
  24.   -changed includes to have absolute path from h/
  25. 01j,20feb92,yao  changed ANSI function propotype declaration for
  26.  fppTaskRegs{S,G}et() and removed CPU_FAMILY conditionals.
  27. 01i,09jan92,jwt  converted CPU==SPARC to CPU_FAMILY==SPARC.
  28. 01h,01nov91,wmd  modified prototype of fpregs in fppTaskRegsGet() to be double.
  29. 01g,04oct91,rrr  passed through the ansification filter
  30.   -fixed #else and #endif
  31.   -changed VOID to void
  32.   -changed ASMLANGUAGE to _ASMLANGUAGE
  33.   -changed copyright notice
  34. 01f,20aug91,ajm  added MIPS support.
  35. 01e,14aug91,del  added include for I960KB support.
  36. 01d,19jul91,gae  renamed architecture specific include file to be xx<arch>.h.
  37. 01c,29apr91,hdn  added defines and macros for TRON architecture.
  38. 01b,05oct90,shl  added copyright notice.
  39.                  made #endif ANSI style.
  40. 01a,07aug89,gae  written.
  41. */
  42. #ifndef __INCfppLibh
  43. #define __INCfppLibh
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47. #ifndef _ASMLANGUAGE
  48. #include "taskLib.h"
  49. #endif /* _ASMLANGUAGE */
  50. #if     CPU_FAMILY==I960
  51. #include "arch/i960/fppI960Lib.h"
  52. #endif /* CPU_FAMILY==I960 */
  53. #if     CPU_FAMILY==MC680X0
  54. #include "arch/mc68k/fppMc68kLib.h"
  55. #endif /* CPU==MC680X0 */
  56. #if     CPU_FAMILY==COLDFIRE
  57. #include "arch/coldfire/fppColdfireLib.h"
  58. #endif /* CPU==COLDFIRE */
  59. #if     CPU_FAMILY==MIPS
  60. #include "arch/mips/fppMipsLib.h"
  61. #endif /* MIPS */
  62. #if     CPU_FAMILY==PPC
  63. #include "arch/ppc/fppPpcLib.h"
  64. #endif  /* CPU_FAMILY==PPC */
  65. #if CPU_FAMILY==SPARC
  66. #include "arch/sparc/fppSparcLib.h"
  67. #endif /* CPU_FAMILY==SPARC */
  68. #if CPU_FAMILY==SIMSPARCSUNOS
  69. #include "arch/simsparc/fppSimsparcLib.h"
  70. #endif /* CPU_FAMILY==SIMSPARCSUNOS */
  71. #if CPU_FAMILY==SIMSPARCSOLARIS
  72. #include "arch/simsolaris/fppSimsolarisLib.h"
  73. #endif /* CPU_FAMILY==SIMSPARCSOLARIS */
  74. #if CPU_FAMILY==SIMHPPA
  75. #include "arch/simhppa/fppSimhppaLib.h"
  76. #endif /* CPU_FAMILY==SIMHPPA */
  77. #if CPU_FAMILY==SIMNT
  78. #include "arch/simnt/fppSimntLib.h"
  79. #endif /* CPU_FAMILY==SIMNT */
  80. #if     CPU_FAMILY==I80X86
  81. #include "arch/i86/fppI86Lib.h"
  82. #endif /* CPU_FAMILY==I80X86 */
  83. #if     CPU_FAMILY==AM29XXX
  84. #include "arch/am29k/fppAm29kLib.h"
  85. #endif /* CPU_FAMILY==AM29XXX */
  86. #if CPU_FAMILY==SH
  87. #include "arch/sh/fppShLib.h"
  88. #endif /* CPU_FAMILY==SH */
  89. #if     CPU_FAMILY==ARM
  90. #include "arch/arm/fppArmLib.h"
  91. #endif  /* CPU_FAMILY==ARM */
  92. /* function declarations */
  93. #ifndef _ASMLANGUAGE
  94. #if defined(__STDC__) || defined(__cplusplus)
  95. extern void  fppInit (void);
  96. extern void fppShowInit (void);
  97. extern void  fppTaskRegsShow (int task);
  98. extern STATUS  fppTaskRegsGet (int task, FPREG_SET *pFpRegSet);
  99. extern STATUS  fppTaskRegsSet (int task, FPREG_SET *pFpRegSet);
  100. extern STATUS  fppProbe (void);
  101. extern void  fppRestore (FP_CONTEXT *pFpContext);
  102. extern void  fppSave (FP_CONTEXT *pFpContext);
  103. extern void fppRegsToCtx (FPREG_SET *pFpRegSet, FP_CONTEXT *pFpContext);
  104. extern void fppCtxToRegs (FP_CONTEXT *pFpContext, FPREG_SET *pFpRegSet);
  105. #else
  106. extern void  fppInit ();
  107. extern void fppShowInit ();
  108. extern void  fppTaskRegsShow ();
  109. extern STATUS  fppTaskRegsGet ();
  110. extern STATUS  fppTaskRegsSet ();
  111. extern STATUS  fppProbe ();
  112. extern void  fppRestore ();
  113. extern void  fppSave ();
  114. extern void fppRegsToCtx ();
  115. extern void fppCtxToRegs ();
  116. #endif /* __STDC__ */
  117. #endif /* _ASMLANGUAGE */
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121. #endif /* __INCfppLibh */