test at Target mode

Justin T. Gibbs gibbs at scsiguy.com
Fri Jul 13 06:48:26 PDT 2001


>> 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 at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message




More information about the aic7xxx mailing list