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

VxWorks

开发平台:

C/C++

  1. /* nullVme.c - null VMEbus library */
  2. /* Copyright 1984-1997 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01h,18jun01,mil  Cleaned up compiler warnings.
  8. 01g,03jan97,wlf  doc: more cleanup.
  9. 01f,04jun96,wlf  doc: cleanup.
  10. 01e,30may96,wlf  doc: cleanup.
  11. 01d,21may96,dat  documentation
  12. 01c,15sep93,hdn  added a title of sysMailboxConnect () for documentation.
  13. 01b,18aug93,vin  fixed title to sysMailboxConnect which causes error
  14.  when generating man pages.
  15. 01a,20aug92,ccc  created by copying routines from mb930 sysLib.c.
  16. */
  17. /*
  18. DESCRIPTION
  19. This library contains null routines for boards which do not include any
  20. common bus routines.
  21. The functions addressed here include:
  22.     Bus interrupt functions:
  23. - enable/disable VMEbus interrupt levels
  24. - generate bus interrupts
  25.     Mailbox/locations monitor functions:
  26. - enable mailbox/location monitor interrupts
  27. */
  28. /******************************************************************************
  29. *
  30. * sysLocalToBusAdrs - convert a local address to a bus address
  31. *
  32. * This routine gets the VMEbus address that accesses a specified local
  33. * memory address.
  34. *
  35. * NOTE: This routine has no effect, since there is no VMEbus.
  36. *
  37. * RETURNS: ERROR, always.
  38. *
  39. * SEE ALSO: sysBusToLocalAdrs()
  40. */
  41. STATUS sysLocalToBusAdrs
  42.     (
  43.     int  adrsSpace,     /* bus address space in which busAdrs resides,  */
  44.                         /* use address modifier codes defined in vme.h, */
  45.                         /* such as VME_AM_STD_SUP_DATA                  */
  46.     char *localAdrs,    /* local address to convert                     */
  47.     char **pBusAdrs     /* where to return bus address                  */
  48.     )
  49.     {
  50.     return (ERROR);
  51.     }
  52. /******************************************************************************
  53. *
  54. * sysBusToLocalAdrs - convert a bus address to a local address
  55. *
  56. * This routine gets the local address that accesses a specified VMEbus
  57. * address.
  58. *
  59. * NOTE: This routine has no effect, since there is no VMEbus.
  60. *
  61. * RETURNS: ERROR, always.
  62. *
  63. * SEE ALSO: sysLocalToBusAdrs()
  64. */
  65.  
  66. STATUS sysBusToLocalAdrs
  67.     (
  68.     int  adrsSpace,     /* bus address space in which busAdrs resides,  */
  69.                         /* use address modifier codes defined in vme.h, */
  70.                         /* such as VME_AM_STD_SUP_DATA                  */
  71.     char *busAdrs,      /* bus address to convert                       */
  72.     char **pLocalAdrs   /* where to return local address                */
  73.     )
  74.     {
  75.     return (ERROR);
  76.     }
  77. /******************************************************************************
  78. *
  79. * sysBusIntAck - acknowledge a bus interrupt
  80. *
  81. * This routine acknowledges a specified VMEbus interrupt level.
  82. *
  83. * NOTE: This routine has no effect, since there is no VMEbus.
  84. *
  85. * RETURNS: NULL.
  86. */
  87. int sysBusIntAck
  88.     (
  89.     int intLevel        /* interrupt level to acknowledge */
  90.     )
  91.     {
  92.     return (0);
  93.     }
  94. /******************************************************************************
  95. *
  96. * sysBusIntGen - generate a bus interrupt
  97. *
  98. * This routine generates a VMEbus interrupt for a specified level with a
  99. * specified vector.
  100. *
  101. * NOTE: This routine has no effect, since there is no VMEbus.
  102. *
  103. * RETURNS: ERROR, always.
  104. */
  105. STATUS sysBusIntGen
  106.     (
  107.     int level,          /* bus interrupt level to generate          */
  108.     int vector          /* interrupt vector to return (0-255)       */
  109.     )
  110.     {
  111.     return (ERROR);
  112.     }
  113. /******************************************************************************
  114. *
  115. * sysMailboxConnect - connect a routine to the mailbox interrupt
  116. *
  117. * This routine specifies the interrupt service routine to be called at each
  118. * mailbox interrupt.
  119. *
  120. * NOTE: This routine has no effect, since the hardware does not support mailbox
  121. * interrupts.
  122. *
  123. * RETURNS: ERROR, always.
  124. *
  125. * SEE ALSO: sysMailboxEnable()
  126. */
  127. STATUS sysMailboxConnect
  128.     (
  129.     FUNCPTR routine,    /* routine called at each mailbox interrupt */
  130.     int     arg         /* argument with which to call routine      */
  131.     )
  132.     {
  133.     return (ERROR);
  134.     }
  135. /******************************************************************************
  136. *
  137. * sysMailboxEnable - enable the mailbox interrupt
  138. *
  139. * This routine enables the mailbox interrupt.
  140. *
  141. * NOTE: This routine has no effect, since the hardware does not support mailbox
  142. * interrupts.
  143. *
  144. * RETURNS: ERROR, always.
  145. *
  146. * SEE ALSO: sysMailboxConnect()
  147. */
  148. STATUS sysMailboxEnable
  149.     (
  150.     INT8 *mailboxAdrs           /* mailbox address */
  151.     )
  152.     {
  153.     return (ERROR);
  154.     }
  155. /********************************************************************************
  156. * sysBusTas - test and set a location across the bus
  157. *
  158. * This routine performs a test-and-set (TAS) instruction across the backplane.
  159. *
  160. * NOTE: This routine is equivalent to vxTas(), since there is no VMEbus.
  161. *
  162. * RETURNS: TRUE if the value had not been set but is now,
  163. * or FALSE if the value was set already.
  164. *
  165. * SEE ALSO: vxTas()
  166. */
  167.  
  168. BOOL sysBusTas
  169.     (
  170.     INT8 *addr          /* address to be tested and set */
  171.     )
  172.     {
  173.     return(vxTas(addr));       /* RMW cycle */
  174.     }