freebsd-dev/sys/cam
Nick Hibma 540d9130cc Add a hack to cam that makes the cam_xpt available to the rest of the
kernel. Justin agress that there is no other reasonable alternative to
do automatic rescans on connect.

The problem is that when a new device attaches to a SIM (SCSI host
controller) we need to send a XPT_SCAN_BUS command to the SIM using
xpt_action. This requires however that there is a peripheral available
to take the command (otherwise xpt_done and later bomb). The RESCAN
ioctl uses the same periph.

This enables a USB mass storage drive to do an automatic rescan on
connection of the drive.

The automatic dropping of a CAM entry on disconnection was already
working (asynchronous event).

The next thing to do is find someone to commit a change to vpo to do the
same thing. Just port umass_cam_rescan and friends across to that
driver.

Approved by:   gibbs
2000-04-03 11:11:12 +00:00
..
scsi Move B_ERROR flag to b_ioflags and call it BIO_ERROR. 2000-04-02 15:24:56 +00:00
cam_ccb.h Various typo's. 2000-03-15 21:55:48 +00:00
cam_debug.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_extend.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_extend.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_periph.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
cam_periph.h Add a hack to cam that makes the cam_xpt available to the rest of the 2000-04-03 11:11:12 +00:00
cam_queue.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_queue.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_sim.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_sim.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_xpt_periph.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_xpt_sim.h Clean up the xpt_sim creation to mirror how HBA drivers perform this task. 2000-01-14 23:08:46 +00:00
cam_xpt.c Add a hack to cam that makes the cam_xpt available to the rest of the 2000-04-03 11:11:12 +00:00
cam_xpt.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam.h Various typo's. 2000-03-15 21:55:48 +00:00