From owner-freebsd-scsi Fri May 2 12:45:53 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA18995 for freebsd-scsi-outgoing; Fri, 2 May 1997 12:45:53 -0700 (PDT) Received: from pluto.plutotech.com (root@pluto100.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id MAA18990 for ; Fri, 2 May 1997 12:45:51 -0700 (PDT) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by pluto.plutotech.com (8.8.5/8.8.3) with ESMTP id NAA16949; Fri, 2 May 1997 13:45:35 -0600 (MDT) Message-Id: <199705021945.NAA16949@pluto.plutotech.com> To: Simon Shapiro cc: freebsd-scsi@FreeBSD.ORG Subject: Re: Multiple Busses, HowTo Question In-reply-to: Your message of "Fri, 02 May 1997 10:08:18 PDT." Date: Fri, 02 May 1997 14:44:12 -0600 From: "Justin T. Gibbs" Sender: owner-freebsd-scsi@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Hi Yall, > >I am getting to the point where I really need an answer to the question. > >Here is the situation: > >The DPT SCSi HBA has up to three busses per HBA. It is a bit unlike the >Adaptec or the Mylex solution in that there is really only one HBA (one set >of registers, etc.), but the HBA has 1,2, or 3 busses. We know how to >detect it at initialization time and how to address them. What we do not >know, is how to tell FreeBSD about it. Go look at the Adaptec driver. Your situation is much the same as that of the 274XT controllers (2 busses but only one HBA) and you should be able to use the aic7xxx.c file as an example of how to properly perform the attach. >controller dpt0 > >controller scbus0 at dpt0 >controller scbus1 at dpt0 >controller scbus2 at dpt0 These should be: controller scbus0 at dpt0 bus 0 controller scbus1 at dpt0 bus 1 controller scbus2 at dpt0 bus 2 "man 4 scsi" and you'll see an example for the 2742. >What we see is that scsi_attachdevs() calls dpt0 with ALL the three busses, >without any visible (to us) indication which bus should the request go to. You are supposed to key off of the "adapter_bus" member of the scsi_link structure pointed to by the scsi_xfer passed into you: xs->sc_link->adapter_bus This also means that you must properly initialize the adapter_bus member of the scsi_link structure you pass into scsi_attachdevs(). BTW Simon, you're putting out garbage at the end of your messages again... -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================