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

VxWorks

开发平台:

C/C++

  1. /* ncr710CommLib.c - common library for ncr710Lib.c and ncr710Lib2.c */
  2. /* Copyright 1989-1998 Wind River Systems, Inc. */
  3. #include "copyright_wrs.h"
  4. /*
  5. modification history
  6. --------------------
  7. 01d,28mar99,jdi  doc: cleaned up format, text.
  8. 01c,24mar99,sut  removed NO_MANUAL [SPR 26006]
  9. 01b,27aug98,fle  doc : removed first empty line
  10. 01a,20aug98,sut  written. To fix multiply defined symbols
  11. */
  12. /*
  13. DESCRIPTION
  14. Contains ncr710Lib and ncr710Lib2 common driver interfaces which can be called
  15. from user code.
  16. SEE ALSO: ncr710Lib.c, ncr710Lib2.c,
  17. .I "NCR 53C710 SCSI I/O Processor Programming Guide,"
  18. .pG "I/O System"
  19. */
  20. #include "vxWorks.h"
  21. #include "drv/scsi/ncr710.h"
  22. /* defines */
  23. typedef NCR_710_SCSI_CTRL SIOP;
  24. /* External */
  25. /* variables */ 
  26. VOIDFUNCPTR ncr710SingleStepRtn = NULL; /* Global Single Step routine */
  27. VOIDFUNCPTR ncr710StepEnableRtn = NULL; /* Global Single Enable routine */
  28. /*******************************************************************************
  29. *
  30. * ncr710SingleStep - perform a single-step 
  31. *
  32. * This routine performs a single-step by writing the STD bit in the DCNTL
  33. * register.
  34. * The <pSiop> parameter is a pointer to the SIOP information. 
  35. * Before executing, enable the single-step facility by calling
  36. * ncr710StepEnable().
  37. * RETURNS: N/A
  38. *
  39. * SEE ALSO:
  40. * ncr710StepEnable()
  41. */
  42. void ncr710SingleStep
  43.     (
  44.     SIOP * pSiop,  /* pointer to SIOP info */ 
  45.     BOOL   verbose /* show all registers   */
  46.     )
  47.     {
  48.     if (ncr710SingleStepRtn != NULL)
  49. ncr710SingleStepRtn (pSiop, verbose);
  50.     }
  51. /*******************************************************************************
  52. *
  53. * ncr710StepEnable - enable/disable script single-step 
  54. *
  55. * This routine enables/disables the single-step facility on the chip.  
  56. * It also unmasks/masks the single-step interrupt in the Dien register.
  57. * Before executing any SCSI routines, enable the single-step facility by
  58. * calling ncr710StepEnable() with <boolValue> set to TRUE.
  59. * To disable, call it with <boolValue> set to FALSE.
  60. * RETURNS: N/A
  61. *
  62. * SEE ALSO:
  63. * ncr710SingleStep()
  64. */
  65. void ncr710StepEnable
  66.     (
  67.     SIOP *pSiop, /* pointer to SIOP info */ 
  68.     BOOL boolValue  /* TRUE/FALSE to enable/disable single step */
  69.     )
  70.     {
  71.     if (ncr710StepEnableRtn != NULL)
  72. ncr710StepEnableRtn (pSiop, boolValue);
  73.     }