Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 1996 17:06:27 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        imb@scgt.oz.au, mtaylor@cybernet.com, hackers@freebsd.org
Subject:   Re: Proper FreeBSD news machine
Message-ID:  <199603080006.RAA15152@phaeton.artisoft.com>
In-Reply-To: <199603071933.GAA04954@godzilla.zeta.org.au> from "Bruce Evans" at Mar 8, 96 06:33:19 am

next in thread | previous in thread | raw e-mail | index | archive | help
> >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.



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