Scientific Operations Bellum Gratia Artis

testing - 1998 - January - this message

[ previous , next ]

Subject: [9fans] Re: DPT PM2041W observations

From: mark@[REDACTED] (Mark Salyzyn)
Date: Thu, 15 Jan 1998 08:50:15 -0500

gdb@dbsystems.COM (G. David Butler) writes:
> How do I abort a command?

place the same physical address of the CCB into the
mailbox registers ([base+2]=MSb -> [base+5]=Lsb) as
you would do when sending the command.

Place 0x03 (Abort immediate command) into [base+6] and
send the EATA immediate command (0xFA) into [base+7].

The command will cause the eventual acknowledgement interrupt
indicating the completion status (recognizing that it may be a
Host adapter ABORT, a SCSI bus ABORT, or completed successfully).

> If a driver needs to time out on a command and reclaim the
> memory, how do I tell the DPT that not only am I not interested
> in command anymore, but if it returns with the address of
> a ccb the driver has reused, bad things will happen.

The DPT controller will *always* return a matching interrupt for
all commands issued. Not waiting for that matching interrupt
would be `vary bad'. Some operating systems have SCSI midlevel
code that understands sending an abort, some just send a SCSI
Bus Reset and wait for all the commands to return, indicating that they
were terminated by a SCSI Bus reset. This 1:1 matching of the
commands to interrupts is quaranteed, no lost commands!

> If there is a way to abort the command to the adapter,
> how long does it wait for the queued command to come back
> from the target? What happens if that is not long enough?
> Or does the adapter tell the target to abort the queued
> operation?

The adapter, for DASD devices, will retry the command every
10 seconds automagically. For all other devices, it waits
patiently (unless a SCSI Bus reset, device reset, or an
abort message is created).

> Is there a current technical reference manual?

Yes. A simple NDA will fill your disk with lots of
WORD documents! If interested, contact Tom Childers
 to make arrangements.

Sincerely -- Mark Salyzyn