aeab0b1a18
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
35 lines
686 B
Makefile
35 lines
686 B
Makefile
# $FreeBSD$
|
|
|
|
MAINTAINER= n_hibma@freebsd.org
|
|
S= ${.CURDIR}/../..
|
|
|
|
.PATH: $S/cam $S/cam/scsi
|
|
|
|
KMOD= cam
|
|
|
|
# See sys/conf/options for the flags that go into the different opt_*.h files.
|
|
SRCS= opt_cam.h
|
|
SRCS+= opt_scsi.h
|
|
SRCS+= opt_cd.h
|
|
SRCS+= opt_hw_wdog.h
|
|
SRCS+= opt_pt.h
|
|
SRCS+= opt_sa.h
|
|
SRCS+= opt_ses.h
|
|
SRCS+= device_if.h bus_if.h vnode_if.h
|
|
SRCS+= cam.c cam_periph.c cam_queue.c
|
|
SRCS+= cam_sim.c cam_xpt.c
|
|
SRCS+= scsi_all.c scsi_cd.c scsi_ch.c
|
|
SRCS+= scsi_da.c
|
|
SRCS+= scsi_pass.c
|
|
SRCS+= scsi_pt.c
|
|
SRCS+= scsi_sa.c
|
|
SRCS+= scsi_ses.c
|
|
SRCS+= scsi_targ_bh.c scsi_target.c
|
|
|
|
EXPORT_SYMS= YES # XXX evaluate
|
|
|
|
opt_scsi.h:
|
|
echo '#define SCSI_DELAY 15000' > opt_scsi.h
|
|
|
|
.include <bsd.kmod.mk>
|