
Interface Rules for the SCSI Firmware
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:
Rule 4. | THE SCSI FIRMWARE CAN ONLY |
| PROCESS SIX |
|
|
| COMMAND PACKETS, IN AVERAGE, PER |
| PERIPHERAL |
|
|
| DEVICE AT A TIME. |
|
|
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
5 |