Subject: Re: Migrating MI-SCSI-Code to pmax/PI-SCSI?
To: None <port-pmax@netbsd.org>
From: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
List: port-pmax
Date: 09/12/1999 13:17:10
>> any hints how to migrate MI-SCSI-Code to pmax/PI-SCSI (am I right with
>> that?) ? I'd still need a bad block scanner & remapper badly and would
>> port it myself, but any hints are greatly appreciated.
>
> My current understanding is that the asc driver works (or mostly
> works), but no work has been done on the sii driver.  Toru, Michael?

Last week I made a progress on MI SCSI+NCR54C9x for NetBSD/pmax.
People who once fetched the hacked patch file from our site, please
try the new codes.

	ftp.aist-nara.ac.jp: ~ftp/pub/personal/nisimura/newasc.tgz

No precompiled kernel binaries included this time.

Here goes the describption of differences from the previous;

Take care of IOASIC SCSI unaligned DMA transaction.  IOASIC SCSI DMA
is performed on 8-byte boundary (differs from TCDS which takes 4-byte
boundary).  We have to 3 cases; unaligned DMA starting address of 'to
device' transfer, unaligned starting address of 'from device'
transfer, and unaligned end address of 'from device' transfer.
Residue datum are stored in SDR0 and SDR1 upto 6 byte in 2 byte
increment.  SDR0 is for low order 4 byte while SDR1 for high order 4
byte.  The low order 3 bit of SCR indicates the unaligned condition. 

MI NCR53C9x driver looks occationally to issue SCSI commands put on
process stack storage.  They are 4 byte aligned.  IOASIC DMA has to
care of not-on-8-byte-boundary case while TCDS DMA is immune for it.
Block device I/O transaction is handled very gracefully and never
involves unaligned DMA transfer. 

This driver has tested on PMAZ-A TC option card and Personal
DECstation builtin IOASIC SCSI.  Normal block buffered I/O for
filesystem looks solid.  Severe data corruption once seen on raw disk
dump(8) '/sbin/dump /dev/rsd0x', is now fixed.  Still no luck in tape
drive access.  As the symptom is the very same either of PMAZ-A and
builtin IOASIC SCSI, the cause must be common between them, and not
coupled with the inmature IOASIC DMA code.

(Hey, Jason,  your TCDS driver makes panics on DECstation!) 

Tohru Nishimura
Nara Institute of Science and Technology