📄 mpi_ioc.h
字号:
U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Event; /* 0Ch */ U32 EventContext; /* 10h */} MSG_EVENT_ACK, MPI_POINTER PTR_MSG_EVENT_ACK, EventAck_t, MPI_POINTER pEventAck_t;typedef struct _MSG_EVENT_ACK_REPLY{ U8 Reserved[2]; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */} MSG_EVENT_ACK_REPLY, MPI_POINTER PTR_MSG_EVENT_ACK_REPLY, EventAckReply_t, MPI_POINTER pEventAckReply_t;/* Switch */#define MPI_EVENT_NOTIFICATION_SWITCH_OFF (0x00)#define MPI_EVENT_NOTIFICATION_SWITCH_ON (0x01)/* Event */#define MPI_EVENT_NONE (0x00000000)#define MPI_EVENT_LOG_DATA (0x00000001)#define MPI_EVENT_STATE_CHANGE (0x00000002)#define MPI_EVENT_UNIT_ATTENTION (0x00000003)#define MPI_EVENT_IOC_BUS_RESET (0x00000004)#define MPI_EVENT_EXT_BUS_RESET (0x00000005)#define MPI_EVENT_RESCAN (0x00000006)#define MPI_EVENT_LINK_STATUS_CHANGE (0x00000007)#define MPI_EVENT_LOOP_STATE_CHANGE (0x00000008)#define MPI_EVENT_LOGOUT (0x00000009)#define MPI_EVENT_EVENT_CHANGE (0x0000000A)#define MPI_EVENT_RAID_STATUS_CHANGE (0x0000000B)/* AckRequired field values */#define MPI_EVENT_NOTIFICATION_ACK_NOT_REQUIRED (0x00)#define MPI_EVENT_NOTIFICATION_ACK_REQUIRED (0x01)/* EventChange Event data */typedef struct _EVENT_DATA_EVENT_CHANGE{ U8 EventState; /* 00h */ U8 Reserved; /* 01h */ U16 Reserved1; /* 02h */} EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t;/* SCSI Event data for Port, Bus and Device forms */typedef struct _EVENT_DATA_SCSI{ U8 TargetID; /* 00h */ U8 BusPort; /* 01h */ U16 Reserved; /* 02h */} EVENT_DATA_SCSI, MPI_POINTER PTR_EVENT_DATA_SCSI, EventDataScsi_t, MPI_POINTER pEventDataScsi_t;/* MPI Link Status Change Event data */typedef struct _EVENT_DATA_LINK_STATUS{ U8 State; /* 00h */ U8 Reserved; /* 01h */ U16 Reserved1; /* 02h */ U8 Reserved2; /* 04h */ U8 Port; /* 05h */ U16 Reserved3; /* 06h */} EVENT_DATA_LINK_STATUS, MPI_POINTER PTR_EVENT_DATA_LINK_STATUS, EventDataLinkStatus_t, MPI_POINTER pEventDataLinkStatus_t;#define MPI_EVENT_LINK_STATUS_FAILURE (0x00000000)#define MPI_EVENT_LINK_STATUS_ACTIVE (0x00000001)/* MPI Loop State Change Event data */typedef struct _EVENT_DATA_LOOP_STATE{ U8 Character4; /* 00h */ U8 Character3; /* 01h */ U8 Type; /* 02h */ U8 Reserved; /* 03h */ U8 Reserved1; /* 04h */ U8 Port; /* 05h */ U16 Reserved2; /* 06h */} EVENT_DATA_LOOP_STATE, MPI_POINTER PTR_EVENT_DATA_LOOP_STATE, EventDataLoopState_t, MPI_POINTER pEventDataLoopState_t;#define MPI_EVENT_LOOP_STATE_CHANGE_LIP (0x0001)#define MPI_EVENT_LOOP_STATE_CHANGE_LPE (0x0002)#define MPI_EVENT_LOOP_STATE_CHANGE_LPB (0x0003)/* MPI LOGOUT Event data */typedef struct _EVENT_DATA_LOGOUT{ U32 NPortID; /* 00h */ U8 Reserved; /* 04h */ U8 Port; /* 05h */ U16 Reserved1; /* 06h */} EVENT_DATA_LOGOUT, MPI_POINTER PTR_EVENT_DATA_LOGOUT, EventDataLogout_t, MPI_POINTER pEventDataLogout_t;/* MPI RAID Status Change Event data */typedef struct _EVENT_DATA_RAID_STATUS_CHANGE{ U8 VolumeTargetID; /* 00h */ U8 VolumeBus; /* 01h */ U8 ReasonCode; /* 02h */ U8 PhysDiskNum; /* 03h */ U8 ASC; /* 04h */ U8 ASCQ; /* 05h */ U16 Reserved; /* 06h */} EVENT_DATA_RAID_STATUS_CHANGE, MPI_POINTER PTR_EVENT_DATA_RAID_STATUS_CHANGE, MpiEventDataRaidStatusChange_t, MPI_POINTER pMpiEventDataRaidStatusChange_t;/* MPI RAID Status Change Event data ReasonCode values */#define MPI_EVENT_RAID_DATA_RC_VOLUME_OPTIMAL (0x00)#define MPI_EVENT_RAID_DATA_RC_VOLUME_DEGRADED (0x01)#define MPI_EVENT_RAID_DATA_RC_STARTED_RESYNC (0x02)#define MPI_EVENT_RAID_DATA_RC_DISK_ADDED (0x03)#define MPI_EVENT_RAID_DATA_RC_DISK_NOT_RESPONDING (0x04)#define MPI_EVENT_RAID_DATA_RC_SMART_DATA (0x05)/******************************************************************************* F i r m w a r e L o a d M e s s a g e s******************************************************************************//****************************************************************************//* Firmware Download message and associated structures *//****************************************************************************/typedef struct _MSG_FW_DOWNLOAD{ U8 ImageType; /* 00h */ U8 Reserved; /* 01h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ SGE_MPI_UNION SGL; /* 0Ch */} MSG_FW_DOWNLOAD, MPI_POINTER PTR_MSG_FW_DOWNLOAD, FWDownload_t, MPI_POINTER pFWDownload_t;#define MPI_FW_DOWNLOAD_ITYPE_RESERVED (0x00)#define MPI_FW_DOWNLOAD_ITYPE_FW (0x01)#define MPI_FW_DOWNLOAD_ITYPE_BIOS (0x02)typedef struct _FWDownloadTCSGE{ U8 Reserved; /* 00h */ U8 ContextSize; /* 01h */ U8 DetailsLength; /* 02h */ U8 Flags; /* 03h */ U32 Reserved1; /* 04h */ U32 ImageOffset; /* 08h */ U32 ImageSize; /* 0Ch */} FW_DOWNLOAD_TCSGE, MPI_POINTER PTR_FW_DOWNLOAD_TCSGE, FWDownloadTCSGE_t, MPI_POINTER pFWDownloadTCSGE_t;/* Firmware Download reply */typedef struct _MSG_FW_DOWNLOAD_REPLY{ U8 ImageType; /* 00h */ U8 Reserved; /* 01h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */} MSG_FW_DOWNLOAD_REPLY, MPI_POINTER PTR_MSG_FW_DOWNLOAD_REPLY, FWDownloadReply_t, MPI_POINTER pFWDownloadReply_t;/****************************************************************************//* Firmware Upload message and associated structures *//****************************************************************************/typedef struct _MSG_FW_UPLOAD{ U8 ImageType; /* 00h */ U8 Reserved; /* 01h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ SGE_MPI_UNION SGL; /* 0Ch */} MSG_FW_UPLOAD, MPI_POINTER PTR_MSG_FW_UPLOAD, FWUpload_t, MPI_POINTER pFWUpload_t;#define MPI_FW_UPLOAD_ITYPE_FW_IOC_MEM (0x00)#define MPI_FW_UPLOAD_ITYPE_FW_FLASH (0x01)#define MPI_FW_UPLOAD_ITYPE_BIOS_FLASH (0x02)#define MPI_FW_UPLOAD_ITYPE_DATA_IOC_MEM (0x03)typedef struct _FWUploadTCSGE{ U8 Reserved; /* 00h */ U8 ContextSize; /* 01h */ U8 DetailsLength; /* 02h */ U8 Flags; /* 03h */ U32 Reserved1; /* 04h */ U32 ImageOffset; /* 08h */ U32 ImageSize; /* 0Ch */} FW_UPLOAD_TCSGE, MPI_POINTER PTR_FW_UPLOAD_TCSGE, FWUploadTCSGE_t, MPI_POINTER pFWUploadTCSGE_t;/* Firmware Upload reply */typedef struct _MSG_FW_UPLOAD_REPLY{ U8 ImageType; /* 00h */ U8 Reserved; /* 01h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ U32 ActualImageSize; /* 14h */} MSG_FW_UPLOAD_REPLY, MPI_POINTER PTR_MSG_FW_UPLOAD_REPLY, FWUploadReply_t, MPI_POINTER pFWUploadReply_t;typedef struct _MPI_FW_HEADER{ U32 ArmBranchInstruction0; /* 00h */ U32 Signature0; /* 04h */ U32 Signature1; /* 08h */ U32 Signature2; /* 0Ch */ U32 ArmBranchInstruction1; /* 10h */ U32 ArmBranchInstruction2; /* 14h */ U32 Reserved; /* 18h */ U32 Checksum; /* 1Ch */ U16 VendorId; /* 20h */ U16 ProductId; /* 22h */ U16 FwVersion; /* 24h */ U16 Reserved1; /* 26h */ U32 SeqCodeVersion; /* 28h */ U32 ImageSize; /* 2Ch */ U32 Reserved2; /* 30h */ U32 LoadStartAddress; /* 34h */ U32 IopResetVectorValue; /* 38h */ U32 IopResetRegAddr; /* 3Ch */ U32 VersionNameWhat; /* 40h */ U8 VersionName[32]; /* 44h */ U32 VendorNameWhat; /* 64h */ U8 VendorName[32]; /* 68h */} MPI_FW_HEADER, MPI_POINTER PTR_MPI_FW_HEADER, MpiFwHeader_t, MPI_POINTER pMpiFwHeader_t;#define MPI_FW_HEADER_WHAT_SIGNATURE (0x29232840)/* defines for using the ProductId field */#define MPI_FW_HEADER_PID_TYPE_MASK (0xF000)#define MPI_FW_HEADER_PID_TYPE_SCSI (0x0000)#define MPI_FW_HEADER_PID_TYPE_FC (0x1000)#define MPI_FW_HEADER_PID_FW_VENDOR_MASK (0x0F00)#define MPI_FW_HEADER_PID_FW_VENDOR_LSI (0x0000)#define MPI_FW_HEADER_PID_FAMILY_MASK (0x000F)#define MPI_FW_HEADER_PID_FAMILY_1030_SCSI (0x0000)#define MPI_FW_HEADER_PID_FAMILY_909_FC (0x0000)#define MPI_FW_HEADER_PID_FAMILY_919_FC (0x0001)#define MPI_FW_HEADER_PID_FAMILY_919X_FC (0x0002)typedef struct _MPI_DATA_HEADER{ U32 Signature; /* 00h */ U16 FunctionNumber; /* 04h */ U16 Length; /* 06h */ U32 Checksum; /* 08h */ U32 LoadStartAddress; /* 0Ch */} MPI_DATA_HEADER, MPI_POINTER PTR_MPI_DATA_HEADER, MpiDataHeader_t, MPI_POINTER pMpiDataHeader_t;#define MPI_DATA_HEADER_SIGNATURE (0x43504147)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -