⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpi_targ.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 3 页
字号:
/* *  Copyright (c) 2000-2004 LSI Logic Corporation. * * *           Name:  mpi_targ.h *          Title:  MPI Target mode messages and structures *  Creation Date:  June 22, 2000 * *    mpi_targ.h Version:  01.05.05 * *  Version History *  --------------- * *  Date      Version   Description *  --------  --------  ------------------------------------------------------ *  05-08-00  00.10.01  Original release for 0.10 spec dated 4/26/2000. *  06-06-00  01.00.01  Update version number for 1.0 release. *  06-22-00  01.00.02  Added _MSG_TARGET_CMD_BUFFER_POST_REPLY structure. *                      Corrected DECSRIPTOR typo to DESCRIPTOR. *  11-02-00  01.01.01  Original release for post 1.0 work *                      Modified target mode to use IoIndex instead of *                      HostIndex and IocIndex. Added Alias. *  01-09-01  01.01.02  Added defines for TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER *                      and TARGET_STATUS_SEND_FLAGS_REPOST_CMD_BUFFER. *  02-20-01  01.01.03  Started using MPI_POINTER. *                      Added structures for MPI_TARGET_SCSI_SPI_CMD_BUFFER and *                      MPI_TARGET_FCP_CMD_BUFFER. *  03-27-01  01.01.04  Added structure offset comments. *  08-08-01  01.02.01  Original release for v1.2 work. *  09-28-01  01.02.02  Added structure for MPI_TARGET_SCSI_SPI_STATUS_IU. *                      Added PriorityReason field to some replies and *                      defined more PriorityReason codes. *                      Added some defines for to support previous version *                      of MPI. *  10-04-01  01.02.03  Added PriorityReason to MSG_TARGET_ERROR_REPLY. *  11-01-01  01.02.04  Added define for TARGET_STATUS_SEND_FLAGS_HIGH_PRIORITY. *  03-14-02  01.02.05  Modified MPI_TARGET_FCP_RSP_BUFFER to get the proper *                      byte ordering. *  05-31-02  01.02.06  Modified TARGET_MODE_REPLY_ALIAS_MASK to only include *                      one bit. *                      Added AliasIndex field to MPI_TARGET_FCP_CMD_BUFFER. *  09-16-02  01.02.07  Added flags for confirmed completion. *                      Added PRIORITY_REASON_TARGET_BUSY. *  11-15-02  01.02.08  Added AliasID field to MPI_TARGET_SCSI_SPI_CMD_BUFFER. *  04-01-03  01.02.09  Added OptionalOxid field to MPI_TARGET_FCP_CMD_BUFFER. *  05-11-04  01.03.01  Original release for MPI v1.3. *  08-19-04  01.05.01  Added new request message structures for *                      MSG_TARGET_CMD_BUF_POST_BASE_REQUEST, *                      MSG_TARGET_CMD_BUF_POST_LIST_REQUEST, and *                      MSG_TARGET_ASSIST_EXT_REQUEST. *                      Added new structures for SAS SSP Command buffer, SSP *                      Task buffer, and SSP Status IU. *  10-05-04  01.05.02  MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY added. *  02-22-05  01.05.03  Changed a comment. *  03-11-05  01.05.04  Removed TargetAssistExtended Request. *  06-24-05  01.05.05  Added TargetAssistExtended structures and defines. *  -------------------------------------------------------------------------- */#ifndef MPI_TARG_H#define MPI_TARG_H/********************************************************************************        S C S I    T a r g e t    M e s s a g e s********************************************************************************/typedef struct _CMD_BUFFER_DESCRIPTOR{    U16                     IoIndex;                    /* 00h */    U16                     Reserved;                   /* 02h */    union                                               /* 04h */    {        U32                 PhysicalAddress32;        U64                 PhysicalAddress64;    } u;} CMD_BUFFER_DESCRIPTOR, MPI_POINTER PTR_CMD_BUFFER_DESCRIPTOR,  CmdBufferDescriptor_t, MPI_POINTER pCmdBufferDescriptor_t;/****************************************************************************//* Target Command Buffer Post Request                                       *//****************************************************************************/typedef struct _MSG_TARGET_CMD_BUFFER_POST_REQUEST{    U8                      BufferPostFlags;            /* 00h */    U8                      BufferCount;                /* 01h */    U8                      ChainOffset;                /* 02h */    U8                      Function;                   /* 03h */    U8                      BufferLength;               /* 04h */    U8                      Reserved;                   /* 05h */    U8                      Reserved1;                  /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    CMD_BUFFER_DESCRIPTOR   Buffer[1];                  /* 0Ch */} MSG_TARGET_CMD_BUFFER_POST_REQUEST, MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_REQUEST,  TargetCmdBufferPostRequest_t, MPI_POINTER pTargetCmdBufferPostRequest_t;#define CMD_BUFFER_POST_FLAGS_PORT_MASK         (0x01)#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_MASK    (0x80)#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_32      (0)#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_64      (1)#define CMD_BUFFER_POST_FLAGS_64_BIT_ADDR       (0x80)#define CMD_BUFFER_POST_IO_INDEX_MASK           (0x00003FFF)#define CMD_BUFFER_POST_IO_INDEX_MASK_0100      (0x000003FF) /* obsolete */typedef struct _MSG_TARGET_CMD_BUFFER_POST_REPLY{    U8                      BufferPostFlags;            /* 00h */    U8                      BufferCount;                /* 01h */    U8                      MsgLength;                  /* 02h */    U8                      Function;                   /* 03h */    U8                      BufferLength;               /* 04h */    U8                      Reserved;                   /* 05h */    U8                      Reserved1;                  /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U16                     Reserved2;                  /* 0Ch */    U16                     IOCStatus;                  /* 0Eh */    U32                     IOCLogInfo;                 /* 10h */} MSG_TARGET_CMD_BUFFER_POST_REPLY, MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_REPLY,  TargetCmdBufferPostReply_t, MPI_POINTER pTargetCmdBufferPostReply_t;/* the following structure is obsolete as of MPI v1.2 */typedef struct _MSG_PRIORITY_CMD_RECEIVED_REPLY{    U16                     Reserved;                   /* 00h */    U8                      MsgLength;                  /* 02h */    U8                      Function;                   /* 03h */    U16                     Reserved1;                  /* 04h */    U8                      Reserved2;                  /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U8                      PriorityReason;             /* 0Ch */    U8                      Reserved3;                  /* 0Dh */    U16                     IOCStatus;                  /* 0Eh */    U32                     IOCLogInfo;                 /* 10h */    U32                     ReplyWord;                  /* 14h */} MSG_PRIORITY_CMD_RECEIVED_REPLY, MPI_POINTER PTR_MSG_PRIORITY_CMD_RECEIVED_REPLY,  PriorityCommandReceivedReply_t, MPI_POINTER pPriorityCommandReceivedReply_t;typedef struct _MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY{    U16                     Reserved;                   /* 00h */    U8                      MsgLength;                  /* 02h */    U8                      Function;                   /* 03h */    U16                     Reserved1;                  /* 04h */    U8                      Reserved2;                  /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U8                      PriorityReason;             /* 0Ch */    U8                      Reserved3;                  /* 0Dh */    U16                     IOCStatus;                  /* 0Eh */    U32                     IOCLogInfo;                 /* 10h */    U32                     ReplyWord;                  /* 14h */} MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,  MPI_POINTER PTR_MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY,  TargetCmdBufferPostErrorReply_t, MPI_POINTER pTargetCmdBufferPostErrorReply_t;#define PRIORITY_REASON_NO_DISCONNECT           (0x00)#define PRIORITY_REASON_SCSI_TASK_MANAGEMENT    (0x01)#define PRIORITY_REASON_CMD_PARITY_ERR          (0x02)#define PRIORITY_REASON_MSG_OUT_PARITY_ERR      (0x03)#define PRIORITY_REASON_LQ_CRC_ERR              (0x04)#define PRIORITY_REASON_CMD_CRC_ERR             (0x05)#define PRIORITY_REASON_PROTOCOL_ERR            (0x06)#define PRIORITY_REASON_DATA_OUT_PARITY_ERR     (0x07)#define PRIORITY_REASON_DATA_OUT_CRC_ERR        (0x08)#define PRIORITY_REASON_TARGET_BUSY             (0x09)#define PRIORITY_REASON_UNKNOWN                 (0xFF)/****************************************************************************//* Target Command Buffer Post Base Request                                  *//****************************************************************************/typedef struct _MSG_TARGET_CMD_BUF_POST_BASE_REQUEST{    U8                      BufferPostFlags;            /* 00h */    U8                      PortNumber;                 /* 01h */    U8                      ChainOffset;                /* 02h */    U8                      Function;                   /* 03h */    U16                     TotalCmdBuffers;            /* 04h */    U8                      Reserved;                   /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U32                     Reserved1;                  /* 0Ch */    U16                     CmdBufferLength;            /* 10h */    U16                     NextCmdBufferOffset;        /* 12h */    U32                     BaseAddressLow;             /* 14h */    U32                     BaseAddressHigh;            /* 18h */} MSG_TARGET_CMD_BUF_POST_BASE_REQUEST,  MPI_POINTER PTR__MSG_TARGET_CMD_BUF_POST_BASE_REQUEST,  TargetCmdBufferPostBaseRequest_t,  MPI_POINTER pTargetCmdBufferPostBaseRequest_t;#define CMD_BUFFER_POST_BASE_FLAGS_AUTO_POST_ALL    (0x01)typedef struct _MSG_TARGET_CMD_BUFFER_POST_BASE_LIST_REPLY{    U16                     Reserved;                   /* 00h */    U8                      MsgLength;                  /* 02h */    U8                      Function;                   /* 03h */    U16                     Reserved1;                  /* 04h */    U8                      Reserved2;                  /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U16                     Reserved3;                  /* 0Ch */    U16                     IOCStatus;                  /* 0Eh */    U32                     IOCLogInfo;                 /* 10h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -