Subject: Quadra 840AV scsi DMA
To: None <port-mac68k@netbsd.org>
From: Mike Haertel <mike@ducky.net>
List: port-mac68k
Date: 04/08/2002 02:15:22
Hi all,

I have a Quadra 840AV that I have recently set
up with NetBSD/mac68k.  Supposedly the SCSI controller
on this machine was one of the fastest ever put on
a 68k mac.  However, it is dog slow under NetBSD.

I did some investigating and found that in esp.c it
is using the esp_dma_*() code, rather than the
esp_quick_dma_*() code.

Apparently the reason for this is that the 840AV
does not support the pseudo-DMA found in most other
68k Macs.  Instead, it appears to have a true hardware
DMA controller, but NetBSD doesn't know how to use it.
It gets very good performance under MacOS.

Is anybody already working on this?  If not, I would
like to take a crack at it.

My first thought is to disassemble the SCSI driver
in the Macintosh ROM to find out how to operate the
DMA controller.  I have MacsBug, and I also have a
very complete looking table of ROM entry points (from
the MPW-GM distribution which is freely downloadable
from Apple).  MacsBug has some capability of doing
symbolic disassembly, but I haven't been able to
figure out how to get my symbol table of the ROM
into MacsBug.  Anybody know how to do this?  If not,
any other suggestions on how I might proceed?

Thanks,

	Mike