User`s manual
Division of Functional Responsibilities
SBCSCSI/D1 2-5
2
❏ Error Recovery
The Firmware supports only minimal error recovery. When an error
condition is detected, the Firmware attempts to get the physically
threaded device off the SCSI bus so the bus is free to send command
requests to other SCSI devices or subsequent commands to the same
device.
Primary Functions Required of the User
The following duties are required of a user when interfacing to the Firmware.
❏ Device Configuration Management
The Firmware does not contain device specific knowledge such as device
configuration parameters (i.e., block size). It is the responsibility of the
user to maintain and manage this device specific knowledge.
❏ Resource Allocation
The Firmware does not contain any static data areas; therefore, the user
must provide all of the memory resources for the Firmware. The
Firmware maintains independence from the specific operating system
environment interfacing to it, with respect to memory mapping and cache
management, by requiring the user to allocate memory resources.
❏ Status Interpretation
The user is responsible for interpretation of all status returned by the
Firmware. The Firmware is finished with a command and has released all
resources and knowledge concerning the particular command request
when final status has been posted for a specific command structure
(siop_struc). At this point it is left to the user to determine what subsequent
action is required to handle the returned status. Refer to Appendix D in
this document for a detailed discussion of returned status codes.
❏ User Supplied Routines
The user is responsible for supplying routines which are invoked by the
Firmware. Two of these routines, splhi() and splx(), need to be globally
defined so the Firmware can raise and the lower the interrupt mask when
it is necessary to protect a section of code. A return status routine, which is
specific to the user, is called by the Firmware to notify the user of the
completion of command requests. A pointer to this return status routine
must be installed in every command structure (siop_struc) processed by
the Firmware. Refer to Appendix C.