Important: The information in this document is obsolete and should not be used for new development.
SIM Initialization Record
You use the SIM initialization record to provide information about your SIM when you register it with the XPT using theSCSIRegisterBus
function. The SIM initialization record is defined by the SIMInitInfo data type.
struct SIMInitInfo { UInt8 *SIMstaticPtr; SInt32 staticSize; SIMInitProc SIMInit; SIMActionProc SIMAction; SCSIProc SIM_ISR; InterruptPollProc SIMInterruptPoll; SIMActionProc NewOldCall; UInt16 ioPBSize; Boolean oldCallCapable; UInt8 simInfoUnused1; SInt32 simInternalUse; SCSIProc XPT_ISR; SCSIProc EnteringSIM; SCSIProc ExitingSIM; MakeCallbackProc MakeCallback; UInt16 busID; UInt16 simInfoUnused3; SInt32 simInfoUnused4; }; typedef struct SIMInitInfo SIMInitInfo;
Field Description
SIMstaticPtr
- A pointer to the storage allocated by the XPT for the SIM's static variables.
staticSize
- The amount of memory requested by the SIM for storing its static variables.
SIMInit
- A pointer to the SIM's initialization function. See the description of the
SIMInit
function on page 4-60 for more information.SIMAction
- A pointer to the SIM function that handles
SCSIAction
requests. See the description of theSIMAction
function on page 4-61 for more information.SIM_ISR
- Reserved.
SIMInterruptPoll
- A pointer to the SIM's interrupt polling function. The Device Manager periodically calls this routine while waiting for a synchronous request to complete if the processor's interrupt priority level is not 0. This allows the Virtual Memory Manager to initiate SCSI transactions when interrupts are disabled. See the description of the
SIMInterruptPoll
function on page 4-61 for more information.NewOldCall
- If the
oldCallCapable
field is set totrue
, this field contains a pointer to the SIM function that handles original SCSI Manager requests. See the description of theNewOldCall
function beginning on page 4-63 for more information.ioPBSize
- The minimum size that a SCSI I/O parameter block must be for use with this SIM.
oldCallCapable
- A Boolean value that indicates whether the SIM emulates original SCSI Manager functions.
simInfoUnused1
- Reserved.
simInternalUse
- A long word available for use by the SIM. This field is not affected or used by the SCSI Manager.
XPT_ISR
- Reserved.
EnteringSIM
- A pointer to the XPT
EnteringSIM
function. This function provides support for virtual memory. Your SIM must call this function prior to executing any other SIM code. See the description of theEnteringSIM
function on page 4-58 for more information.ExitingSIM
- A pointer to the XPT
ExitingSIM
function. Your SIM must call this function before passing control to any code that could cause a page fault, including completion routines. See the description of theExitingSIM
function on page 4-59 for more information.MakeCallback
- A pointer to the XPT
MakeCallback
function. Your SIM must call this function after completing a transaction. The XPT then calls the completion routine specified in thescsiCompletion
field of the parameter block header. See the description of theMakeCallback
function on page 4-59 for more information.busID
- The bus number assigned by the XPT to this SIM/HBA.