Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 May 1997 18:28:49 -0600
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        Guido Kollerie <gkoller@pi.net>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: Common Access Method && SCSI drivers 
Message-ID:  <199705092330.RAA03255@pluto.plutotech.com>
In-Reply-To: Your message of "Fri, 09 May 1997 23:07:32 BST." <Chameleon.863213242.guido@kinchenna> 

next in thread | previous in thread | raw e-mail | index | archive | help
>Hello,
>
>I asked this little while back but didn't got a response. I'm 
>still curious though so I'll ask it again. How is the 
>implementation of the Common Access Method (CAM) proceeding? 


 Copyright (c) 1992-1997 FreeBSD Inc.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
 	The Regents of the University of California. All rights reserved.
 FreeBSD 3.0-CURRENT #14: Thu May  8 09:56:23 MDT 1997
     gibbs@narnia.plutotech.com:/usr/src/sys.cam/compile/DM
 CPU: Pentium (133.29-MHz 586-class CPU)
   Origin = "GenuineIntel"  Id = 0x52b  Stepping=11
   Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
 real memory  = 33554432 (32768K bytes)
 avail memory = 30928896 (30204K bytes)
 Probing for devices on PCI bus 0:
 chip0 <Intel 82437FX PCI cache memory controller> rev 1 on pci0:0:0
 chip1 <Intel 82371FB PCI-ISA bridge> rev 2 on pci0:7:0
 chip2 <Intel 82371FB IDE interface> rev 2 on pci0:7:1
 fxp0 <Intel EtherExpress Pro 10/100B Ethernet> rev 1 int a irq 15 on pci0:9:0
 fxp0: Ethernet address 00:a0:c9:48:d0:91
 ahc0 <Adaptec 2940 Ultra SCSI host adapter> rev 0 int a irq 9 on pci0:10:0
 ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
 vga0 <VGA-compatible display device> rev 227 int a irq 12 on pci0:11:0
 Probing for devices on the ISA bus:
 sc0 at 0x60-0x6f irq 1 on motherboard
 sc0: VGA color <16 virtual consoles, flags=0x0>
 sio0: reserved for low-level i/o
 sio0 not found at 0x3f8
 sio1 at 0x2f8-0x2ff irq 3 on isa
 sio1: type 16550A
 lpt0 at 0x378-0x37f irq 7 on isa
 lpt0: Interrupt-driven port
 lp0: TCP/IP capable interface
 fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
 fdc0: NEC 72065B
 fd0: 1.44MB 3.5in
 npx0 on motherboard
 npx0: INT 16 interface
 ccd0-3: Concatenated disk drivers
 da1 at ahc0 bus 0 target 1 lun 0
 da1: <SEAGATE ST32155N 0318> Fixed Direct Access SCSI2 device 
 da1: 20MB/s (20MHz sync offset 15) Tagged Queueing Enabled
 da1: 2049MB (4197405 512 byte sectors: 255H 63S/T 261C)
 da3 at ahc0 bus 0 target 3 lun 0
 da3: <SEAGATE ST32155N 0318> Fixed Direct Access SCSI2 device 
 da3: 20MB/s (20MHz sync offset 15) Tagged Queueing Enabled
 da3: 2049MB (4197405 512 byte sectors: 255H 63S/T 261C)
 da2 at ahc0 bus 0 target 2 lun 0
 da2: <SEAGATE ST32155N 0318> Fixed Direct Access SCSI2 device 
 da2: 20MB/s (20MHz sync offset 15) Tagged Queueing Enabled
 da2: 2049MB (4197405 512 byte sectors: 255H 63S/T 261C)
 da0 at ahc0 bus 0 target 0 lun 0
 da0: <SEAGATE ST32155N 0532> Fixed Direct Access SCSI2 device 
 da0: 20MB/s (20MHz sync offset 15) Tagged Queueing Enabled
 da0: 2049MB (4197405 512 byte sectors: 255H 63S/T 261C)

I've been running multi-user on this code for the past few days.
There is only support for direct access devices at the moment and
only for aic7xxx cards.  You'll notice that the device probes happen
at the end of the output.  This is because all device probing relies
on interrupts meaning that multiple devices and busses can be probed
in parallel. It also makes dumps the only case where any type of
polling is required which makes the code much simpler.

It seems that my second and fourth disk are a little bit faster than the
others in responding to a read capacity command.  I hope people don't
mind if their devices a listed "out of order" on boot. 8-)

>Will it be a real CAM implementation or will it just be based 
>on it?

It is CAM plus extensions.  CAM didn't offer any way to ensure
resource fairness and only offered two levels of scheduling (actually
CAM 3 takes this to 4, but that's still pretty coarse).  My
implementation is round-robin per priority level using a u_int32_t
to represent the priority.

I'm working on documentation and cleaning up some error recovery code
and as soon as I'm done with that, I'll post a URL with information
about my implementation.

>And what about the current SCSI drivers, which of them 
>are being (or will be) modified to adher to CAM?

I plan on personally completing the aic7xxx driver, an AdvanSys
driver, the 1542 and 1742 driver, and perhaps the Buslogic driver.
I'll also offer whatever assistance I can to anyone who is willing
to help convert drivers since my goal is to support them all.
Unfortunately, I can only really ensure that there is working
support for the cards I have access to.

>A more or less related question. Which of SCSI drivers are 
>being actively maintained. Judging from the amount of traffic 
>Adaptec related driver questions (and answers) generate, I know 
>the Adaptec driver is. Tekram has written it's own, and Simon 
>Shapiro is working on a DPT driver. But what about the other 
>SCSI drivers?

I know of active maintainers only for the NCR and aic7xxx drivers.
The DPT driver is "on the way". Drivers that need work are:

aha 1542 driver
	There have been a few recent bug reports.  I'm working on
	getting documentation and have a 1542C here to play with.

bha Buslogic Multimaster cards
	I have some documentation, but this driver will need a lot of
	work to make it fully functional.  Tagged queueing and support
	for the maximum number of transactions on the varying cards are
	at the top of the list.  I have a BT747 to test changes with,
	but the 958 and 968 are more "interesting".

aic 1522 and aic6360 cards
	NetBSD has done a lot of cleanup in this driver, but in addition
	to leveraging off of that work, the driver should be enhanced to
	support DMA transfers and tagged queueing.  I'm working on
	getting the documenation for these guys too, but I don't have
	any hardware to test with (Warner is close by though and he
	has some of these).

seagate, wd7000, ultrastore, etc.
	The other drivers need general cleanup.  If there are people who
	have the documentation for these cards or spare hardware laying
	about, it would be great if they could send them to me so I can
	find maintainers and/or test changes here.

>--
>Guido Kollerie

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================



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