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

next in thread | previous in thread | raw e-mail | index | archive | help
...
> > 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 functionality.
> 
> I was _obviously_ joking there. I know a bit about adaptec controllers 
> collection, by the way.

:-)

> > 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)

Thats what I needed to know.  So now I have more questions.  Does it
make since to gut the ncr driver down so that it only supports the
810/815/825 and/or write a sym_xxx based on your driver only using
a different SIM layer or ??? 

Would it simplify the ncr.c driver code to drop support for the more
advanced cards that are well supported by the sym_hipd driver?

> 
> 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.

Could one driver handle 2 SIM layers?  Use a dispatch table to change
how the routines work.  The operational events should be similiar,
just the underlying interface is different right?

> 
> 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 
> 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 
> 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.

I'll print vgrind copies of the sym and ncr driver and have a read to
update my brain on what has changed.  Last time I read the ncr code was
over 4 years ago....
 

-- 
Rod Grimes - KD7CAX @ CN85sl - (RWG25)               rgrimes@gndrsh.dnsmgr.net


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?200001112113.NAA25491>