Date: Mon, 30 Jan 2006 17:26:32 +0100 From: Stefan Esser <se@FreeBSD.org> To: olli@lurza.secnetix.de Cc: freebsd-scsi@FreeBSD.ORG, matthias.andree@gmx.de Subject: Re: SCSI scanner, sym/ncr driver, pt(4) Message-ID: <43DE3E38.2080902@FreeBSD.org> In-Reply-To: <200601251000.k0PA02CY070581@lurza.secnetix.de> References: <200601251000.k0PA02CY070581@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Oliver Fromme schrieb: > Matthias Andree <matthias.andree@gmx.de> wrote: > > Oliver Fromme <olli@lurza.secnetix.de> writes: > > There was a time when sym(4) didn't support the more efficient > > LOAD/STORE uncapable 810, 815, 825 chips (the A variants, where they > > exist, support LOAD/STORE). sym(4) has learned to use MEMMOVE on these, > > however. > > > > ncr(4) has never used LOAD/STORE, and lacks support for the 897 chip and > > the 1010 family. I think I can clarify the situation. The NCR driver supports all chips except for the 1010 (I think it should work with the 895/897, though I never owned one and haven't checked the sources). Because of the many problems with the Linux ncr53c8xx driver (which did not even support SCSI Disconnect), Gerard Roudier ported the BSD NCR driver to Linux where it was known as the BSD NCR driver at that time. After he had managed to complete the interface shims, he split the driver into an OS dependent part (different for BSD and Linux) and the low level driver code. While I did not want to give up support for the first generation of NCR chips (which had to use self modifying code in a lot of places for lack of better addressing modes in the early NCR SCRIPTS engine), Gerard simplified the micro code by use of the LOAD/STORE. Since at that time the NCR chip company had been bought by Hyundai (IIRC) and named Symbios, Gerard renamed the driver to "sym" (since it still supported the chips sold by Symbios, but not some of the earlier chips developed by NCR). At that time Gerard became a FreeBSD comitter and actively maintained the "sym" driver on FreeBSD (and also to some degree the "ncr" driver, which still has much in common with "sym"). A job change meant that could not keep up maintaining the NCR driver and I was glad to see that Gerard took over, but it appears, that he has not been active in the project for several years. I have considered declaring myself maintainer of both ncr and sym drivers, since I guess that I know there development and internal structure best, but I'm still extremely short of spare time (and while I still own some of the hardware used to develop the NCT driver, none of it is currently installed in any of my systems). I had started writing an improved NCR driver (which could take advantage of all possible combinations of features in the different chips), but when I found that I did not even have time to maintain the existing driver, I gave up on finishing it. Besides with the sym driver being maintained and made to support newer chips, the ncr driver was only relevant for the old chips left behind by sym. > I've read about that LOAD/STORE and MEMMOVE stuff in the > manpage, but I'm not a SCSI expert, so that's really only > gibberish to me, I'm afraid. Hell, I do not even know if > my "810" card is an "early NCR 810" which sym(4) keeps > talking about. The 810 is early, the 810A is a second generation chip. The 860 is a faster version of the 810A (or rather the 860 was the sequel to the 810 and offered the enhanced instruction set, the 810A is a slower variant offering only the original 5MB/s instead of the 860s 10MB/s). > If you're just a user, the manpages fail to tell whether > the sym(4) or ncr(4) driver is preferred for an 810 host > adapter. If you include both drivers in a kernel, "sym" will be used for all chips it supports. I might have a look at the man pages, though ... > > > But I wonder if the ncr(4) driver offered any advantages. > > > > It doesn't. There used to be a time when it worked with the old 810 and > > sym(4) didn't, but this no longer holds. Hmmm, this is news to me. That would require the sym driver to contain both sets of SCRIPTS code, the one from the NCR driver and the one from the sym driver. > OK, so the ncr(4) should be regarded obsolete, right? In > that case, the manpage should say so, at least. I don't think so ... Except if you consider the 53c810 obsolete, though it is still quite useful for slower SCSI peripherals. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43DE3E38.2080902>