Subject: Re: Disabling SCSI Blind Transfers
To: None <port-mac68k@netbsd.org>
From: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
List: port-mac68k
Date: 09/20/1998 00:25:02
I-Jong Lin <ijonglin@EE.Princeton.EDU> wrote:

>> I think that there's no need to do so, since NetBSD
>> doesn't use SCSI driver which is on the driver partition
>> of the drive, but not sure.  Do you have any problem yet?
>> 

I-Jong> Well, some files seem to imply that blind transfers
I-Jong> are implemented in the NetBSD kernel.

I-Jong> In dev/mac68k5380.c, for instance, there's a
I-Jong> comment:

I-Jong> blind transfers.
I-Jong> ^^^^^^^^^^^^^^^ etc.

Okey, I see.  I asume that you are using ncrscsi driver, not
sbc driver, is it right?

I-Jong> So, I'm of the impression that the kernel uses blind
I-Jong> transfers.

IIRC, ncrscsi driver doesn't have such a configuration, so I
suggest that you use sbc driver instead.

Actually, the same comment are found in dev/sbc.c, but sbc
driver allows some flags in kernel config file.

It's all what I know about this though.

I-Jong> Well, the problem is that after I turn my
I-Jong> accelerator, any writes to the SCSI device write
I-Jong> garbage to disk and corrupting the disk.  I've found
I-Jong> out that in the MacOS code for the accelerator, it
I-Jong> converts blind transfer to "normal" by changing some
I-Jong> sort of SCSI opcode.  I just want to know how to do
I-Jong> this in the NetBSD world.

I-Jong> Hope this clarifies the problem, I-Jong

Hmm...  Should cache flush code be in several place?  Does
your accelerator have external cache especially writeback
one which needs some I/O access to flush it?  If so, adding
such code in mac68k/sys_machdep.c does the work.