Deleted Added
full compact
mpi_targ.h (147883) mpi_targ.h (154603)
1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_targ.h 147883 2005-07-10 15:05:39Z scottl $ */
1/* $FreeBSD: head/sys/dev/mpt/mpilib/mpi_targ.h 154603 2006-01-21 00:29:52Z mjacob $ */
2/*-
3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *
2/*-
3 * Copyright (c) 2000-2005, LSI Logic Corporation and its contributors.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 * 1. Redistributions of source code must retain the above copyright

--- 15 unchanged lines hidden (view full) ---

25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE COPYRIGHT
30 * OWNER OR CONTRIBUTOR IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *
33 * Name: MPI_TARG.H
33 * Name: mpi_targ.h
34 * Title: MPI Target mode messages and structures
35 * Creation Date: June 22, 2000
36 *
34 * Title: MPI Target mode messages and structures
35 * Creation Date: June 22, 2000
36 *
37 * MPI_TARG.H Version: 01.02.09
37 * mpi_targ.h Version: 01.05.05
38 *
39 * Version History
40 * ---------------
41 *
42 * Date Version Description
43 * -------- -------- ------------------------------------------------------
44 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000.
45 * 06-06-00 01.00.01 Update version number for 1.0 release.

--- 20 unchanged lines hidden (view full) ---

66 * byte ordering.
67 * 05-31-02 01.02.06 Modified TARGET_MODE_REPLY_ALIAS_MASK to only include
68 * one bit.
69 * Added AliasIndex field to MPI_TARGET_FCP_CMD_BUFFER.
70 * 09-16-02 01.02.07 Added flags for confirmed completion.
71 * Added PRIORITY_REASON_TARGET_BUSY.
72 * 11-15-02 01.02.08 Added AliasID field to MPI_TARGET_SCSI_SPI_CMD_BUFFER.
73 * 04-01-03 01.02.09 Added OptionalOxid field to MPI_TARGET_FCP_CMD_BUFFER.
38 *
39 * Version History
40 * ---------------
41 *
42 * Date Version Description
43 * -------- -------- ------------------------------------------------------
44 * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000.
45 * 06-06-00 01.00.01 Update version number for 1.0 release.

--- 20 unchanged lines hidden (view full) ---

66 * byte ordering.
67 * 05-31-02 01.02.06 Modified TARGET_MODE_REPLY_ALIAS_MASK to only include
68 * one bit.
69 * Added AliasIndex field to MPI_TARGET_FCP_CMD_BUFFER.
70 * 09-16-02 01.02.07 Added flags for confirmed completion.
71 * Added PRIORITY_REASON_TARGET_BUSY.
72 * 11-15-02 01.02.08 Added AliasID field to MPI_TARGET_SCSI_SPI_CMD_BUFFER.
73 * 04-01-03 01.02.09 Added OptionalOxid field to MPI_TARGET_FCP_CMD_BUFFER.
74 * 05-11-04 01.03.01 Original release for MPI v1.3.
75 * 08-19-04 01.05.01 Added new request message structures for
76 * MSG_TARGET_CMD_BUF_POST_BASE_REQUEST,
77 * MSG_TARGET_CMD_BUF_POST_LIST_REQUEST, and
78 * MSG_TARGET_ASSIST_EXT_REQUEST.
79 * Added new structures for SAS SSP Command buffer, SSP
80 * Task buffer, and SSP Status IU.
81 * 10-05-04 01.05.02 MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added.
82 * 02-22-05 01.05.03 Changed a comment.
83 * 03-11-05 01.05.04 Removed TargetAssistExtended Request.
84 * 06-24-05 01.05.05 Added TargetAssistExtended structures and defines.
74 * --------------------------------------------------------------------------
75 */
76
77#ifndef MPI_TARG_H
78#define MPI_TARG_H
79
80
81/******************************************************************************

--- 74 unchanged lines hidden (view full) ---

156 U8 PriorityReason; /* 0Ch */
157 U8 Reserved3; /* 0Dh */
158 U16 IOCStatus; /* 0Eh */
159 U32 IOCLogInfo; /* 10h */
160 U32 ReplyWord; /* 14h */
161} MSG_PRIORITY_CMD_RECEIVED_REPLY, MPI_POINTER PTR_MSG_PRIORITY_CMD_RECEIVED_REPLY,
162 PriorityCommandReceivedReply_t, MPI_POINTER pPriorityCommandReceivedReply_t;
163
85 * --------------------------------------------------------------------------
86 */
87
88#ifndef MPI_TARG_H
89#define MPI_TARG_H
90
91
92/******************************************************************************

--- 74 unchanged lines hidden (view full) ---

167 U8 PriorityReason; /* 0Ch */
168 U8 Reserved3; /* 0Dh */
169 U16 IOCStatus; /* 0Eh */
170 U32 IOCLogInfo; /* 10h */
171 U32 ReplyWord; /* 14h */
172} MSG_PRIORITY_CMD_RECEIVED_REPLY, MPI_POINTER PTR_MSG_PRIORITY_CMD_RECEIVED_REPLY,
173 PriorityCommandReceivedReply_t, MPI_POINTER pPriorityCommandReceivedReply_t;
174
175
176typedef struct _MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY
177{
178 U16 Reserved; /* 00h */
179 U8 MsgLength; /* 02h */
180 U8 Function; /* 03h */
181 U16 Reserved1; /* 04h */
182 U8 Reserved2; /* 06h */
183 U8 MsgFlags; /* 07h */
184 U32 MsgContext; /* 08h */
185 U8 PriorityReason; /* 0Ch */
186 U8 Reserved3; /* 0Dh */
187 U16 IOCStatus; /* 0Eh */
188 U32 IOCLogInfo; /* 10h */
189 U32 ReplyWord; /* 14h */
190} MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,
191 MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,
192 TargetCmdBufferPostErrorReply_t, MPI_POINTER pTargetCmdBufferPostErrorReply_t;
193
164#define PRIORITY_REASON_NO_DISCONNECT (0x00)
165#define PRIORITY_REASON_SCSI_TASK_MANAGEMENT (0x01)
166#define PRIORITY_REASON_CMD_PARITY_ERR (0x02)
167#define PRIORITY_REASON_MSG_OUT_PARITY_ERR (0x03)
168#define PRIORITY_REASON_LQ_CRC_ERR (0x04)
169#define PRIORITY_REASON_CMD_CRC_ERR (0x05)
170#define PRIORITY_REASON_PROTOCOL_ERR (0x06)
171#define PRIORITY_REASON_DATA_OUT_PARITY_ERR (0x07)
172#define PRIORITY_REASON_DATA_OUT_CRC_ERR (0x08)
173#define PRIORITY_REASON_TARGET_BUSY (0x09)
174#define PRIORITY_REASON_UNKNOWN (0xFF)
175
176
194#define PRIORITY_REASON_NO_DISCONNECT (0x00)
195#define PRIORITY_REASON_SCSI_TASK_MANAGEMENT (0x01)
196#define PRIORITY_REASON_CMD_PARITY_ERR (0x02)
197#define PRIORITY_REASON_MSG_OUT_PARITY_ERR (0x03)
198#define PRIORITY_REASON_LQ_CRC_ERR (0x04)
199#define PRIORITY_REASON_CMD_CRC_ERR (0x05)
200#define PRIORITY_REASON_PROTOCOL_ERR (0x06)
201#define PRIORITY_REASON_DATA_OUT_PARITY_ERR (0x07)
202#define PRIORITY_REASON_DATA_OUT_CRC_ERR (0x08)
203#define PRIORITY_REASON_TARGET_BUSY (0x09)
204#define PRIORITY_REASON_UNKNOWN (0xFF)
205
206
177typedef struct _MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY
207/****************************************************************************/
208/* Target Command Buffer Post Base Request */
209/****************************************************************************/
210
211typedef struct _MSG_TARGET_CMD_BUF_POST_BASE_REQUEST
178{
212{
213 U8 BufferPostFlags; /* 00h */
214 U8 PortNumber; /* 01h */
215 U8 ChainOffset; /* 02h */
216 U8 Function; /* 03h */
217 U16 TotalCmdBuffers; /* 04h */
218 U8 Reserved; /* 06h */
219 U8 MsgFlags; /* 07h */
220 U32 MsgContext; /* 08h */
221 U32 Reserved1; /* 0Ch */
222 U16 CmdBufferLength; /* 10h */
223 U16 NextCmdBufferOffset; /* 12h */
224 U32 BaseAddressLow; /* 14h */
225 U32 BaseAddressHigh; /* 18h */
226} MSG_TARGET_CMD_BUF_POST_BASE_REQUEST,
227 MPI_POINTER PTR__MSG_TARGET_CMD_BUF_POST_BASE_REQUEST,
228 TargetCmdBufferPostBaseRequest_t,
229 MPI_POINTER pTargetCmdBufferPostBaseRequest_t;
230
231#define CMD_BUFFER_POST_BASE_FLAGS_AUTO_POST_ALL (0x01)
232
233
234typedef struct _MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY
235{
179 U16 Reserved; /* 00h */
180 U8 MsgLength; /* 02h */
181 U8 Function; /* 03h */
182 U16 Reserved1; /* 04h */
183 U8 Reserved2; /* 06h */
184 U8 MsgFlags; /* 07h */
185 U32 MsgContext; /* 08h */
236 U16 Reserved; /* 00h */
237 U8 MsgLength; /* 02h */
238 U8 Function; /* 03h */
239 U16 Reserved1; /* 04h */
240 U8 Reserved2; /* 06h */
241 U8 MsgFlags; /* 07h */
242 U32 MsgContext; /* 08h */
186 U8 PriorityReason; /* 0Ch */
187 U8 Reserved3; /* 0Dh */
243 U16 Reserved3; /* 0Ch */
188 U16 IOCStatus; /* 0Eh */
189 U32 IOCLogInfo; /* 10h */
244 U16 IOCStatus; /* 0Eh */
245 U32 IOCLogInfo; /* 10h */
190 U32 ReplyWord; /* 14h */
191} MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,
192 MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,
193 TargetCmdBufferPostErrorReply_t, MPI_POINTER pTargetCmdBufferPostErrorReply_t;
246} MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY,
247 MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY,
248 TargetCmdBufferPostBaseListReply_t,
249 MPI_POINTER pTargetCmdBufferPostBaseListReply_t;
194
195
250
251
252/****************************************************************************/
253/* Target Command Buffer Post List Request */
254/****************************************************************************/
255
256typedef struct _MSG_TARGET_CMD_BUF_POST_LIST_REQUEST
257{
258 U8 Reserved; /* 00h */
259 U8 PortNumber; /* 01h */
260 U8 ChainOffset; /* 02h */
261 U8 Function; /* 03h */
262 U16 CmdBufferCount; /* 04h */
263 U8 Reserved1; /* 06h */
264 U8 MsgFlags; /* 07h */
265 U32 MsgContext; /* 08h */
266 U32 Reserved2; /* 0Ch */
267 U16 IoIndex[2]; /* 10h */
268} MSG_TARGET_CMD_BUF_POST_LIST_REQUEST,
269 MPI_POINTER PTR_MSG_TARGET_CMD_BUF_POST_LIST_REQUEST,
270 TargetCmdBufferPostListRequest_t,
271 MPI_POINTER pTargetCmdBufferPostListRequest_t;
272
273
274/****************************************************************************/
275/* Command Buffer Formats (with 16 byte CDB) */
276/****************************************************************************/
277
196typedef struct _MPI_TARGET_FCP_CMD_BUFFER
197{
198 U8 FcpLun[8]; /* 00h */
199 U8 FcpCntl[4]; /* 08h */
200 U8 FcpCdb[16]; /* 0Ch */
201 U32 FcpDl; /* 1Ch */
202 U8 AliasIndex; /* 20h */
203 U8 Reserved1; /* 21h */

--- 20 unchanged lines hidden (view full) ---

224 U8 AliasID; /* 24h */
225 U8 Reserved1; /* 25h */
226 U16 Reserved2; /* 26h */
227} MPI_TARGET_SCSI_SPI_CMD_BUFFER,
228 MPI_POINTER PTR_MPI_TARGET_SCSI_SPI_CMD_BUFFER,
229 MpiTargetScsiSpiCmdBuffer, MPI_POINTER pMpiTargetScsiSpiCmdBuffer;
230
231
278typedef struct _MPI_TARGET_FCP_CMD_BUFFER
279{
280 U8 FcpLun[8]; /* 00h */
281 U8 FcpCntl[4]; /* 08h */
282 U8 FcpCdb[16]; /* 0Ch */
283 U32 FcpDl; /* 1Ch */
284 U8 AliasIndex; /* 20h */
285 U8 Reserved1; /* 21h */

--- 20 unchanged lines hidden (view full) ---

306 U8 AliasID; /* 24h */
307 U8 Reserved1; /* 25h */
308 U16 Reserved2; /* 26h */
309} MPI_TARGET_SCSI_SPI_CMD_BUFFER,
310 MPI_POINTER PTR_MPI_TARGET_SCSI_SPI_CMD_BUFFER,
311 MpiTargetScsiSpiCmdBuffer, MPI_POINTER pMpiTargetScsiSpiCmdBuffer;
312
313
314typedef struct _MPI_TARGET_SSP_CMD_BUFFER
315{
316 U8 FrameType; /* 00h */
317 U8 Reserved1; /* 01h */
318 U16 Reserved2; /* 02h */
319 U16 InitiatorTag; /* 04h */
320 U16 DevHandle; /* 06h */
321 /* COMMAND information unit starts here */
322 U8 LogicalUnitNumber[8]; /* 08h */
323 U8 Reserved3; /* 10h */
324 U8 TaskAttribute; /* lower 3 bits */ /* 11h */
325 U8 Reserved4; /* 12h */
326 U8 AdditionalCDBLength; /* upper 5 bits */ /* 13h */
327 U8 CDB[16]; /* 14h */
328 /* Additional CDB bytes extend past the CDB field */
329} MPI_TARGET_SSP_CMD_BUFFER, MPI_POINTER PTR_MPI_TARGET_SSP_CMD_BUFFER,
330 MpiTargetSspCmdBuffer, MPI_POINTER pMpiTargetSspCmdBuffer;
331
332typedef struct _MPI_TARGET_SSP_TASK_BUFFER
333{
334 U8 FrameType; /* 00h */
335 U8 Reserved1; /* 01h */
336 U16 Reserved2; /* 02h */
337 U16 InitiatorTag; /* 04h */
338 U16 DevHandle; /* 06h */
339 /* TASK information unit starts here */
340 U8 LogicalUnitNumber[8]; /* 08h */
341 U8 Reserved3; /* 10h */
342 U8 Reserved4; /* 11h */
343 U8 TaskManagementFunction; /* 12h */
344 U8 Reserved5; /* 13h */
345 U16 ManagedTaskTag; /* 14h */
346 U16 Reserved6; /* 16h */
347 U32 Reserved7; /* 18h */
348 U32 Reserved8; /* 1Ch */
349 U32 Reserved9; /* 20h */
350} MPI_TARGET_SSP_TASK_BUFFER, MPI_POINTER PTR_MPI_TARGET_SSP_TASK_BUFFER,
351 MpiTargetSspTaskBuffer, MPI_POINTER pMpiTargetSspTaskBuffer;
352
353
232/****************************************************************************/
233/* Target Assist Request */
234/****************************************************************************/
235
236typedef struct _MSG_TARGET_ASSIST_REQUEST
237{
238 U8 StatusCode; /* 00h */
239 U8 TargetAssistFlags; /* 01h */

--- 33 unchanged lines hidden (view full) ---

273 U32 IOCLogInfo; /* 10h */
274 U32 ReplyWord; /* 14h */
275 U32 TransferCount; /* 18h */
276} MSG_TARGET_ERROR_REPLY, MPI_POINTER PTR_MSG_TARGET_ERROR_REPLY,
277 TargetErrorReply_t, MPI_POINTER pTargetErrorReply_t;
278
279
280/****************************************************************************/
354/****************************************************************************/
355/* Target Assist Request */
356/****************************************************************************/
357
358typedef struct _MSG_TARGET_ASSIST_REQUEST
359{
360 U8 StatusCode; /* 00h */
361 U8 TargetAssistFlags; /* 01h */

--- 33 unchanged lines hidden (view full) ---

395 U32 IOCLogInfo; /* 10h */
396 U32 ReplyWord; /* 14h */
397 U32 TransferCount; /* 18h */
398} MSG_TARGET_ERROR_REPLY, MPI_POINTER PTR_MSG_TARGET_ERROR_REPLY,
399 TargetErrorReply_t, MPI_POINTER pTargetErrorReply_t;
400
401
402/****************************************************************************/
403/* Target Assist Extended Request */
404/****************************************************************************/
405
406typedef struct _MSG_TARGET_ASSIST_EXT_REQUEST
407{
408 U8 StatusCode; /* 00h */
409 U8 TargetAssistFlags; /* 01h */
410 U8 ChainOffset; /* 02h */
411 U8 Function; /* 03h */
412 U16 QueueTag; /* 04h */
413 U8 Reserved1; /* 06h */
414 U8 MsgFlags; /* 07h */
415 U32 MsgContext; /* 08h */
416 U32 ReplyWord; /* 0Ch */
417 U8 LUN[8]; /* 10h */
418 U32 RelativeOffset; /* 18h */
419 U32 Reserved2; /* 1Ch */
420 U32 Reserved3; /* 20h */
421 U32 PrimaryReferenceTag; /* 24h */
422 U16 PrimaryApplicationTag; /* 28h */
423 U16 PrimaryApplicationTagMask; /* 2Ah */
424 U32 Reserved4; /* 2Ch */
425 U32 DataLength; /* 30h */
426 U32 BidirectionalDataLength; /* 34h */
427 U32 SecondaryReferenceTag; /* 38h */
428 U16 SecondaryApplicationTag; /* 3Ch */
429 U16 Reserved5; /* 3Eh */
430 U16 EEDPFlags; /* 40h */
431 U16 ApplicationTagTranslationMask; /* 42h */
432 U32 EEDPBlockSize; /* 44h */
433 U8 SGLOffset0; /* 48h */
434 U8 SGLOffset1; /* 49h */
435 U8 SGLOffset2; /* 4Ah */
436 U8 SGLOffset3; /* 4Bh */
437 U32 Reserved6; /* 4Ch */
438 SGE_IO_UNION SGL[1]; /* 50h */
439} MSG_TARGET_ASSIST_EXT_REQUEST, MPI_POINTER PTR_MSG_TARGET_ASSIST_EXT_REQUEST,
440 TargetAssistExtRequest_t, MPI_POINTER pTargetAssistExtRequest_t;
441
442/* see the defines after MSG_TARGET_ASSIST_REQUEST for TargetAssistFlags */
443
444/* defines for the MsgFlags field */
445#define TARGET_ASSIST_EXT_MSGFLAGS_BIDIRECTIONAL (0x20)
446#define TARGET_ASSIST_EXT_MSGFLAGS_MULTICAST (0x10)
447#define TARGET_ASSIST_EXT_MSGFLAGS_SGL_OFFSET_CHAINS (0x08)
448
449/* defines for the EEDPFlags field */
450#define TARGET_ASSIST_EXT_EEDP_MASK_OP (0x0007)
451#define TARGET_ASSIST_EXT_EEDP_NOOP_OP (0x0000)
452#define TARGET_ASSIST_EXT_EEDP_CHK_OP (0x0001)
453#define TARGET_ASSIST_EXT_EEDP_STRIP_OP (0x0002)
454#define TARGET_ASSIST_EXT_EEDP_CHKRM_OP (0x0003)
455#define TARGET_ASSIST_EXT_EEDP_INSERT_OP (0x0004)
456#define TARGET_ASSIST_EXT_EEDP_REPLACE_OP (0x0006)
457#define TARGET_ASSIST_EXT_EEDP_CHKREGEN_OP (0x0007)
458
459#define TARGET_ASSIST_EXT_EEDP_PASS_REF_TAG (0x0008)
460
461#define TARGET_ASSIST_EXT_EEDP_T10_CHK_MASK (0x0700)
462#define TARGET_ASSIST_EXT_EEDP_T10_CHK_GUARD (0x0100)
463#define TARGET_ASSIST_EXT_EEDP_T10_CHK_APPTAG (0x0200)
464#define TARGET_ASSIST_EXT_EEDP_T10_CHK_REFTAG (0x0400)
465#define TARGET_ASSIST_EXT_EEDP_T10_CHK_SHIFT (8)
466
467#define TARGET_ASSIST_EXT_EEDP_INC_SEC_APPTAG (0x1000)
468#define TARGET_ASSIST_EXT_EEDP_INC_PRI_APPTAG (0x2000)
469#define TARGET_ASSIST_EXT_EEDP_INC_SEC_REFTAG (0x4000)
470#define TARGET_ASSIST_EXT_EEDP_INC_PRI_REFTAG (0x8000)
471
472
473/****************************************************************************/
281/* Target Status Send Request */
282/****************************************************************************/
283
284typedef struct _MSG_TARGET_STATUS_SEND_REQUEST
285{
286 U8 StatusCode; /* 00h */
287 U8 StatusFlags; /* 01h */
288 U8 ChainOffset; /* 02h */

--- 42 unchanged lines hidden (view full) ---

331 U8 Valid; /* 02h */
332 U8 Status; /* 03h */
333 U32 SenseDataListLength; /* 04h */
334 U32 PktFailuresListLength; /* 08h */
335 U8 SenseData[52]; /* Pad the IU to 64 bytes */ /* 0Ch */
336} MPI_TARGET_SCSI_SPI_STATUS_IU, MPI_POINTER PTR_MPI_TARGET_SCSI_SPI_STATUS_IU,
337 TargetScsiSpiStatusIU_t, MPI_POINTER pTargetScsiSpiStatusIU_t;
338
474/* Target Status Send Request */
475/****************************************************************************/
476
477typedef struct _MSG_TARGET_STATUS_SEND_REQUEST
478{
479 U8 StatusCode; /* 00h */
480 U8 StatusFlags; /* 01h */
481 U8 ChainOffset; /* 02h */

--- 42 unchanged lines hidden (view full) ---

524 U8 Valid; /* 02h */
525 U8 Status; /* 03h */
526 U32 SenseDataListLength; /* 04h */
527 U32 PktFailuresListLength; /* 08h */
528 U8 SenseData[52]; /* Pad the IU to 64 bytes */ /* 0Ch */
529} MPI_TARGET_SCSI_SPI_STATUS_IU, MPI_POINTER PTR_MPI_TARGET_SCSI_SPI_STATUS_IU,
530 TargetScsiSpiStatusIU_t, MPI_POINTER pTargetScsiSpiStatusIU_t;
531
532/*
533 * NOTE: The SSP status IU is big-endian. When used on a little-endian system,
534 * this structure properly orders the bytes.
535 */
536typedef struct _MPI_TARGET_SSP_RSP_IU
537{
538 U32 Reserved0[6]; /* reserved for SSP header */ /* 00h */
539 /* start of RESPONSE information unit */
540 U32 Reserved1; /* 18h */
541 U32 Reserved2; /* 1Ch */
542 U16 Reserved3; /* 20h */
543 U8 DataPres; /* lower 2 bits */ /* 22h */
544 U8 Status; /* 23h */
545 U32 Reserved4; /* 24h */
546 U32 SenseDataLength; /* 28h */
547 U32 ResponseDataLength; /* 2Ch */
548 U8 ResponseSenseData[4]; /* 30h */
549} MPI_TARGET_SSP_RSP_IU, MPI_POINTER PTR_MPI_TARGET_SSP_RSP_IU,
550 MpiTargetSspRspIu_t, MPI_POINTER pMpiTargetSspRspIu_t;
551
552
339/****************************************************************************/
340/* Target Mode Abort Request */
341/****************************************************************************/
342
343typedef struct _MSG_TARGET_MODE_ABORT_REQUEST
344{
345 U8 AbortType; /* 00h */
346 U8 Reserved; /* 01h */

--- 117 unchanged lines hidden ---
553/****************************************************************************/
554/* Target Mode Abort Request */
555/****************************************************************************/
556
557typedef struct _MSG_TARGET_MODE_ABORT_REQUEST
558{
559 U8 AbortType; /* 00h */
560 U8 Reserved; /* 01h */

--- 117 unchanged lines hidden ---