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

VxWorks

开发平台:

C/C++

  1. /* vxArch.h - architecture header */
  2. /* Copyright 1984-2000 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01g,16nov01,dee  add COLDFIRE architecture
  7. 01f,14nov01,tcr  Undo previous change
  8. 01e,29oct01,tcr  add INCLUDE_WVNET for instrumented network stack
  9. 01d,25feb00,frf  Add SH support for T2
  10. 01c,06Aug98,ms   added WV_INSTRUMENTATION.
  11. 02b,15aug97,cym  added SIMNT support.
  12. 02b,28nov96,cdp  added ARM support.
  13. 02a,26may94,yao  added PPC support.
  14. 01n,30oct95,ism  added SIMSOLARIS support.
  15. 01m,19mar95,dvs  removed #ifdef TRON - tron no longer supported.
  16. 01l,02dec93,pme  added Am29K family support.
  17. 01k,11aug93,gae  vxsim hppa.
  18. 01j,12jun93,rrr  vxsim.
  19. 01i,09jun93,hdn  added support for I80X86
  20. 01h,22sep92,rrr  added support for c++
  21. 01g,07sep92,smb  added documentation
  22. 01f,07jul92,rrr  added defines for BIG & LITTLE ENDIAN and STACK direction
  23. 01e,07jul92,ajm  added _ARCH_MULTIPLE_CACHELIB for cache init
  24. 01d,03jul92,smb  changed name from arch.h.
  25. 01c,06jun92,ajm  corrected definition of mips CPU_FAMILY
  26. 01b,26may92,rrr  the tree shuffle
  27.   -changed includes to have absolute path from h/
  28. 01a,22apr92,yao  written.
  29. */
  30. /*
  31. DESCRIPTION
  32. This header file includes a architecture specific header file depending
  33. on the value of CPU_FAMILY defined in vxCpu.h. The header file contains
  34. definitions specific to this CPU family. This header file must be
  35. preceded by an include of vxCpu.h
  36. */
  37. #ifndef __INCvxArchh
  38. #define __INCvxArchh
  39. #ifdef __cplusplus
  40. extern "C" {
  41. #endif
  42. #ifndef WV_INSTRUMENTATION
  43. #define WV_INSTRUMENTATION
  44. #endif
  45. #ifdef _BIG_ENDIAN
  46. #undef _BIG_ENDIAN
  47. #endif
  48. #define _BIG_ENDIAN 1234
  49. #ifdef _LITTLE_ENDIAN
  50. #undef _LITTLE_ENDIAN
  51. #endif
  52. #define _LITTLE_ENDIAN 4321
  53. #define _STACK_GROWS_DOWN (-1)
  54. #define _STACK_GROWS_UP 1
  55. #if (CPU_FAMILY==MC680X0)
  56. #include "arch/mc68k/archMc68k.h"
  57. #endif /* (CPU_FAMILY== MC680X0) */
  58. #if (CPU_FAMILY==COLDFIRE)
  59. #include "arch/coldfire/archColdfire.h"
  60. #endif /* (CPU_FAMILY== COLDFIRE) */
  61. #if (CPU_FAMILY==SPARC)
  62. #include "arch/sparc/archSparc.h"
  63. #endif /* (CPU_FAMILY== SPARC) */
  64. #if (CPU_FAMILY==SIMSPARCSUNOS)
  65. #include "arch/simsparc/archSimsparc.h"
  66. #endif /* (CPU_FAMILY== SIMSPARCSUNOS) */
  67. #if (CPU_FAMILY==SIMSPARCSOLARIS)
  68. #include "arch/simsolaris/archSimsolaris.h"
  69. #endif /* (CPU_FAMILY== SIMSPARCSOLARIS) */
  70. #if (CPU_FAMILY==SIMHPPA)
  71. #include "arch/simhppa/archSimhppa.h"
  72. #endif /* (CPU_FAMILY== SIMHPPA) */
  73. #if (CPU_FAMILY==SIMNT)
  74. #include "arch/simnt/archSimnt.h"
  75. #endif /* (CPU_FAMILY== SIMNT) */
  76. #if (CPU_FAMILY==I960)
  77. #include "arch/i960/archI960.h"
  78. #endif /* (CPU_FAMILY== I960) */
  79. #if (CPU_FAMILY==MIPS)
  80. #include "arch/mips/archMips.h"
  81. #endif /* (CPU_FAMILY==MIPS) */
  82. #if (CPU_FAMILY==PPC)
  83. #include "arch/ppc/archPpc.h"
  84. #endif /* (CPU_FAMILY==PPC) */
  85. #if (CPU_FAMILY==I80X86)
  86. #include "arch/i86/archI86.h"
  87. #endif /* (CPU_FAMILY==I80X86) */
  88. #if (CPU_FAMILY==AM29XXX)
  89. #include "arch/am29k/archAm29k.h"
  90. #endif /* (CPU_FAMILY==AM29XXX) */
  91. #if (CPU_FAMILY==SH)
  92. #include "arch/sh/archSh.h"
  93. #endif /* (CPU_FAMILY==SH) */
  94. #if (CPU_FAMILY==ARM)
  95. #include "arch/arm/archArm.h"
  96. #endif /* (CPU_FAMILY==ARM) */
  97. #ifndef _BYTE_ORDER
  98. #define _BYTE_ORDER _BIG_ENDIAN
  99. #endif /* _BYTE_ORDER */
  100. #ifndef _STACK_DIR
  101. #define _STACK_DIR _STACK_GROWS_DOWN
  102. #endif /* _STACK_DIR */
  103. #ifndef _ALLOC_ALIGN_SIZE
  104. #define _ALLOC_ALIGN_SIZE 4 /* 4 byte boundary */
  105. #endif /* _ALLOC_ALIGN_SIZE */
  106. /* Note: for architectures not reguiring stack alignment, enforcing 4 byte
  107.  * alignment is recommended for better efficiency.
  108.  */
  109. #ifndef _STACK_ALIGN_SIZE
  110. #define _STACK_ALIGN_SIZE 4 /* 4 byte boundary */
  111. #endif /* _STACK_ALIGN_SIZE */
  112. #ifndef _ARCH_MULTIPLE_CACHELIB
  113. #define _ARCH_MULTIPLE_CACHELIB FALSE
  114. #endif /* _ARCH_MULTIPLE_CACHELIB */
  115. #ifndef _CACHE_ALIGN_SIZE
  116. #define _CACHE_ALIGN_SIZE 16
  117. #endif /* _CACHE_ALIGN_SIZE */
  118. /* alignment requirement when accessing bus */
  119. #ifndef _DYNAMIC_BUS_SIZING
  120. #define _DYNAMIC_BUS_SIZING TRUE /* dynamic bus sizing */
  121. #endif /* _DYNAMIC_BUS_SIZING */
  122. #ifdef __cplusplus
  123. }
  124. #endif
  125. #endif /* __INCvxArchh */