diff options
author | scottl <scottl@FreeBSD.org> | 2007-04-15 08:49:19 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2007-04-15 08:49:19 +0000 |
commit | 7605c12c0f2bf784960d36288b7cb6e451b99a15 (patch) | |
tree | 010146772b36d16e6f98671b4bed7ce094acd633 /sys/cam/cam_xpt.h | |
parent | 3e3198a9661d5d1c3e35abc313ad0d4688c6eea6 (diff) | |
download | FreeBSD-src-7605c12c0f2bf784960d36288b7cb6e451b99a15.zip FreeBSD-src-7605c12c0f2bf784960d36288b7cb6e451b99a15.tar.gz |
Remove Giant from CAM. Drivers (SIMs) now register a mutex that CAM will
use to synchornize and protect all data objects that are used for that
SIM. Drivers that are not yet MPSAFE register Giant and operate as
usual. RIght now, no drivers are MPSAFE, though a few will be changed
in the coming week as this work settles down.
The driver API has changed, so all CAM drivers will need to be recompiled.
The userland API has not changed, so tools like camcontrol do not need to
be recompiled.
Diffstat (limited to 'sys/cam/cam_xpt.h')
-rw-r--r-- | sys/cam/cam_xpt.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/cam/cam_xpt.h b/sys/cam/cam_xpt.h index f8557f9..deed466 100644 --- a/sys/cam/cam_xpt.h +++ b/sys/cam/cam_xpt.h @@ -58,6 +58,10 @@ cam_status xpt_create_path(struct cam_path **new_path_ptr, struct cam_periph *perph, path_id_t path_id, target_id_t target_id, lun_id_t lun_id); +cam_status xpt_create_path_unlocked(struct cam_path **new_path_ptr, + struct cam_periph *perph, + path_id_t path_id, + target_id_t target_id, lun_id_t lun_id); void xpt_free_path(struct cam_path *path); int xpt_path_comp(struct cam_path *path1, struct cam_path *path2); @@ -73,6 +77,8 @@ struct cam_periph *xpt_path_periph(struct cam_path *path); void xpt_async(u_int32_t async_code, struct cam_path *path, void *async_arg); void xpt_rescan(union ccb *ccb); +void xpt_lock_buses(void); +void xpt_unlock_buses(void); #endif /* _KERNEL */ #endif /* _CAM_CAM_XPT_H */ |