Commit Graph

5 Commits

Author SHA1 Message Date
Sean Bruno
b0d0537558 A few enhancements I made while working on the Firewire target (sbp_targ).
Update the error handling in a couple of cases to exit gracefully if
certain mandatory conditions aren't met.

Reduce the maximum number of initiators to 8 for this example code.  While
1024 is more correct, this example code would act like it was stalled out
even though it was merely allocating the needed structures in init_ccbs()

Reviewed by:	scottl@freebsd.org
2009-09-07 23:16:27 +00:00
Matt Jacob
cd6dedfc61 Bump MAX_INITIATORS to 1024- the LSI-Logic can go even higher than
this for 'initiator id'- this is a stopgap until a sparse map is
added.

Make compat defines for offset format (FreeBSD 5 or less).

Add no-asyncio flag. There's some breakage with ASYNC I/O that every
now and then drops us into an infinite loop. This also then does
a fallback to no-asyncio if the AIO option isn't loaded/compiled into
the kernel.

A number of other chanes to try and track some breakage.
2006-09-27 15:38:13 +00:00
Nate Lawson
daa66c2c60 Bump the max number of initiators to 256 from 16. This is appropriate for
fibre channel and shouldn't hurt SPI.
2004-01-09 19:26:30 +00:00
Hidetoshi Shimokawa
068d70bad8 - Enable 16byte commands.
- Fix printf warnings on 64bit architectures.
- Accept 'k', 'm' and etc. for -s option.

Reviewed by: njl
2003-10-18 04:54:08 +00:00
Nate Lawson
c38b150ae4 New SCSI target emulator code
This code allows a user program to enable target mode on a SIM and
then emulate any number of devices (disks, tape drives, etc.)  All
decisions about device behavior (UA, CA, inquiry response) are left
to the usermode program and the kernel driver is merely a conduit
for CCBs.  This enables multiple concurrent target emulators, each
using its own backing store and IO model.

Also included is a user program that emulates a disk (RBC) using a
file as a backing store.  This provides functionality similar to
md(4) at the CAM layer.

Code has been tested on ahc(4) and should also work on isp(4) (and
other SIMs that gain target mode support).  It is a complete rewrite
of /sys/cam/scsi_target* and /usr/share/examples/scsi_target.

Design, comments from:	gibbs
Supported by:		Cryptography Research
Approved by:		re
2002-11-22 22:55:51 +00:00