Interface Rules for the SCSI Firmware
5-7
5
FUNNEL
module queued the
request and returned to you with a $A002 intermediate status code.
In order for this packet to resume processing, the firmware sets the
software
interrupt to reenter the interrupt entry point ($FFFE0788).
3. The RTE condition receives third priority because if an RTE instruction
was effectively executed before the command pending or before the
queued
commands were serviced, the command pending or the queued
commands would never
be serviced.
EXCEPTIONS TO THE RETURN ALGORITHM:
The firmware has a 64 entry funnel queue for all the devices (1 per device
in average).
An index of the SCSI peripheral devices exists in the firmware in order to
provide threading information for command overlap on the SCSI bus. This
index
is called the attach table. One entry per peripheral device provides pointers
to the user packets, and command tables. In each command table, there is a 4
entry private wait queue for each device (each one points to a command
packet).
When a peripheral device
is given a command packet, its respective entry in the attach table is marked
"busy". If you send a command packet for a peripheral device that is
marked "busy", a busy error is returned if both private wait queue and
FUNNEL
queue are full. You may not see this busy
Rule 4. THE SCSI FIRMWARE CAN ONLY
PROCESS SIX
COMMAND PACKETS, IN AVERAGE, PER
PERIPHERAL
DEVICE AT A TIME.