From owner-freebsd-hackers Thu Mar 7 16:11:04 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA18619 for hackers-outgoing; Thu, 7 Mar 1996 16:11:04 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA18588 for ; Thu, 7 Mar 1996 16:10:59 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id RAA15152; Thu, 7 Mar 1996 17:06:27 -0700 From: Terry Lambert Message-Id: <199603080006.RAA15152@phaeton.artisoft.com> Subject: Re: Proper FreeBSD news machine To: bde@zeta.org.au (Bruce Evans) Date: Thu, 7 Mar 1996 17:06:27 -0700 (MST) Cc: imb@scgt.oz.au, mtaylor@cybernet.com, hackers@FreeBSD.ORG In-Reply-To: <199603071933.GAA04954@godzilla.zeta.org.au> from "Bruce Evans" at Mar 8, 96 06:33:19 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > >This is highly dependent on the motherboard you have to put it in (stating > >the bleeding obvious :-)) .. PCI is better than VESA or EISA is better than > >ISA. Any decent card, Adaptec or BusLogic will do what you need. Note one > >specific exception - a BT445S is of absolutely no benefit at all over a 1542 > >through its inability to avoid the use of "bounce-buffers". > > According to /sys/i386/isa/bt5xx-445.c, only "OLD bt445s Revision A,B,C,D > (nowired)" have broken 32 bit addressing. However, /sys/i386/scsi/bt.c > now enables bounce buffering for all bt445s's. You can still avoid it > by using option BOUNCE_BUFFERS. Option BOUNCE_BUFFERS also gives unnecessary > bounce buffering for the ultrastor U24F (EISA) and U34F (VLB) controllers > since ultra14f.c always enables bounce buffering in case the system is ISA > or broken. > > I think the bt445s is still better than a 1542 because it is a newer design > and is designed for VLB. If you could turn it off and on on a per-controller basis, you could easily locate a page that would wrap that is in both the "above 16M" and "below 16M" spaces. Then you: 1) Read a sector into the low area 2) Increment every byte 3) Copy it to the high area 4) Read the sector to the high area; if the decode fails, the low area is modified, if not, the high area is modified. You disable bouncing if the high area is modified, and leave it enabled if the low area is. This fixes HiNT chipset based NiCE EISA motherboards, and the three name changes the motherboards went through after it became apparent they didn't conform to the EISA spec. You don't even do the "16M DMA wrap probe" if the machine has less than 16M. Problem solved. Throuw out the version code and the ISA/VLB distinction. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.