Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jan 2000 22:05:06 +0100 (MET)
From:      Gerard Roudier <groudier@club-internet.fr>
To:        "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
Cc:        Matthew Jacob <mjacob@feral.com>, Peter Wemm <peter@netplex.com.au>, obrien@NUXI.com, "Chris D. Faulhaber" <jedgar@fxp.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/conf GENERIC LINT
Message-ID:  <Pine.LNX.3.95.1000111211445.380A-100000@localhost>
In-Reply-To: <200001102336.PAA23001@gndrsh.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help


On Mon, 10 Jan 2000, Rodney W. Grimes wrote:

> > I care after such a zombie (linux ncr53c8xx) since 1 year now:). It is
> > only maintained against bugs and O/S changes. Seems the ncr also lives
> > this way since a couple a year.
> >=20
> > The sym driver supports from 810A to 1010 and does actually use as best=
=20
> It does not support the 825 so the above is not quite true.
>=20
> > as I was able to do all features of these chips. Also supporting the ol=
d=20
> > chips would have add to much complexity, or victimize new chips, actual=
=20
> > reliability, etc...
> >=20
> > FYI, SYMBIOS has 1 driver for 810 up to 895 and another one for 896 to
> > 1010 (may-be the 1010 will get a new driver, I donnot know).
> > The sym only drops support for 6 years old chips.=20
> >=20
> > By the way, possible it is to write a single SIM that supports all the
> > Adaptec collection of SCSI boards. Any volonteer? ;-)
>=20
> The adaptec collection are far more different from each other than the
> 2 most different sym chips.  The ahc driver supports the family of
> chips that is compariable to the sym driver, yes it is a complex beast,
> but so is maintaining 2 sets of code that are 80% similiar in functionali=
ty.

I was _obviously_ joking there. I know a bit about adaptec controllers=20
collection, by the way.
=20
> What is so different about the 810, 815 and 825 chip that they need thier
> own driver that will need maintained for at least 5 more years?

The 810, 815 and 825 have a poor SCRIPTS instruction set. Even a years-60
PDP-8 was better on this topic. Basically you must do everything using
memory copy, make the chip perform PCI self mastering and have to use self
modifying code with 810, 815 and 825. The new LOAD/STORE instructions
allow to write SCRIPTS that are a lot more clean. Thanks to these
instructions, the sym driver, for example:

- Ensures PCI 2.2 compliance (no self mastering through the PCI BUS)
- Does not use self modifying code.
- Have very fast paths that uses 0(n) table look-up from SCRIPTS.
- Has all SCRIPTS running from on-chip RAM for chip having 8K on-chip RAM.
  (896, 1510D, 895A, 1010)

The equivalent generic SCRIPTS (using MEMORY COPY) that would allow to
implement similar design as the sym uses can only look like a pile of
crap, in my opinion.

My choice has been to go with 2 drivers for reasons that appeared fully
_valuable_ to me. I also elected to go with 2 free O/Ses. People who wants=
=20
to do different or better are as free as I am to do what they want.

If there is a place where things must _NOT_ be generic in CAM, it is the=20
SIM layer. The LOAD/STORE instructions appeared to me as a major
difference that suggests to have 2 differents SIM for the 53C8XX family.
The more time goes, the more I feel I have been right.

G=E9rard.

PS: For people that may worry about driver maintainance:
    Fixes and enhancements move between drivers (linux ncr53c8xx/sym53c8xx=
=20
    and FreeBSD sim_hipd) without any problems and Pamela Delaney from
    LSILOGIC help me a lot for Linux, allowing me to have more time for=20
    FreeBSD. On the other hand I have access to informations I need or ask
    for about the SYMBIOS chips. I didn't sign any NDA, but may-be I am
    trusted there.



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.95.1000111211445.380A-100000>