From owner-aic7xxx Fri Jul 13 6:48:26 2001 Delivered-To: aic7xxx@freebsd.org Received: from aslan.scsiguy.com (aslan.scsiguy.com [63.229.232.106]) by hub.freebsd.org (Postfix) with ESMTP id EA2F737B401 for ; Fri, 13 Jul 2001 06:48:22 -0700 (PDT) (envelope-from gibbs@scsiguy.com) Received: from scsiguy.com (localhost [127.0.0.1]) by aslan.scsiguy.com (8.11.2/8.9.3) with ESMTP id f6DDmJU72408; Fri, 13 Jul 2001 07:48:19 -0600 (MDT) (envelope-from gibbs@scsiguy.com) Message-Id: <200107131348.f6DDmJU72408@aslan.scsiguy.com> To: Kayoko Isshi Cc: "'aic7xxx@FreeBSD.ORG'" Subject: Re: test at Target mode In-Reply-To: Your message of "Fri, 13 Jul 2001 19:59:44 +0900." <3B4ED4A0.CE35BC4@cs.fujitsu.co.jp> Date: Fri, 13 Jul 2001 07:48:19 -0600 From: "Justin T. Gibbs" Sender: owner-aic7xxx@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >> As noted above, the interface is for FreeBSD only. FreeBSD's SCSI >> layer (CAM) has explicit support for target mode operations. Linux >> has yet to gain such features. > >Is that difficult to realize under Linux? >For example,new upper driver will support new target driver interface. Adding an "integrated" target mode system to Linux would be difficult. Adding some add-hoc system bypassing all of the mid-level queues, etc. might work, but would require more work at the low-level driver layer. If you look at the semantics guaranteed by CAM for target mode (see the ANSI spec from www.t10.org and peruse the FreeBSD code in sys/cam), I think you'll agree that target mode is often more complicated than initiator mode to implement. >> >6)Sequencer code)When set DISCENB in SCB_CONTROL and reconnected, >> >MegOut=8x sent. >> > ->setting MSG_IDENTIFY_DISCFLAG added. >> >> The format of target SCBs is different than for normal SCBs. See >> the FreeBSD driver for details: >> >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/aic7xxx > >I found no MSG_IDENTIFY_DISCFLAG in aic7xxx_freebsd.c. >I guess that MSG_IDENTIFY_DISCFLAG bit should be included in SCB_LUN. >Is that right? No. On a reselection, the target must always respond without the disconnect flag set. See the SCSI spec for details. The key here is honoring the DISCENB flag in the SCB so that the driver does not attempt to disconnect at any time during the transaction (e.g. multiple "continue target I/Os" processed in a single physical connection). -- Justin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe aic7xxx" in the body of the message