Subject: SCSI support
To: None <port-next68k@netbsd.org>
From: Christian Limpach <chris@Pin.LU>
List: port-next68k
Date: 05/29/2002 06:48:58
Hi!

I've done some modifications to the esp driver/dma stuff and I believe I've
got it working.  I've had one machine busy for 9 hours non-stop without a
crash and without any data loss.  I haven't had a (scsi-related) crash
since.
Changes made:
- esp specific dma interrupt handler since there are after all major
differences between the ethernet and scsi dma
- some code to avoid using a tail dma-map for scsi dma
- real _isintr and _intr functions for the esp driver (instead of doing it
all in _isintr)
- fixed the code flushing the dma chip
- limit scsi dma-chains to 8k (larger chains don't work reliably and
NeXTstep's bsd/dev/m68k/dma.h says so...)
- added some logging/debugging code

The code is not yet ready to be commited but I'd like to have other people
give it a try and see if it works on other machines.  It works for me on a
mono-slab and a color-slab with various scsi-disks (various
sizes/speeds/ages) and with a zip-drive (after removing dust ;-)).

I've built two kernels:
ftp://lola.pin.lu:21/pub/NetBSD/arch/next68k/scsi/scsi-05-29-current-05-20/
SCSI - with DDB and console support
SCSIK - with kgdb (on port B) and serial console support (on port A)

You'll probably need an updated bootloader since the old one can't load ELF
kernels:
ftp://lola.pin.lu:21/pub/NetBSD/arch/next68k/snapshot/20020520-current/insta
llation/net/boot

Patched kernel sources and the patch for the changes are in:
ftp://lola.pin.lu:21/pub/NetBSD/arch/next68k/scsi/

There's a complete userland snapshot at:
ftp://lola.pin.lu:21/pub/NetBSD/arch/next68k/snapshot/20020520-current/
(the kernel in the snapshot doesn't include the updated scsi stuff!!!)

Or you could (and probably should) get userland from one of the daily
snapshots from the 1.6 release effort:
ftp://releng.netbsd.org:21/pub/NetBSD-daily/

If you prepare a disk with your root filesystem, you should leave 320
sectors empty at the beginning to have space for bootblocks.  The bootblock
can't boot from disk yet, but coming soon...

     christian