Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Apr 1998 18:15:21 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        "Justin T. Gibbs" <gibbs@narnia.plutotech.com>
Cc:        Tom <tom@uniserve.com>, current@FreeBSD.ORG
Subject:   Re: Help - please... Adaptec 1542 and Exabyte tape problem... 
Message-ID:  <199804161015.SAA14071@spinner.netplex.com.au>
In-Reply-To: Your message of "Thu, 16 Apr 1998 00:17:30 CST." <199804160617.AAA28394@narnia.plutotech.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
"Justin T. Gibbs" wrote:
> In article <Pine.BSF.3.96.980415225257.15072A-100000@shell.uniserve.com> you 
    wrote:
> > 
> > On Thu, 16 Apr 1998, Kerry Morse wrote:
> > 
> >> Apr 16 13:35:05 proxy /kernel: aha0: DMA beyond end Of ISA: 0x357cd10
> > 
> >   Bounce buffers are required to DMA above the 16MB for ISA devices.
> > However, bounce buffers do not work for the aha driver (it is unclear
> > whether the driver or the bounce buffers are broken).
> 
> It's not the driver, and it's not the bounce buffers.  It's the fact
> that several portions of the SCSI layer allocate objects that are
> the targets of DMA on the kernel stack and that a clude in scsi_scsi_cmd()
> to detect this and properly bounce the data does not work.

I fixed this on one of my machines about an hour ago.  There are several 
problems.

1: The kernel stack used to be < KERNBASE, it no longer is.  The 
scsi_scsi_cmd() hack to catch these wasn't updated when the kstack moved.

2: I'm not 100% sure of all calling sequences for scsi_scsi_cmd(), but it
looks like it tries to bcopy() things to and from userspace instead of
using copyin/copyout..  This could be deadly under the wrong circumstances
to say the least.

I'm re-testing my patches, I managed to end up with 12 busy (locked) 
buffers when I did a reboot test.

> >   This is any old problem.  See the archives.  It seems that any developer 
> > who has more than 16MB of RAM has also decided to upgrade to non-ISA
> > controllers.
> 
> Bah.  I implemented the Bus DMA version of bounce buffers just so ISA
> AdvanSys and Adaptec cards could be properly supported.  The 1542 driver
> simply hasn't been completed yet for CAM.

I propose to patch the scsi bounce buffer support One Last Time(TM) prior to 
CAM going in.

> > Tom
> 
> --
> Justin

Cheers,
-Peter
--
Peter Wemm <peter@netplex.com.au>   Netplex Consulting



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804161015.SAA14071>