Interface Rules for the SCSI Firmware | 5 |
|
information; it does imply that only one routine handles the exit conditions dictated by bit 13 of the second word in the user packet (also known as the status word).
Multiple callers of the SCSI firmware are separate, independent drivers that handle SCSI returns without knowledge of other drivers/callers. This definition implies that more than one routine handles the exit conditions dictated by bit 13 of the first returned status word.
Interface Rules for Multiple Callers
Rule 1:
COMMANDS ARE SENT TO FUNNEL COMMAND ENTRY.
You send a command by loading the address of your packet in address register A2 and jumping to the FUNNEL command entry ($FFFE078E). The system must be in supervisory mode and the interrupt mask must the equal specified in the packet.
A command may be sent to the FUNNEL command entry almost any time, except as noted below.
A command may not be sent to the FUNNEL command entry point after the following returned intermediate status codes have been received (all intermediate status codes have bit 15 set):
1.($xx04) Message received.
2.($xx06) Command received (TARGET role)
The above intermediate status codes are returned when a TARGET is threaded and on the SCSI bus. These cases require entry to the RTE entry to complete the
You may send a command to the FUNNEL command entry on all final status returns except:
Final status with bit 13 clear, indicating that an RTE is to be executed. (In this case, a new command may be sent by entering the firmware at the SCSI_RTE entry, $FFFE079A. Register A3 must remain intact.)
IMPLEMENTATION NOTE: Your interface driver or interface server usually has the command entry processing and command status processing decoupled. In other words, commands are sent to the SCSI firmware as a result of a subroutine call or as a result of a TRAP call to your driver or server.