📄 mpi_ioc.h
字号:
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 AliasIndex; /* 04h */ U8 Port; /* 05h */ U16 Reserved1; /* 06h */} EVENT_DATA_LOGOUT, MPI_POINTER PTR_EVENT_DATA_LOGOUT, EventDataLogout_t, MPI_POINTER pEventDataLogout_t;#define MPI_EVENT_LOGOUT_ALL_ALIASES (0xFF)/* MPI Integrated RAID Event data */typedef struct _EVENT_DATA_RAID{ U8 VolumeID; /* 00h */ U8 VolumeBus; /* 01h */ U8 ReasonCode; /* 02h */ U8 PhysDiskNum; /* 03h */ U8 ASC; /* 04h */ U8 ASCQ; /* 05h */ U16 Reserved; /* 06h */ U32 SettingsStatus; /* 08h */} EVENT_DATA_RAID, MPI_POINTER PTR_EVENT_DATA_RAID, MpiEventDataRaid_t, MPI_POINTER pMpiEventDataRaid_t;/* MPI Integrated RAID Event data ReasonCode values */#define MPI_EVENT_RAID_RC_VOLUME_CREATED (0x00)#define MPI_EVENT_RAID_RC_VOLUME_DELETED (0x01)#define MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED (0x02)#define MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED (0x03)#define MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED (0x04)#define MPI_EVENT_RAID_RC_PHYSDISK_CREATED (0x05)#define MPI_EVENT_RAID_RC_PHYSDISK_DELETED (0x06)#define MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED (0x07)#define MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED (0x08)#define MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED (0x09)#define MPI_EVENT_RAID_RC_SMART_DATA (0x0A)#define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B)/******************************************************************************* 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)#define MPI_FW_DOWNLOAD_ITYPE_NVDATA (0x03)#define MPI_FW_DOWNLOAD_ITYPE_BOOTLOADER (0x04)typedef struct _FWDownloadTCSGE{ U8 Reserved; /* 00h */ U8 ContextSize; /* 01h */ U8 DetailsLength; /* 02h */ U8 Flags; /* 03h */ U32 Reserved_0100_Checksum; /* 04h */ /* obsolete Checksum */ 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_NVDATA (0x03)#define MPI_FW_UPLOAD_ITYPE_BOOTLOADER (0x04)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 */ MPI_FW_VERSION FWVersion; /* 24h */ U32 SeqCodeVersion; /* 28h */ U32 ImageSize; /* 2Ch */ U32 NextImageHeaderOffset; /* 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_TYPE_SAS (0x2000)#define MPI_FW_HEADER_SIGNATURE_0 (0x5AEAA55A)#define MPI_FW_HEADER_SIGNATURE_1 (0xA55AEAA5)#define MPI_FW_HEADER_SIGNATURE_2 (0x5AA55AEA)#define MPI_FW_HEADER_PID_PROD_MASK (0x0F00)#define MPI_FW_HEADER_PID_PROD_INITIATOR_SCSI (0x0100)#define MPI_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI (0x0200)#define MPI_FW_HEADER_PID_PROD_TARGET_SCSI (0x0300)#define MPI_FW_HEADER_PID_PROD_IM_SCSI (0x0400)#define MPI_FW_HEADER_PID_PROD_IS_SCSI (0x0500)#define MPI_FW_HEADER_PID_PROD_CTX_SCSI (0x0600)#define MPI_FW_HEADER_PID_FAMILY_MASK (0x00FF)/* SCSI */#define MPI_FW_HEADER_PID_FAMILY_1030A0_SCSI (0x0001)#define MPI_FW_HEADER_PID_FAMILY_1030B0_SCSI (0x0002)#define MPI_FW_HEADER_PID_FAMILY_1030B1_SCSI (0x0003)#define MPI_FW_HEADER_PID_FAMILY_1030C0_SCSI (0x0004)#define MPI_FW_HEADER_PID_FAMILY_1020A0_SCSI (0x0005)#define MPI_FW_HEADER_PID_FAMILY_1020B0_SCSI (0x0006)#define MPI_FW_HEADER_PID_FAMILY_1020B1_SCSI (0x0007)#define MPI_FW_HEADER_PID_FAMILY_1020C0_SCSI (0x0008)#define MPI_FW_HEADER_PID_FAMILY_1035A0_SCSI (0x0009)#define MPI_FW_HEADER_PID_FAMILY_1035B0_SCSI (0x000A)#define MPI_FW_HEADER_PID_FAMILY_1030TA0_SCSI (0x000B)#define MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI (0x000C)/* Fibre Channel */#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)#define MPI_FW_HEADER_PID_FAMILY_919XL_FC (0x0003)#define MPI_FW_HEADER_PID_FAMILY_949_FC (0x0004)#define MPI_FW_HEADER_PID_FAMILY_959_FC (0x0005)/* SAS */#define MPI_FW_HEADER_PID_FAMILY_1064_SAS (0x0001)typedef struct _MPI_EXT_IMAGE_HEADER{ U8 ImageType; /* 00h */ U8 Reserved; /* 01h */ U16 Reserved1; /* 02h */ U32 Checksum; /* 04h */ U32 ImageSize; /* 08h */ U32 NextImageHeaderOffset; /* 0Ch */ U32 LoadStartAddress; /* 10h */ U32 Reserved2; /* 14h */} MPI_EXT_IMAGE_HEADER, MPI_POINTER PTR_MPI_EXT_IMAGE_HEADER, MpiExtImageHeader_t, MPI_POINTER pMpiExtImageHeader_t;/* defines for the ImageType field */#define MPI_EXT_IMAGE_TYPE_UNSPECIFIED (0x00)#define MPI_EXT_IMAGE_TYPE_FW (0x01)#define MPI_EXT_IMAGE_TYPE_NVDATA (0x03)#define MPI_EXT_IMAGE_TYPE_BOOTLOADER (0x04)#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -