From owner-freebsd-current Thu Apr 16 03:18:07 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA00486 for freebsd-current-outgoing; Thu, 16 Apr 1998 03:18:07 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA00480 for ; Thu, 16 Apr 1998 03:18:03 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.8.8/8.8.8/Spinner) with ESMTP id SAA14071; Thu, 16 Apr 1998 18:15:22 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199804161015.SAA14071@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: "Justin T. Gibbs" cc: Tom , current@FreeBSD.ORG Subject: Re: Help - please... Adaptec 1542 and Exabyte tape problem... In-reply-to: Your message of "Thu, 16 Apr 1998 00:17:30 CST." <199804160617.AAA28394@narnia.plutotech.com> Date: Thu, 16 Apr 1998 18:15:21 +0800 From: Peter Wemm Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG "Justin T. Gibbs" wrote: > In article 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 Netplex Consulting To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message