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>
