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

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
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:
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

Patched kernel sources and the patch for the changes are in:

There's a complete userland snapshot at:
(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:

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...