02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

VxWorks 5.5<br />

<strong>BSP</strong> Developer’s <strong>Guide</strong><br />

pScsiCtrl->scsiTransact = (FUNCPTR) scsiTransact;<br />

pScsiCtrl->scsiEventProc<br />

= (VOIDFUNCPTR) xxxEvent;<br />

pScsiCtrl->scsiThreadInit = (FUNCPTR) xxxThreadInit;<br />

pScsiCtrl->scsiThreadActivate = (FUNCPTR) xxxThreadActivate;<br />

pScsiCtrl->scsiThreadAbort = (FUNCPTR) xxxThreadAbort;<br />

pScsiCtrl->scsiBusControl = (FUNCPTR) xxxScsiBusControl;<br />

pScsiCtrl->scsiXferParamsQuery = (FUNCPTR) xxxXferParamsQuery;<br />

pScsiCtrl->scsiXferParamsSet = (FUNCPTR) xxxXferParamsSet;<br />

pScsiCtrl->scsiWideXferParamsQuery = (FUNCPTR) xxxWideXferParamsQuery;<br />

pScsiCtrl->scsiWideXferParamsSet = (FUNCPTR) xxxWideXferParamsSet;<br />

/* the following virtual functions are not used with this driver */<br />

pScsiCtrl->scsiDevSelect = NULL;<br />

pScsiCtrl->scsiInfoXfer = NULL;<br />

/* fill in generic SCSI info for this controller */<br />

scsiCtrlInit (&pSiop->scsiCtrl);<br />

/* fill in SCSI controller specific data for this controller */<br />

/* initialize controller state variables */<br />

/*<br />

* Initialize fixed fields in client shared data area. This "shared"<br />

* area of memory is shared between this driver and the scripts I/O<br />

* processor. Fields like data pointers, data size, message pointer,<br />

* message size, status pointer and size, etc. are typically the<br />

* pieces of information shared. These fields are updated and managed<br />

* before and after an I/O process.<br />

*/<br />

xxxSharedMemInit (pSiop, pSiop->pClientShMem);<br />

/* spawn SCSI manager - use generic code from "scsiLib.c" */<br />

pScsiCtrl->scsiMgrId = taskSpawn (xxxScsiTaskName,<br />

xxxScsiTaskPriority,<br />

xxxScsiTaskOptions,<br />

xxxScsiTaskStackSize,<br />

(FUNCPTR) scsiMgr,<br />

(int) pSiop, 0, 0, 0, 0, 0, 0, 0, 0, 0);<br />

return (pSiop);<br />

}<br />

/***************************************************************************<br />

*<br />

* xxxCtrlInit - initialize a XXX SCSI controller structure<br />

*<br />

* This routine initializes an SCSI controller structure, after the structure<br />

* is created with xxxCtrlCreate(). This structure must be initialized before<br />

* the SCSI controller can be used. It may be called more than once if<br />

* needed;however,it should only be called while there is no activity on the<br />

* SCSI interface. A detailed description of the input parameters follows:<br />

340

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!