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 --- |