PERFORCE change 106261 for review

Matt Jacob mjacob at FreeBSD.org
Sun Sep 17 14:24:35 PDT 2006


http://perforce.freebsd.org/chv.cgi?CH=106261

Change 106261 by mjacob at newisp on 2006/09/17 21:23:35

	A variety of 24XX structure changes/additions for target mode.

Affected files ...

.. //depot/projects/newisp/dev/isp/isp.c#11 edit
.. //depot/projects/newisp/dev/isp/isp_library.c#7 edit
.. //depot/projects/newisp/dev/isp/isp_library.h#6 edit
.. //depot/projects/newisp/dev/isp/isp_stds.h#2 edit
.. //depot/projects/newisp/dev/isp/isp_target.c#4 edit
.. //depot/projects/newisp/dev/isp/isp_target.h#6 edit
.. //depot/projects/newisp/dev/isp/ispmbox.h#4 edit

Differences ...

==== //depot/projects/newisp/dev/isp/isp.c#11 (text+ko) ====

@@ -4474,10 +4474,6 @@
 			}
 			MEMZERO(hp, QENTRY_LEN);	/* PERF */
 			continue;
-		} else if (etype == RQSTYPE_MARKER) {
-			isp_prt(isp, ISP_LOGDEBUG0, "MARKER");
-			MEMZERO(hp, QENTRY_LEN);	/* PERF */
-			continue;
 		} else {
 			/*
 			 * Somebody reachable via isp_handle_other_response
@@ -5137,7 +5133,10 @@
 {
 	switch (type) {
 	case RQSTYPE_STATUS_CONT:
-		isp_prt(isp, ISP_LOGINFO, "Ignored Continuation Response");
+		isp_prt(isp, ISP_LOGDEBUG0, "Ignored Continuation Response");
+		return (1);
+	case RQSTYPE_MARKER:
+		isp_prt(isp, ISP_LOGDEBUG0, "Marker Response");
 		return (1);
 	case RQSTYPE_ATIO:
 	case RQSTYPE_CTIO:

==== //depot/projects/newisp/dev/isp/isp_library.c#7 (text) ====

@@ -1131,41 +1131,17 @@
  */
 
 void
-isp_get_ct_hdr(ispsoftc_t *isp, ct_hdr_t *src, ct_hdr_t *dst)
+isp_get_fc_hdr(ispsoftc_t *isp, fc_hdr_t *src, fc_hdr_t *dst)
 {
-	ISP_IOZGET_8(isp, &src->ct_revision, dst->ct_revision);
-	ISP_IOZGET_8(isp, &src->ct_in_id[0], dst->ct_in_id[0]);
-	ISP_IOZGET_8(isp, &src->ct_in_id[1], dst->ct_in_id[1]);
-	ISP_IOZGET_8(isp, &src->ct_in_id[2], dst->ct_in_id[2]);
-	ISP_IOZGET_8(isp, &src->ct_fcs_type, dst->ct_fcs_type);
-	ISP_IOZGET_8(isp, &src->ct_fcs_subtype, dst->ct_fcs_subtype);
-	ISP_IOZGET_8(isp, &src->ct_options, dst->ct_options);
-	ISP_IOZGET_8(isp, &src->ct_reserved0, dst->ct_reserved0);
-	ISP_IOZGET_16(isp, &src->ct_cmd_resp, dst->ct_cmd_resp);
-	ISP_IOZGET_16(isp, &src->ct_bcnt_resid, dst->ct_bcnt_resid);
-	ISP_IOZGET_8(isp, &src->ct_reserved1, dst->ct_reserved1);
-	ISP_IOZGET_8(isp, &src->ct_reason, dst->ct_reason);
-	ISP_IOZGET_8(isp, &src->ct_explanation, dst->ct_explanation);
-	ISP_IOZGET_8(isp, &src->ct_vunique, dst->ct_vunique);
-}
+	int i, amt;
+	uint32_t *a, *b;
 
-void
-isp_put_ct_hdr(ispsoftc_t *isp, ct_hdr_t *src, ct_hdr_t *dst)
-{
-	ISP_IOZPUT_8(isp, src->ct_revision, &dst->ct_revision);
-	ISP_IOZPUT_8(isp, src->ct_in_id[0], &dst->ct_in_id[0]);
-	ISP_IOZPUT_8(isp, src->ct_in_id[1], &dst->ct_in_id[1]);
-	ISP_IOZPUT_8(isp, src->ct_in_id[2], &dst->ct_in_id[2]);
-	ISP_IOZPUT_8(isp, src->ct_fcs_type, &dst->ct_fcs_type);
-	ISP_IOZPUT_8(isp, src->ct_fcs_subtype, &dst->ct_fcs_subtype);
-	ISP_IOZPUT_8(isp, src->ct_options, &dst->ct_options);
-	ISP_IOZPUT_8(isp, src->ct_reserved0, &dst->ct_reserved0);
-	ISP_IOZPUT_16(isp, src->ct_cmd_resp, &dst->ct_cmd_resp);
-	ISP_IOZPUT_16(isp, src->ct_bcnt_resid, &dst->ct_bcnt_resid);
-	ISP_IOZPUT_8(isp, src->ct_reserved1, &dst->ct_reserved1);
-	ISP_IOZPUT_8(isp, src->ct_reason, &dst->ct_reason);
-	ISP_IOZPUT_8(isp, src->ct_explanation, &dst->ct_explanation);
-	ISP_IOZPUT_8(isp, src->ct_vunique, &dst->ct_vunique);
+	a = (uint32_t *) src;
+	b = (uint32_t *) dst;
+	amt = (sizeof (fc_hdr_t)) >> 2;
+	for (i = 0; i < amt; i++) {
+		ISP_IOZGET_32(isp, a++, *b++);
+	}
 }
 
 void
@@ -1211,6 +1187,44 @@
 	}
 }
 
+void
+isp_get_ct_hdr(ispsoftc_t *isp, ct_hdr_t *src, ct_hdr_t *dst)
+{
+	ISP_IOZGET_8(isp, &src->ct_revision, dst->ct_revision);
+	ISP_IOZGET_8(isp, &src->ct_in_id[0], dst->ct_in_id[0]);
+	ISP_IOZGET_8(isp, &src->ct_in_id[1], dst->ct_in_id[1]);
+	ISP_IOZGET_8(isp, &src->ct_in_id[2], dst->ct_in_id[2]);
+	ISP_IOZGET_8(isp, &src->ct_fcs_type, dst->ct_fcs_type);
+	ISP_IOZGET_8(isp, &src->ct_fcs_subtype, dst->ct_fcs_subtype);
+	ISP_IOZGET_8(isp, &src->ct_options, dst->ct_options);
+	ISP_IOZGET_8(isp, &src->ct_reserved0, dst->ct_reserved0);
+	ISP_IOZGET_16(isp, &src->ct_cmd_resp, dst->ct_cmd_resp);
+	ISP_IOZGET_16(isp, &src->ct_bcnt_resid, dst->ct_bcnt_resid);
+	ISP_IOZGET_8(isp, &src->ct_reserved1, dst->ct_reserved1);
+	ISP_IOZGET_8(isp, &src->ct_reason, dst->ct_reason);
+	ISP_IOZGET_8(isp, &src->ct_explanation, dst->ct_explanation);
+	ISP_IOZGET_8(isp, &src->ct_vunique, dst->ct_vunique);
+}
+
+void
+isp_put_ct_hdr(ispsoftc_t *isp, ct_hdr_t *src, ct_hdr_t *dst)
+{
+	ISP_IOZPUT_8(isp, src->ct_revision, &dst->ct_revision);
+	ISP_IOZPUT_8(isp, src->ct_in_id[0], &dst->ct_in_id[0]);
+	ISP_IOZPUT_8(isp, src->ct_in_id[1], &dst->ct_in_id[1]);
+	ISP_IOZPUT_8(isp, src->ct_in_id[2], &dst->ct_in_id[2]);
+	ISP_IOZPUT_8(isp, src->ct_fcs_type, &dst->ct_fcs_type);
+	ISP_IOZPUT_8(isp, src->ct_fcs_subtype, &dst->ct_fcs_subtype);
+	ISP_IOZPUT_8(isp, src->ct_options, &dst->ct_options);
+	ISP_IOZPUT_8(isp, src->ct_reserved0, &dst->ct_reserved0);
+	ISP_IOZPUT_16(isp, src->ct_cmd_resp, &dst->ct_cmd_resp);
+	ISP_IOZPUT_16(isp, src->ct_bcnt_resid, &dst->ct_bcnt_resid);
+	ISP_IOZPUT_8(isp, src->ct_reserved1, &dst->ct_reserved1);
+	ISP_IOZPUT_8(isp, src->ct_reason, &dst->ct_reason);
+	ISP_IOZPUT_8(isp, src->ct_explanation, &dst->ct_explanation);
+	ISP_IOZPUT_8(isp, src->ct_vunique, &dst->ct_vunique);
+}
+
 #ifdef	ISP_TARGET_MODE
 int
 isp_save_xs_tgt(ispsoftc_t *isp, void *xs, uint32_t *handlep)
@@ -1269,608 +1283,738 @@
 }
 
 void
-isp_put_atio(ispsoftc_t *isp, at_entry_t *atsrc, at_entry_t *atdst)
+isp_put_atio(ispsoftc_t *isp, at_entry_t *src, at_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXPUT_16(isp, atsrc->at_reserved, &atdst->at_reserved);
-	ISP_IOXPUT_16(isp, atsrc->at_handle, &atdst->at_handle);
+	isp_put_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXPUT_16(isp, src->at_reserved, &dst->at_reserved);
+	ISP_IOXPUT_16(isp, src->at_handle, &dst->at_handle);
 	if (ISP_IS_SBUS(isp)) {
-		ISP_IOXPUT_8(isp, atsrc->at_lun, &atdst->at_iid);
-		ISP_IOXPUT_8(isp, atsrc->at_iid, &atdst->at_lun);
-		ISP_IOXPUT_8(isp, atsrc->at_cdblen, &atdst->at_tgt);
-		ISP_IOXPUT_8(isp, atsrc->at_tgt, &atdst->at_cdblen);
-		ISP_IOXPUT_8(isp, atsrc->at_status, &atdst->at_scsi_status);
-		ISP_IOXPUT_8(isp, atsrc->at_scsi_status, &atdst->at_status);
-		ISP_IOXPUT_8(isp, atsrc->at_tag_val, &atdst->at_tag_type);
-		ISP_IOXPUT_8(isp, atsrc->at_tag_type, &atdst->at_tag_val);
+		ISP_IOXPUT_8(isp, src->at_lun, &dst->at_iid);
+		ISP_IOXPUT_8(isp, src->at_iid, &dst->at_lun);
+		ISP_IOXPUT_8(isp, src->at_cdblen, &dst->at_tgt);
+		ISP_IOXPUT_8(isp, src->at_tgt, &dst->at_cdblen);
+		ISP_IOXPUT_8(isp, src->at_status, &dst->at_scsi_status);
+		ISP_IOXPUT_8(isp, src->at_scsi_status, &dst->at_status);
+		ISP_IOXPUT_8(isp, src->at_tag_val, &dst->at_tag_type);
+		ISP_IOXPUT_8(isp, src->at_tag_type, &dst->at_tag_val);
 	} else {
-		ISP_IOXPUT_8(isp, atsrc->at_lun, &atdst->at_lun);
-		ISP_IOXPUT_8(isp, atsrc->at_iid, &atdst->at_iid);
-		ISP_IOXPUT_8(isp, atsrc->at_cdblen, &atdst->at_cdblen);
-		ISP_IOXPUT_8(isp, atsrc->at_tgt, &atdst->at_tgt);
-		ISP_IOXPUT_8(isp, atsrc->at_status, &atdst->at_status);
-		ISP_IOXPUT_8(isp, atsrc->at_scsi_status,
-		    &atdst->at_scsi_status);
-		ISP_IOXPUT_8(isp, atsrc->at_tag_val, &atdst->at_tag_val);
-		ISP_IOXPUT_8(isp, atsrc->at_tag_type, &atdst->at_tag_type);
+		ISP_IOXPUT_8(isp, src->at_lun, &dst->at_lun);
+		ISP_IOXPUT_8(isp, src->at_iid, &dst->at_iid);
+		ISP_IOXPUT_8(isp, src->at_cdblen, &dst->at_cdblen);
+		ISP_IOXPUT_8(isp, src->at_tgt, &dst->at_tgt);
+		ISP_IOXPUT_8(isp, src->at_status, &dst->at_status);
+		ISP_IOXPUT_8(isp, src->at_scsi_status,
+		    &dst->at_scsi_status);
+		ISP_IOXPUT_8(isp, src->at_tag_val, &dst->at_tag_val);
+		ISP_IOXPUT_8(isp, src->at_tag_type, &dst->at_tag_type);
 	}
-	ISP_IOXPUT_32(isp, atsrc->at_flags, &atdst->at_flags);
+	ISP_IOXPUT_32(isp, src->at_flags, &dst->at_flags);
 	for (i = 0; i < ATIO_CDBLEN; i++) {
-		ISP_IOXPUT_8(isp, atsrc->at_cdb[i], &atdst->at_cdb[i]);
+		ISP_IOXPUT_8(isp, src->at_cdb[i], &dst->at_cdb[i]);
 	}
 	for (i = 0; i < QLTM_SENSELEN; i++) {
-		ISP_IOXPUT_8(isp, atsrc->at_sense[i], &atdst->at_sense[i]);
+		ISP_IOXPUT_8(isp, src->at_sense[i], &dst->at_sense[i]);
 	}
 }
 
 void
-isp_get_atio(ispsoftc_t *isp, at_entry_t *atsrc, at_entry_t *atdst)
+isp_get_atio(ispsoftc_t *isp, at_entry_t *src, at_entry_t *dst)
 {
 	int i;
-	isp_get_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXGET_16(isp, &atsrc->at_reserved, atdst->at_reserved);
-	ISP_IOXGET_16(isp, &atsrc->at_handle, atdst->at_handle);
+	isp_get_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXGET_16(isp, &src->at_reserved, dst->at_reserved);
+	ISP_IOXGET_16(isp, &src->at_handle, dst->at_handle);
 	if (ISP_IS_SBUS(isp)) {
-		ISP_IOXGET_8(isp, &atsrc->at_lun, atdst->at_iid);
-		ISP_IOXGET_8(isp, &atsrc->at_iid, atdst->at_lun);
-		ISP_IOXGET_8(isp, &atsrc->at_cdblen, atdst->at_tgt);
-		ISP_IOXGET_8(isp, &atsrc->at_tgt, atdst->at_cdblen);
-		ISP_IOXGET_8(isp, &atsrc->at_status, atdst->at_scsi_status);
-		ISP_IOXGET_8(isp, &atsrc->at_scsi_status, atdst->at_status);
-		ISP_IOXGET_8(isp, &atsrc->at_tag_val, atdst->at_tag_type);
-		ISP_IOXGET_8(isp, &atsrc->at_tag_type, atdst->at_tag_val);
+		ISP_IOXGET_8(isp, &src->at_lun, dst->at_iid);
+		ISP_IOXGET_8(isp, &src->at_iid, dst->at_lun);
+		ISP_IOXGET_8(isp, &src->at_cdblen, dst->at_tgt);
+		ISP_IOXGET_8(isp, &src->at_tgt, dst->at_cdblen);
+		ISP_IOXGET_8(isp, &src->at_status, dst->at_scsi_status);
+		ISP_IOXGET_8(isp, &src->at_scsi_status, dst->at_status);
+		ISP_IOXGET_8(isp, &src->at_tag_val, dst->at_tag_type);
+		ISP_IOXGET_8(isp, &src->at_tag_type, dst->at_tag_val);
 	} else {
-		ISP_IOXGET_8(isp, &atsrc->at_lun, atdst->at_lun);
-		ISP_IOXGET_8(isp, &atsrc->at_iid, atdst->at_iid);
-		ISP_IOXGET_8(isp, &atsrc->at_cdblen, atdst->at_cdblen);
-		ISP_IOXGET_8(isp, &atsrc->at_tgt, atdst->at_tgt);
-		ISP_IOXGET_8(isp, &atsrc->at_status, atdst->at_status);
-		ISP_IOXGET_8(isp, &atsrc->at_scsi_status,
-		    atdst->at_scsi_status);
-		ISP_IOXGET_8(isp, &atsrc->at_tag_val, atdst->at_tag_val);
-		ISP_IOXGET_8(isp, &atsrc->at_tag_type, atdst->at_tag_type);
+		ISP_IOXGET_8(isp, &src->at_lun, dst->at_lun);
+		ISP_IOXGET_8(isp, &src->at_iid, dst->at_iid);
+		ISP_IOXGET_8(isp, &src->at_cdblen, dst->at_cdblen);
+		ISP_IOXGET_8(isp, &src->at_tgt, dst->at_tgt);
+		ISP_IOXGET_8(isp, &src->at_status, dst->at_status);
+		ISP_IOXGET_8(isp, &src->at_scsi_status,
+		    dst->at_scsi_status);
+		ISP_IOXGET_8(isp, &src->at_tag_val, dst->at_tag_val);
+		ISP_IOXGET_8(isp, &src->at_tag_type, dst->at_tag_type);
 	}
-	ISP_IOXGET_32(isp, &atsrc->at_flags, atdst->at_flags);
+	ISP_IOXGET_32(isp, &src->at_flags, dst->at_flags);
 	for (i = 0; i < ATIO_CDBLEN; i++) {
-		ISP_IOXGET_8(isp, &atsrc->at_cdb[i], atdst->at_cdb[i]);
+		ISP_IOXGET_8(isp, &src->at_cdb[i], dst->at_cdb[i]);
 	}
 	for (i = 0; i < QLTM_SENSELEN; i++) {
-		ISP_IOXGET_8(isp, &atsrc->at_sense[i], atdst->at_sense[i]);
+		ISP_IOXGET_8(isp, &src->at_sense[i], dst->at_sense[i]);
 	}
 }
 
 void
-isp_put_atio2(ispsoftc_t *isp, at2_entry_t *atsrc, at2_entry_t *atdst)
+isp_put_atio2(ispsoftc_t *isp, at2_entry_t *src, at2_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXPUT_32(isp, atsrc->at_reserved, &atdst->at_reserved);
-	ISP_IOXPUT_8(isp, atsrc->at_lun, &atdst->at_lun);
-	ISP_IOXPUT_8(isp, atsrc->at_iid, &atdst->at_iid);
-	ISP_IOXPUT_16(isp, atsrc->at_rxid, &atdst->at_rxid);
-	ISP_IOXPUT_16(isp, atsrc->at_flags, &atdst->at_flags);
-	ISP_IOXPUT_16(isp, atsrc->at_status, &atdst->at_status);
-	ISP_IOXPUT_8(isp, atsrc->at_crn, &atdst->at_crn);
-	ISP_IOXPUT_8(isp, atsrc->at_taskcodes, &atdst->at_taskcodes);
-	ISP_IOXPUT_8(isp, atsrc->at_taskflags, &atdst->at_taskflags);
-	ISP_IOXPUT_8(isp, atsrc->at_execodes, &atdst->at_execodes);
+	isp_put_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXPUT_32(isp, src->at_reserved, &dst->at_reserved);
+	ISP_IOXPUT_8(isp, src->at_lun, &dst->at_lun);
+	ISP_IOXPUT_8(isp, src->at_iid, &dst->at_iid);
+	ISP_IOXPUT_16(isp, src->at_rxid, &dst->at_rxid);
+	ISP_IOXPUT_16(isp, src->at_flags, &dst->at_flags);
+	ISP_IOXPUT_16(isp, src->at_status, &dst->at_status);
+	ISP_IOXPUT_8(isp, src->at_crn, &dst->at_crn);
+	ISP_IOXPUT_8(isp, src->at_taskcodes, &dst->at_taskcodes);
+	ISP_IOXPUT_8(isp, src->at_taskflags, &dst->at_taskflags);
+	ISP_IOXPUT_8(isp, src->at_execodes, &dst->at_execodes);
 	for (i = 0; i < ATIO2_CDBLEN; i++) {
-		ISP_IOXPUT_8(isp, atsrc->at_cdb[i], &atdst->at_cdb[i]);
+		ISP_IOXPUT_8(isp, src->at_cdb[i], &dst->at_cdb[i]);
 	}
-	ISP_IOXPUT_32(isp, atsrc->at_datalen, &atdst->at_datalen);
-	ISP_IOXPUT_16(isp, atsrc->at_scclun, &atdst->at_scclun);
+	ISP_IOXPUT_32(isp, src->at_datalen, &dst->at_datalen);
+	ISP_IOXPUT_16(isp, src->at_scclun, &dst->at_scclun);
 	for (i = 0; i < 4; i++) {
-		ISP_IOXPUT_16(isp, atsrc->at_wwpn[i], &atdst->at_wwpn[i]);
+		ISP_IOXPUT_16(isp, src->at_wwpn[i], &dst->at_wwpn[i]);
 	}
 	for (i = 0; i < 6; i++) {
-		ISP_IOXPUT_16(isp, atsrc->at_reserved2[i],
-		    &atdst->at_reserved2[i]);
+		ISP_IOXPUT_16(isp, src->at_reserved2[i],
+		    &dst->at_reserved2[i]);
 	}
-	ISP_IOXPUT_16(isp, atsrc->at_oxid, &atdst->at_oxid);
+	ISP_IOXPUT_16(isp, src->at_oxid, &dst->at_oxid);
 }
 
 void
-isp_put_atio2e(ispsoftc_t *isp, at2e_entry_t *atsrc, at2e_entry_t *atdst)
+isp_put_atio2e(ispsoftc_t *isp, at2e_entry_t *src, at2e_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXPUT_32(isp, atsrc->at_reserved, &atdst->at_reserved);
-	ISP_IOXPUT_16(isp, atsrc->at_iid, &atdst->at_iid);
-	ISP_IOXPUT_16(isp, atsrc->at_rxid, &atdst->at_rxid);
-	ISP_IOXPUT_16(isp, atsrc->at_flags, &atdst->at_flags);
-	ISP_IOXPUT_16(isp, atsrc->at_status, &atdst->at_status);
-	ISP_IOXPUT_8(isp, atsrc->at_crn, &atdst->at_crn);
-	ISP_IOXPUT_8(isp, atsrc->at_taskcodes, &atdst->at_taskcodes);
-	ISP_IOXPUT_8(isp, atsrc->at_taskflags, &atdst->at_taskflags);
-	ISP_IOXPUT_8(isp, atsrc->at_execodes, &atdst->at_execodes);
+	isp_put_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXPUT_32(isp, src->at_reserved, &dst->at_reserved);
+	ISP_IOXPUT_16(isp, src->at_iid, &dst->at_iid);
+	ISP_IOXPUT_16(isp, src->at_rxid, &dst->at_rxid);
+	ISP_IOXPUT_16(isp, src->at_flags, &dst->at_flags);
+	ISP_IOXPUT_16(isp, src->at_status, &dst->at_status);
+	ISP_IOXPUT_8(isp, src->at_crn, &dst->at_crn);
+	ISP_IOXPUT_8(isp, src->at_taskcodes, &dst->at_taskcodes);
+	ISP_IOXPUT_8(isp, src->at_taskflags, &dst->at_taskflags);
+	ISP_IOXPUT_8(isp, src->at_execodes, &dst->at_execodes);
 	for (i = 0; i < ATIO2_CDBLEN; i++) {
-		ISP_IOXPUT_8(isp, atsrc->at_cdb[i], &atdst->at_cdb[i]);
+		ISP_IOXPUT_8(isp, src->at_cdb[i], &dst->at_cdb[i]);
 	}
-	ISP_IOXPUT_32(isp, atsrc->at_datalen, &atdst->at_datalen);
-	ISP_IOXPUT_16(isp, atsrc->at_scclun, &atdst->at_scclun);
+	ISP_IOXPUT_32(isp, src->at_datalen, &dst->at_datalen);
+	ISP_IOXPUT_16(isp, src->at_scclun, &dst->at_scclun);
 	for (i = 0; i < 4; i++) {
-		ISP_IOXPUT_16(isp, atsrc->at_wwpn[i], &atdst->at_wwpn[i]);
+		ISP_IOXPUT_16(isp, src->at_wwpn[i], &dst->at_wwpn[i]);
 	}
 	for (i = 0; i < 6; i++) {
-		ISP_IOXPUT_16(isp, atsrc->at_reserved2[i],
-		    &atdst->at_reserved2[i]);
+		ISP_IOXPUT_16(isp, src->at_reserved2[i],
+		    &dst->at_reserved2[i]);
 	}
-	ISP_IOXPUT_16(isp, atsrc->at_oxid, &atdst->at_oxid);
+	ISP_IOXPUT_16(isp, src->at_oxid, &dst->at_oxid);
 }
 
 void
-isp_get_atio2(ispsoftc_t *isp, at2_entry_t *atsrc, at2_entry_t *atdst)
+isp_get_atio2(ispsoftc_t *isp, at2_entry_t *src, at2_entry_t *dst)
 {
 	int i;
-	isp_get_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXGET_32(isp, &atsrc->at_reserved, atdst->at_reserved);
-	ISP_IOXGET_8(isp, &atsrc->at_lun, atdst->at_lun);
-	ISP_IOXGET_8(isp, &atsrc->at_iid, atdst->at_iid);
-	ISP_IOXGET_16(isp, &atsrc->at_rxid, atdst->at_rxid);
-	ISP_IOXGET_16(isp, &atsrc->at_flags, atdst->at_flags);
-	ISP_IOXGET_16(isp, &atsrc->at_status, atdst->at_status);
-	ISP_IOXGET_8(isp, &atsrc->at_crn, atdst->at_crn);
-	ISP_IOXGET_8(isp, &atsrc->at_taskcodes, atdst->at_taskcodes);
-	ISP_IOXGET_8(isp, &atsrc->at_taskflags, atdst->at_taskflags);
-	ISP_IOXGET_8(isp, &atsrc->at_execodes, atdst->at_execodes);
+	isp_get_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXGET_32(isp, &src->at_reserved, dst->at_reserved);
+	ISP_IOXGET_8(isp, &src->at_lun, dst->at_lun);
+	ISP_IOXGET_8(isp, &src->at_iid, dst->at_iid);
+	ISP_IOXGET_16(isp, &src->at_rxid, dst->at_rxid);
+	ISP_IOXGET_16(isp, &src->at_flags, dst->at_flags);
+	ISP_IOXGET_16(isp, &src->at_status, dst->at_status);
+	ISP_IOXGET_8(isp, &src->at_crn, dst->at_crn);
+	ISP_IOXGET_8(isp, &src->at_taskcodes, dst->at_taskcodes);
+	ISP_IOXGET_8(isp, &src->at_taskflags, dst->at_taskflags);
+	ISP_IOXGET_8(isp, &src->at_execodes, dst->at_execodes);
 	for (i = 0; i < ATIO2_CDBLEN; i++) {
-		ISP_IOXGET_8(isp, &atsrc->at_cdb[i], atdst->at_cdb[i]);
+		ISP_IOXGET_8(isp, &src->at_cdb[i], dst->at_cdb[i]);
 	}
-	ISP_IOXGET_32(isp, &atsrc->at_datalen, atdst->at_datalen);
-	ISP_IOXGET_16(isp, &atsrc->at_scclun, atdst->at_scclun);
+	ISP_IOXGET_32(isp, &src->at_datalen, dst->at_datalen);
+	ISP_IOXGET_16(isp, &src->at_scclun, dst->at_scclun);
 	for (i = 0; i < 4; i++) {
-		ISP_IOXGET_16(isp, &atsrc->at_wwpn[i], atdst->at_wwpn[i]);
+		ISP_IOXGET_16(isp, &src->at_wwpn[i], dst->at_wwpn[i]);
 	}
 	for (i = 0; i < 6; i++) {
-		ISP_IOXGET_16(isp, &atsrc->at_reserved2[i],
-		    atdst->at_reserved2[i]);
+		ISP_IOXGET_16(isp, &src->at_reserved2[i],
+		    dst->at_reserved2[i]);
 	}
-	ISP_IOXGET_16(isp, &atsrc->at_oxid, atdst->at_oxid);
+	ISP_IOXGET_16(isp, &src->at_oxid, dst->at_oxid);
 }
 
 void
-isp_get_atio2e(ispsoftc_t *isp, at2e_entry_t *atsrc, at2e_entry_t *atdst)
+isp_get_atio2e(ispsoftc_t *isp, at2e_entry_t *src, at2e_entry_t *dst)
 {
 	int i;
-	isp_get_hdr(isp, &atsrc->at_header, &atdst->at_header);
-	ISP_IOXGET_32(isp, &atsrc->at_reserved, atdst->at_reserved);
-	ISP_IOXGET_16(isp, &atsrc->at_iid, atdst->at_iid);
-	ISP_IOXGET_16(isp, &atsrc->at_rxid, atdst->at_rxid);
-	ISP_IOXGET_16(isp, &atsrc->at_flags, atdst->at_flags);
-	ISP_IOXGET_16(isp, &atsrc->at_status, atdst->at_status);
-	ISP_IOXGET_8(isp, &atsrc->at_crn, atdst->at_crn);
-	ISP_IOXGET_8(isp, &atsrc->at_taskcodes, atdst->at_taskcodes);
-	ISP_IOXGET_8(isp, &atsrc->at_taskflags, atdst->at_taskflags);
-	ISP_IOXGET_8(isp, &atsrc->at_execodes, atdst->at_execodes);
+	isp_get_hdr(isp, &src->at_header, &dst->at_header);
+	ISP_IOXGET_32(isp, &src->at_reserved, dst->at_reserved);
+	ISP_IOXGET_16(isp, &src->at_iid, dst->at_iid);
+	ISP_IOXGET_16(isp, &src->at_rxid, dst->at_rxid);
+	ISP_IOXGET_16(isp, &src->at_flags, dst->at_flags);
+	ISP_IOXGET_16(isp, &src->at_status, dst->at_status);
+	ISP_IOXGET_8(isp, &src->at_crn, dst->at_crn);
+	ISP_IOXGET_8(isp, &src->at_taskcodes, dst->at_taskcodes);
+	ISP_IOXGET_8(isp, &src->at_taskflags, dst->at_taskflags);
+	ISP_IOXGET_8(isp, &src->at_execodes, dst->at_execodes);
 	for (i = 0; i < ATIO2_CDBLEN; i++) {
-		ISP_IOXGET_8(isp, &atsrc->at_cdb[i], atdst->at_cdb[i]);
+		ISP_IOXGET_8(isp, &src->at_cdb[i], dst->at_cdb[i]);
 	}
-	ISP_IOXGET_32(isp, &atsrc->at_datalen, atdst->at_datalen);
-	ISP_IOXGET_16(isp, &atsrc->at_scclun, atdst->at_scclun);
+	ISP_IOXGET_32(isp, &src->at_datalen, dst->at_datalen);
+	ISP_IOXGET_16(isp, &src->at_scclun, dst->at_scclun);
 	for (i = 0; i < 4; i++) {
-		ISP_IOXGET_16(isp, &atsrc->at_wwpn[i], atdst->at_wwpn[i]);
+		ISP_IOXGET_16(isp, &src->at_wwpn[i], dst->at_wwpn[i]);
 	}
 	for (i = 0; i < 6; i++) {
-		ISP_IOXGET_16(isp, &atsrc->at_reserved2[i],
-		    atdst->at_reserved2[i]);
+		ISP_IOXGET_16(isp, &src->at_reserved2[i],
+		    dst->at_reserved2[i]);
 	}
-	ISP_IOXGET_16(isp, &atsrc->at_oxid, atdst->at_oxid);
+	ISP_IOXGET_16(isp, &src->at_oxid, dst->at_oxid);
+}
+
+void
+isp_get_atio7(ispsoftc_t *isp, at7_entry_t *src, at7_entry_t *dst)
+{
+	ISP_IOXGET_8(isp, &src->at_type, dst->at_type);
+	ISP_IOXGET_8(isp, &src->at_count, dst->at_count);
+	ISP_IOXGET_16(isp, &src->at_ta_len, dst->at_ta_len);
+	ISP_IOXGET_32(isp, &src->at_rxid, dst->at_rxid);
+	isp_get_fc_hdr(isp, &src->at_hdr, &dst->at_hdr);
+	isp_get_fcp_cmnd_iu(isp, &src->at_cmnd, &dst->at_cmnd);
 }
 
 void
-isp_put_ctio(ispsoftc_t *isp, ct_entry_t *ctsrc, ct_entry_t *ctdst)
+isp_put_ctio(ispsoftc_t *isp, ct_entry_t *src, ct_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header);
-	ISP_IOXPUT_16(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle);
-	ISP_IOXPUT_16(isp, ctsrc->ct_fwhandle, &ctdst->ct_fwhandle);
+	isp_put_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXPUT_16(isp, src->ct_syshandle, &dst->ct_syshandle);
+	ISP_IOXPUT_16(isp, src->ct_fwhandle, &dst->ct_fwhandle);
 	if (ISP_IS_SBUS(isp)) {
-		ISP_IOXPUT_8(isp, ctsrc->ct_iid, &ctdst->ct_lun);
-		ISP_IOXPUT_8(isp, ctsrc->ct_lun, &ctdst->ct_iid);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tgt, &ctdst->ct_reserved2);
-		ISP_IOXPUT_8(isp, ctsrc->ct_reserved2, &ctdst->ct_tgt);
-		ISP_IOXPUT_8(isp, ctsrc->ct_status, &ctdst->ct_scsi_status);
-		ISP_IOXPUT_8(isp, ctsrc->ct_scsi_status, &ctdst->ct_status);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tag_type, &ctdst->ct_tag_val);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tag_val, &ctdst->ct_tag_type);
+		ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_lun);
+		ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_iid);
+		ISP_IOXPUT_8(isp, src->ct_tgt, &dst->ct_reserved2);
+		ISP_IOXPUT_8(isp, src->ct_reserved2, &dst->ct_tgt);
+		ISP_IOXPUT_8(isp, src->ct_status, &dst->ct_scsi_status);
+		ISP_IOXPUT_8(isp, src->ct_scsi_status, &dst->ct_status);
+		ISP_IOXPUT_8(isp, src->ct_tag_type, &dst->ct_tag_val);
+		ISP_IOXPUT_8(isp, src->ct_tag_val, &dst->ct_tag_type);
 	} else {
-		ISP_IOXPUT_8(isp, ctsrc->ct_iid, &ctdst->ct_iid);
-		ISP_IOXPUT_8(isp, ctsrc->ct_lun, &ctdst->ct_lun);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tgt, &ctdst->ct_tgt);
-		ISP_IOXPUT_8(isp, ctsrc->ct_reserved2, &ctdst->ct_reserved2);
-		ISP_IOXPUT_8(isp, ctsrc->ct_scsi_status,
-		    &ctdst->ct_scsi_status);
-		ISP_IOXPUT_8(isp, ctsrc->ct_status, &ctdst->ct_status);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tag_type, &ctdst->ct_tag_type);
-		ISP_IOXPUT_8(isp, ctsrc->ct_tag_val, &ctdst->ct_tag_val);
+		ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_iid);
+		ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_lun);
+		ISP_IOXPUT_8(isp, src->ct_tgt, &dst->ct_tgt);
+		ISP_IOXPUT_8(isp, src->ct_reserved2, &dst->ct_reserved2);
+		ISP_IOXPUT_8(isp, src->ct_scsi_status,
+		    &dst->ct_scsi_status);
+		ISP_IOXPUT_8(isp, src->ct_status, &dst->ct_status);
+		ISP_IOXPUT_8(isp, src->ct_tag_type, &dst->ct_tag_type);
+		ISP_IOXPUT_8(isp, src->ct_tag_val, &dst->ct_tag_val);
 	}
-	ISP_IOXPUT_32(isp, ctsrc->ct_flags, &ctdst->ct_flags);
-	ISP_IOXPUT_32(isp, ctsrc->ct_xfrlen, &ctdst->ct_xfrlen);
-	ISP_IOXPUT_32(isp, ctsrc->ct_resid, &ctdst->ct_resid);
-	ISP_IOXPUT_16(isp, ctsrc->ct_timeout, &ctdst->ct_timeout);
-	ISP_IOXPUT_16(isp, ctsrc->ct_seg_count, &ctdst->ct_seg_count);
+	ISP_IOXPUT_32(isp, src->ct_flags, &dst->ct_flags);
+	ISP_IOXPUT_32(isp, src->ct_xfrlen, &dst->ct_xfrlen);
+	ISP_IOXPUT_32(isp, src->ct_resid, &dst->ct_resid);
+	ISP_IOXPUT_16(isp, src->ct_timeout, &dst->ct_timeout);
+	ISP_IOXPUT_16(isp, src->ct_seg_count, &dst->ct_seg_count);
 	for (i = 0; i < ISP_RQDSEG; i++) {
-		ISP_IOXPUT_32(isp, ctsrc->ct_dataseg[i].ds_base,
-		    &ctdst->ct_dataseg[i].ds_base);
-		ISP_IOXPUT_32(isp, ctsrc->ct_dataseg[i].ds_count,
-		    &ctdst->ct_dataseg[i].ds_count);
+		ISP_IOXPUT_32(isp, src->ct_dataseg[i].ds_base,
+		    &dst->ct_dataseg[i].ds_base);
+		ISP_IOXPUT_32(isp, src->ct_dataseg[i].ds_count,
+		    &dst->ct_dataseg[i].ds_count);
 	}
 }
 
 void
-isp_get_ctio(ispsoftc_t *isp, ct_entry_t *ctsrc, ct_entry_t *ctdst)
+isp_get_ctio(ispsoftc_t *isp, ct_entry_t *src, ct_entry_t *dst)
 {
 	int i;
-	isp_get_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header);
-	ISP_IOXGET_16(isp, &ctsrc->ct_syshandle, ctdst->ct_syshandle);
-	ISP_IOXGET_16(isp, &ctsrc->ct_fwhandle, ctdst->ct_fwhandle);
+	isp_get_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXGET_16(isp, &src->ct_syshandle, dst->ct_syshandle);
+	ISP_IOXGET_16(isp, &src->ct_fwhandle, dst->ct_fwhandle);
 	if (ISP_IS_SBUS(isp)) {
-		ISP_IOXGET_8(isp, &ctsrc->ct_lun, ctdst->ct_iid);
-		ISP_IOXGET_8(isp, &ctsrc->ct_iid, ctdst->ct_lun);
-		ISP_IOXGET_8(isp, &ctsrc->ct_reserved2, ctdst->ct_tgt);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tgt, ctdst->ct_reserved2);
-		ISP_IOXGET_8(isp, &ctsrc->ct_status, ctdst->ct_scsi_status);
-		ISP_IOXGET_8(isp, &ctsrc->ct_scsi_status, ctdst->ct_status);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tag_val, ctdst->ct_tag_type);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tag_type, ctdst->ct_tag_val);
+		ISP_IOXGET_8(isp, &src->ct_lun, dst->ct_iid);
+		ISP_IOXGET_8(isp, &src->ct_iid, dst->ct_lun);
+		ISP_IOXGET_8(isp, &src->ct_reserved2, dst->ct_tgt);
+		ISP_IOXGET_8(isp, &src->ct_tgt, dst->ct_reserved2);
+		ISP_IOXGET_8(isp, &src->ct_status, dst->ct_scsi_status);
+		ISP_IOXGET_8(isp, &src->ct_scsi_status, dst->ct_status);
+		ISP_IOXGET_8(isp, &src->ct_tag_val, dst->ct_tag_type);
+		ISP_IOXGET_8(isp, &src->ct_tag_type, dst->ct_tag_val);
 	} else {
-		ISP_IOXGET_8(isp, &ctsrc->ct_lun, ctdst->ct_lun);
-		ISP_IOXGET_8(isp, &ctsrc->ct_iid, ctdst->ct_iid);
-		ISP_IOXGET_8(isp, &ctsrc->ct_reserved2, ctdst->ct_reserved2);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tgt, ctdst->ct_tgt);
-		ISP_IOXGET_8(isp, &ctsrc->ct_status, ctdst->ct_status);
-		ISP_IOXGET_8(isp, &ctsrc->ct_scsi_status,
-		    ctdst->ct_scsi_status);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tag_val, ctdst->ct_tag_val);
-		ISP_IOXGET_8(isp, &ctsrc->ct_tag_type, ctdst->ct_tag_type);
+		ISP_IOXGET_8(isp, &src->ct_lun, dst->ct_lun);
+		ISP_IOXGET_8(isp, &src->ct_iid, dst->ct_iid);
+		ISP_IOXGET_8(isp, &src->ct_reserved2, dst->ct_reserved2);
+		ISP_IOXGET_8(isp, &src->ct_tgt, dst->ct_tgt);
+		ISP_IOXGET_8(isp, &src->ct_status, dst->ct_status);
+		ISP_IOXGET_8(isp, &src->ct_scsi_status,
+		    dst->ct_scsi_status);
+		ISP_IOXGET_8(isp, &src->ct_tag_val, dst->ct_tag_val);
+		ISP_IOXGET_8(isp, &src->ct_tag_type, dst->ct_tag_type);
 	}
-	ISP_IOXGET_32(isp, &ctsrc->ct_flags, ctdst->ct_flags);
-	ISP_IOXGET_32(isp, &ctsrc->ct_xfrlen, ctdst->ct_xfrlen);
-	ISP_IOXGET_32(isp, &ctsrc->ct_resid, ctdst->ct_resid);
-	ISP_IOXGET_16(isp, &ctsrc->ct_timeout, ctdst->ct_timeout);
-	ISP_IOXGET_16(isp, &ctsrc->ct_seg_count, ctdst->ct_seg_count);
+	ISP_IOXGET_32(isp, &src->ct_flags, dst->ct_flags);
+	ISP_IOXGET_32(isp, &src->ct_xfrlen, dst->ct_xfrlen);
+	ISP_IOXGET_32(isp, &src->ct_resid, dst->ct_resid);
+	ISP_IOXGET_16(isp, &src->ct_timeout, dst->ct_timeout);
+	ISP_IOXGET_16(isp, &src->ct_seg_count, dst->ct_seg_count);
 	for (i = 0; i < ISP_RQDSEG; i++) {
 		ISP_IOXGET_32(isp,
-		    &ctsrc->ct_dataseg[i].ds_base,
-		    ctdst->ct_dataseg[i].ds_base);
+		    &src->ct_dataseg[i].ds_base,
+		    dst->ct_dataseg[i].ds_base);
 		ISP_IOXGET_32(isp,
-		    &ctsrc->ct_dataseg[i].ds_count,
-		    ctdst->ct_dataseg[i].ds_count);
+		    &src->ct_dataseg[i].ds_count,
+		    dst->ct_dataseg[i].ds_count);
 	}
 }
 
 void
-isp_put_ctio2(ispsoftc_t *isp, ct2_entry_t *ctsrc, ct2_entry_t *ctdst)
+isp_put_ctio2(ispsoftc_t *isp, ct2_entry_t *src, ct2_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header);
-	ISP_IOXPUT_32(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle);
-	ISP_IOXPUT_8(isp, ctsrc->ct_lun, &ctdst->ct_lun);
-	ISP_IOXPUT_8(isp, ctsrc->ct_iid, &ctdst->ct_iid);
-	ISP_IOXPUT_16(isp, ctsrc->ct_rxid, &ctdst->ct_rxid);
-	ISP_IOXPUT_16(isp, ctsrc->ct_flags, &ctdst->ct_flags);
-	ISP_IOXPUT_16(isp, ctsrc->ct_timeout, &ctdst->ct_timeout);
-	ISP_IOXPUT_16(isp, ctsrc->ct_seg_count, &ctdst->ct_seg_count);
-	ISP_IOXPUT_32(isp, ctsrc->ct_resid, &ctdst->ct_resid);
-	ISP_IOXPUT_32(isp, ctsrc->ct_reloff, &ctdst->ct_reloff);
-	if ((ctsrc->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m0._reserved,
-		    &ctdst->rsp.m0._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m0._reserved2,
-		    &ctdst->rsp.m0._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m0.ct_scsi_status,
-		    &ctdst->rsp.m0.ct_scsi_status);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_xfrlen,
-		    &ctdst->rsp.m0.ct_xfrlen);
-		if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO2) {
+	isp_put_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXPUT_32(isp, src->ct_syshandle, &dst->ct_syshandle);
+	ISP_IOXPUT_8(isp, src->ct_lun, &dst->ct_lun);
+	ISP_IOXPUT_8(isp, src->ct_iid, &dst->ct_iid);
+	ISP_IOXPUT_16(isp, src->ct_rxid, &dst->ct_rxid);
+	ISP_IOXPUT_16(isp, src->ct_flags, &dst->ct_flags);
+	ISP_IOXPUT_16(isp, src->ct_timeout, &dst->ct_timeout);
+	ISP_IOXPUT_16(isp, src->ct_seg_count, &dst->ct_seg_count);
+	ISP_IOXPUT_32(isp, src->ct_resid, &dst->ct_resid);
+	ISP_IOXPUT_32(isp, src->ct_reloff, &dst->ct_reloff);
+	if ((src->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
+		ISP_IOXPUT_32(isp, src->rsp.m0._reserved,
+		    &dst->rsp.m0._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m0._reserved2,
+		    &dst->rsp.m0._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m0.ct_scsi_status,
+		    &dst->rsp.m0.ct_scsi_status);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct_xfrlen,
+		    &dst->rsp.m0.ct_xfrlen);
+		if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO2) {
 			for (i = 0; i < ISP_RQDSEG_T2; i++) {
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg[i].ds_base,
-				    &ctdst->rsp.m0.ct_dataseg[i].ds_base);
+				    src->rsp.m0.ct_dataseg[i].ds_base,
+				    &dst->rsp.m0.ct_dataseg[i].ds_base);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg[i].ds_count,
-				    &ctdst->rsp.m0.ct_dataseg[i].ds_count);
+				    src->rsp.m0.ct_dataseg[i].ds_count,
+				    &dst->rsp.m0.ct_dataseg[i].ds_count);
 			}
-		} else if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO3) {
+		} else if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO3) {
 			for (i = 0; i < ISP_RQDSEG_T3; i++) {
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_base,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_base);
+				    src->rsp.m0.ct_dataseg64[i].ds_base,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_base);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_basehi,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_basehi);
+				    src->rsp.m0.ct_dataseg64[i].ds_basehi,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_basehi);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_count,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_count);
+				    src->rsp.m0.ct_dataseg64[i].ds_count,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_count);
 			}
-		} else if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO4) {
-			ISP_IOXPUT_16(isp, ctsrc->rsp.m0.ct_dslist.ds_type,
-			    &ctdst->rsp.m0.ct_dslist.ds_type);
-			ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_dslist.ds_segment,
-			    &ctdst->rsp.m0.ct_dslist.ds_segment);
-			ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_dslist.ds_base,
-			    &ctdst->rsp.m0.ct_dslist.ds_base);
+		} else if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO4) {
+			ISP_IOXPUT_16(isp, src->rsp.m0.ct_dslist.ds_type,
+			    &dst->rsp.m0.ct_dslist.ds_type);
+			ISP_IOXPUT_32(isp, src->rsp.m0.ct_dslist.ds_segment,
+			    &dst->rsp.m0.ct_dslist.ds_segment);
+			ISP_IOXPUT_32(isp, src->rsp.m0.ct_dslist.ds_base,
+			    &dst->rsp.m0.ct_dslist.ds_base);
 		}
-	} else if ((ctsrc->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) {
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1._reserved,
-		    &ctdst->rsp.m1._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1._reserved2,
-		    &ctdst->rsp.m1._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_senselen,
-		    &ctdst->rsp.m1.ct_senselen);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_scsi_status,
-		    &ctdst->rsp.m1.ct_scsi_status);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_resplen,
-		    &ctdst->rsp.m1.ct_resplen);
+	} else if ((src->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) {
+		ISP_IOXPUT_16(isp, src->rsp.m1._reserved,
+		    &dst->rsp.m1._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m1._reserved2,
+		    &dst->rsp.m1._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_senselen,
+		    &dst->rsp.m1.ct_senselen);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_scsi_status,
+		    &dst->rsp.m1.ct_scsi_status);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_resplen,
+		    &dst->rsp.m1.ct_resplen);
 		for (i = 0; i < MAXRESPLEN; i++) {
-			ISP_IOXPUT_8(isp, ctsrc->rsp.m1.ct_resp[i],
-			    &ctdst->rsp.m1.ct_resp[i]);
+			ISP_IOXPUT_8(isp, src->rsp.m1.ct_resp[i],
+			    &dst->rsp.m1.ct_resp[i]);
 		}
 	} else {
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2._reserved,
-		    &ctdst->rsp.m2._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m2._reserved2,
-		    &ctdst->rsp.m2._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m2._reserved3,
-		    &ctdst->rsp.m2._reserved3);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_datalen,
-		    &ctdst->rsp.m2.ct_datalen);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_base,
-		    &ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_base);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_count,
-		    &ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_count);
+		ISP_IOXPUT_32(isp, src->rsp.m2._reserved,
+		    &dst->rsp.m2._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m2._reserved2,
+		    &dst->rsp.m2._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m2._reserved3,
+		    &dst->rsp.m2._reserved3);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_datalen,
+		    &dst->rsp.m2.ct_datalen);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_base,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_base);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_count,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_count);
 	}
 }
 
 void
-isp_put_ctio2e(ispsoftc_t *isp, ct2e_entry_t *ctsrc, ct2e_entry_t *ctdst)
+isp_put_ctio2e(ispsoftc_t *isp, ct2e_entry_t *src, ct2e_entry_t *dst)
 {
 	int i;
-	isp_put_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header);
-	ISP_IOXPUT_32(isp, ctsrc->ct_syshandle, &ctdst->ct_syshandle);
-	ISP_IOXPUT_16(isp, ctsrc->ct_iid, &ctdst->ct_iid);
-	ISP_IOXPUT_16(isp, ctsrc->ct_rxid, &ctdst->ct_rxid);
-	ISP_IOXPUT_16(isp, ctsrc->ct_flags, &ctdst->ct_flags);
-	ISP_IOXPUT_16(isp, ctsrc->ct_timeout, &ctdst->ct_timeout);
-	ISP_IOXPUT_16(isp, ctsrc->ct_seg_count, &ctdst->ct_seg_count);
-	ISP_IOXPUT_32(isp, ctsrc->ct_resid, &ctdst->ct_resid);
-	ISP_IOXPUT_32(isp, ctsrc->ct_reloff, &ctdst->ct_reloff);
-	if ((ctsrc->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m0._reserved,
-		    &ctdst->rsp.m0._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m0._reserved2,
-		    &ctdst->rsp.m0._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m0.ct_scsi_status,
-		    &ctdst->rsp.m0.ct_scsi_status);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_xfrlen,
-		    &ctdst->rsp.m0.ct_xfrlen);
-		if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO2) {
+	isp_put_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXPUT_32(isp, src->ct_syshandle, &dst->ct_syshandle);
+	ISP_IOXPUT_16(isp, src->ct_iid, &dst->ct_iid);
+	ISP_IOXPUT_16(isp, src->ct_rxid, &dst->ct_rxid);
+	ISP_IOXPUT_16(isp, src->ct_flags, &dst->ct_flags);
+	ISP_IOXPUT_16(isp, src->ct_timeout, &dst->ct_timeout);
+	ISP_IOXPUT_16(isp, src->ct_seg_count, &dst->ct_seg_count);
+	ISP_IOXPUT_32(isp, src->ct_resid, &dst->ct_resid);
+	ISP_IOXPUT_32(isp, src->ct_reloff, &dst->ct_reloff);
+	if ((src->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
+		ISP_IOXPUT_32(isp, src->rsp.m0._reserved,
+		    &dst->rsp.m0._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m0._reserved2,
+		    &dst->rsp.m0._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m0.ct_scsi_status,
+		    &dst->rsp.m0.ct_scsi_status);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct_xfrlen,
+		    &dst->rsp.m0.ct_xfrlen);
+		if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO2) {
 			for (i = 0; i < ISP_RQDSEG_T2; i++) {
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg[i].ds_base,
-				    &ctdst->rsp.m0.ct_dataseg[i].ds_base);
+				    src->rsp.m0.ct_dataseg[i].ds_base,
+				    &dst->rsp.m0.ct_dataseg[i].ds_base);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg[i].ds_count,
-				    &ctdst->rsp.m0.ct_dataseg[i].ds_count);
+				    src->rsp.m0.ct_dataseg[i].ds_count,
+				    &dst->rsp.m0.ct_dataseg[i].ds_count);
 			}
-		} else if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO3) {
+		} else if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO3) {
 			for (i = 0; i < ISP_RQDSEG_T3; i++) {
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_base,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_base);
+				    src->rsp.m0.ct_dataseg64[i].ds_base,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_base);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_basehi,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_basehi);
+				    src->rsp.m0.ct_dataseg64[i].ds_basehi,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_basehi);
 				ISP_IOXPUT_32(isp,
-				    ctsrc->rsp.m0.ct_dataseg64[i].ds_count,
-				    &ctdst->rsp.m0.ct_dataseg64[i].ds_count);
+				    src->rsp.m0.ct_dataseg64[i].ds_count,
+				    &dst->rsp.m0.ct_dataseg64[i].ds_count);
 			}
-		} else if (ctsrc->ct_header.rqs_entry_type == RQSTYPE_CTIO4) {
-			ISP_IOXPUT_16(isp, ctsrc->rsp.m0.ct_dslist.ds_type,
-			    &ctdst->rsp.m0.ct_dslist.ds_type);
-			ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_dslist.ds_segment,
-			    &ctdst->rsp.m0.ct_dslist.ds_segment);
-			ISP_IOXPUT_32(isp, ctsrc->rsp.m0.ct_dslist.ds_base,
-			    &ctdst->rsp.m0.ct_dslist.ds_base);
+		} else if (src->ct_header.rqs_entry_type == RQSTYPE_CTIO4) {
+			ISP_IOXPUT_16(isp, src->rsp.m0.ct_dslist.ds_type,
+			    &dst->rsp.m0.ct_dslist.ds_type);
+			ISP_IOXPUT_32(isp, src->rsp.m0.ct_dslist.ds_segment,
+			    &dst->rsp.m0.ct_dslist.ds_segment);
+			ISP_IOXPUT_32(isp, src->rsp.m0.ct_dslist.ds_base,
+			    &dst->rsp.m0.ct_dslist.ds_base);
 		}
-	} else if ((ctsrc->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) {
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1._reserved,
-		    &ctdst->rsp.m1._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1._reserved2,
-		    &ctdst->rsp.m1._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_senselen,
-		    &ctdst->rsp.m1.ct_senselen);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_scsi_status,
-		    &ctdst->rsp.m1.ct_scsi_status);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m1.ct_resplen,
-		    &ctdst->rsp.m1.ct_resplen);
+	} else if ((src->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE1) {
+		ISP_IOXPUT_16(isp, src->rsp.m1._reserved,
+		    &dst->rsp.m1._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m1._reserved2,
+		    &dst->rsp.m1._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_senselen,
+		    &dst->rsp.m1.ct_senselen);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_scsi_status,
+		    &dst->rsp.m1.ct_scsi_status);
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_resplen,
+		    &dst->rsp.m1.ct_resplen);
 		for (i = 0; i < MAXRESPLEN; i++) {
-			ISP_IOXPUT_8(isp, ctsrc->rsp.m1.ct_resp[i],
-			    &ctdst->rsp.m1.ct_resp[i]);
+			ISP_IOXPUT_8(isp, src->rsp.m1.ct_resp[i],
+			    &dst->rsp.m1.ct_resp[i]);
+		}
+	} else {
+		ISP_IOXPUT_32(isp, src->rsp.m2._reserved,
+		    &dst->rsp.m2._reserved);
+		ISP_IOXPUT_16(isp, src->rsp.m2._reserved2,
+		    &dst->rsp.m2._reserved2);
+		ISP_IOXPUT_16(isp, src->rsp.m2._reserved3,
+		    &dst->rsp.m2._reserved3);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_datalen,
+		    &dst->rsp.m2.ct_datalen);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_base,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_base);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_count,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_count);
+	}
+}
+
+void
+isp_put_ctio7(ispsoftc_t *isp, ct7_entry_t *src, ct7_entry_t *dst)
+{
+	int i;
+
+	isp_put_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXPUT_32(isp, src->ct_syshandle, &dst->ct_syshandle);
+	ISP_IOXPUT_16(isp, src->ct_nphdl, &dst->ct_nphdl);
+	ISP_IOXPUT_16(isp, src->ct_timeout, &dst->ct_timeout);
+	ISP_IOXPUT_16(isp, src->ct_seg_count, &dst->ct_seg_count);
+	ISP_IOXPUT_8(isp, src->ct_vpindex, &dst->ct_vpindex);
+	ISP_IOXPUT_8(isp, src->ct_xflags, &dst->ct_xflags);
+	ISP_IOXPUT_16(isp, src->ct_iid_lo, &dst->ct_iid_lo);
+	ISP_IOXPUT_8(isp, src->ct_iid_hi, &dst->ct_iid_hi);
+	ISP_IOXPUT_8(isp, src->ct_reserved, &dst->ct_reserved);
+	ISP_IOXPUT_32(isp, src->ct_rxid, &dst->ct_rxid);
+	ISP_IOXPUT_16(isp, src->ct_senselen, &dst->ct_senselen);
+	ISP_IOXPUT_16(isp, src->ct_flags, &dst->ct_flags);
+	ISP_IOXPUT_32(isp, src->ct_resid, &dst->ct_resid);
+	ISP_IOXPUT_16(isp, src->ct_oxid, &dst->ct_oxid);
+	ISP_IOXPUT_16(isp, src->ct_scsi_status, &dst->ct_scsi_status);
+	if ((dst->ct_flags & CT7_FLAG_MMASK) == CT7_FLAG_MODE0) {
+		ISP_IOXPUT_32(isp, src->rsp.m0.reloff, &dst->rsp.m0.reloff);
+		ISP_IOXPUT_32(isp, src->rsp.m0.reserved0,
+		    &dst->rsp.m0.reserved0);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct_xfrlen,
+		    &dst->rsp.m0.ct_xfrlen);
+		ISP_IOXPUT_32(isp, src->rsp.m0.reserved1,
+		    &dst->rsp.m0.reserved1);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct.ds_base,
+		    &dst->rsp.m0.ct.ds_base);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct.ds_basehi,
+		    &dst->rsp.m0.ct.ds_basehi);
+		ISP_IOXPUT_32(isp, src->rsp.m0.ct.ds_count,
+		    &dst->rsp.m0.ct.ds_count);
+	} else if ((dst->ct_flags & CT7_FLAG_MMASK) == CT7_FLAG_MODE1) {
+		ISP_IOXPUT_16(isp, src->rsp.m1.ct_resplen,
+		    &dst->rsp.m1.ct_resplen);
+		ISP_IOXPUT_16(isp, src->rsp.m1.reserved, &dst->rsp.m1.reserved);
+		for (i = 0; i < MAXRESPLEN_24XX; i++) {
+			ISP_IOXPUT_8(isp, src->rsp.m1.ct_resp[i],
+			    &dst->rsp.m1.ct_resp[i]);
 		}
 	} else {
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2._reserved,
-		    &ctdst->rsp.m2._reserved);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m2._reserved2,
-		    &ctdst->rsp.m2._reserved2);
-		ISP_IOXPUT_16(isp, ctsrc->rsp.m2._reserved3,
-		    &ctdst->rsp.m2._reserved3);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_datalen,
-		    &ctdst->rsp.m2.ct_datalen);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_base,
-		    &ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_base);
-		ISP_IOXPUT_32(isp, ctsrc->rsp.m2.ct_fcp_rsp_iudata.ds_count,
-		    &ctdst->rsp.m2.ct_fcp_rsp_iudata.ds_count);
+		ISP_IOXPUT_32(isp, src->rsp.m2.reserved0,
+		    &dst->rsp.m2.reserved0);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_datalen,
+		    &dst->rsp.m2.ct_datalen);
+		ISP_IOXPUT_32(isp, src->rsp.m2.reserved1,
+		    &dst->rsp.m2.reserved1);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_base,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_base);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_basehi,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_basehi);
+		ISP_IOXPUT_32(isp, src->rsp.m2.ct_fcp_rsp_iudata.ds_count,
+		    &dst->rsp.m2.ct_fcp_rsp_iudata.ds_count);
 	}
 }
 
+
 void
-isp_get_ctio2(ispsoftc_t *isp, ct2_entry_t *ctsrc, ct2_entry_t *ctdst)
+isp_get_ctio2(ispsoftc_t *isp, ct2_entry_t *src, ct2_entry_t *dst)
 {
 	int i;
 
-	isp_get_hdr(isp, &ctsrc->ct_header, &ctdst->ct_header);
-	ISP_IOXGET_32(isp, &ctsrc->ct_syshandle, ctdst->ct_syshandle);
-	ISP_IOXGET_8(isp, &ctsrc->ct_lun, ctdst->ct_lun);
-	ISP_IOXGET_8(isp, &ctsrc->ct_iid, ctdst->ct_iid);
-	ISP_IOXGET_16(isp, &ctsrc->ct_rxid, ctdst->ct_rxid);
-	ISP_IOXGET_16(isp, &ctsrc->ct_flags, ctdst->ct_flags);
-	ISP_IOXGET_16(isp, &ctsrc->ct_status, ctdst->ct_status);
-	ISP_IOXGET_16(isp, &ctsrc->ct_timeout, ctdst->ct_timeout);
-	ISP_IOXGET_16(isp, &ctsrc->ct_seg_count, ctdst->ct_seg_count);
-	ISP_IOXGET_32(isp, &ctsrc->ct_reloff, ctdst->ct_reloff);
-	ISP_IOXGET_32(isp, &ctsrc->ct_resid, ctdst->ct_resid);
-	if ((ctdst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
-		ISP_IOXGET_32(isp, &ctsrc->rsp.m0._reserved,
-		    ctdst->rsp.m0._reserved);
-		ISP_IOXGET_16(isp, &ctsrc->rsp.m0._reserved2,
-		    ctdst->rsp.m0._reserved2);
-		ISP_IOXGET_16(isp, &ctsrc->rsp.m0.ct_scsi_status,
-		    ctdst->rsp.m0.ct_scsi_status);
-		ISP_IOXGET_32(isp, &ctsrc->rsp.m0.ct_xfrlen,
-		    ctdst->rsp.m0.ct_xfrlen);
-		if (ctdst->ct_header.rqs_entry_type == RQSTYPE_CTIO2) {
+	isp_get_hdr(isp, &src->ct_header, &dst->ct_header);
+	ISP_IOXGET_32(isp, &src->ct_syshandle, dst->ct_syshandle);
+	ISP_IOXGET_8(isp, &src->ct_lun, dst->ct_lun);
+	ISP_IOXGET_8(isp, &src->ct_iid, dst->ct_iid);
+	ISP_IOXGET_16(isp, &src->ct_rxid, dst->ct_rxid);
+	ISP_IOXGET_16(isp, &src->ct_flags, dst->ct_flags);
+	ISP_IOXGET_16(isp, &src->ct_status, dst->ct_status);
+	ISP_IOXGET_16(isp, &src->ct_timeout, dst->ct_timeout);
+	ISP_IOXGET_16(isp, &src->ct_seg_count, dst->ct_seg_count);
+	ISP_IOXGET_32(isp, &src->ct_reloff, dst->ct_reloff);
+	ISP_IOXGET_32(isp, &src->ct_resid, dst->ct_resid);
+	if ((dst->ct_flags & CT2_FLAG_MMASK) == CT2_FLAG_MODE0) {
+		ISP_IOXGET_32(isp, &src->rsp.m0._reserved,

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list