|
@@ -6,7 +6,7 @@
|
|
|
* Title: MPI Integrated RAID messages and structures
|
|
|
* Creation Date: April 26, 2007
|
|
|
*
|
|
|
- * mpi2_raid.h Version: 02.00.05
|
|
|
+ * mpi2_raid.h Version: 02.00.06
|
|
|
*
|
|
|
* Version History
|
|
|
* ---------------
|
|
@@ -23,6 +23,10 @@
|
|
|
* 07-30-09 02.00.04 Added proper define for the Use Default Settings bit of
|
|
|
* VolumeCreationFlags and marked the old one as obsolete.
|
|
|
* 05-12-10 02.00.05 Added MPI2_RAID_VOL_FLAGS_OP_MDC define.
|
|
|
+ * 08-24-10 02.00.06 Added MPI2_RAID_ACTION_COMPATIBILITY_CHECK along with
|
|
|
+ * related structures and defines.
|
|
|
+ * Added product-specific range to RAID Action values.
|
|
|
+
|
|
|
* --------------------------------------------------------------------------
|
|
|
*/
|
|
|
|
|
@@ -176,7 +180,9 @@ typedef struct _MPI2_RAID_ACTION_REQUEST
|
|
|
#define MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED (0x20)
|
|
|
#define MPI2_RAID_ACTION_START_RAID_FUNCTION (0x21)
|
|
|
#define MPI2_RAID_ACTION_STOP_RAID_FUNCTION (0x22)
|
|
|
-
|
|
|
+#define MPI2_RAID_ACTION_COMPATIBILITY_CHECK (0x23)
|
|
|
+#define MPI2_RAID_ACTION_MIN_PRODUCT_SPECIFIC (0x80)
|
|
|
+#define MPI2_RAID_ACTION_MAX_PRODUCT_SPECIFIC (0xFF)
|
|
|
|
|
|
/* RAID Volume Creation Structure */
|
|
|
|
|
@@ -244,6 +250,23 @@ typedef struct _MPI2_RAID_ONLINE_CAPACITY_EXPANSION
|
|
|
Mpi2RaidOnlineCapacityExpansion_t,
|
|
|
MPI2_POINTER pMpi2RaidOnlineCapacityExpansion_t;
|
|
|
|
|
|
+/* RAID Compatibility Input Structure */
|
|
|
+
|
|
|
+typedef struct _MPI2_RAID_COMPATIBILITY_INPUT_STRUCT {
|
|
|
+ U16 SourceDevHandle; /* 0x00 */
|
|
|
+ U16 CandidateDevHandle; /* 0x02 */
|
|
|
+ U32 Flags; /* 0x04 */
|
|
|
+ U32 Reserved1; /* 0x08 */
|
|
|
+ U32 Reserved2; /* 0x0C */
|
|
|
+} MPI2_RAID_COMPATIBILITY_INPUT_STRUCT,
|
|
|
+MPI2_POINTER PTR_MPI2_RAID_COMPATIBILITY_INPUT_STRUCT,
|
|
|
+Mpi2RaidCompatibilityInputStruct_t,
|
|
|
+MPI2_POINTER pMpi2RaidCompatibilityInputStruct_t;
|
|
|
+
|
|
|
+/* defines for RAID Compatibility Structure Flags field */
|
|
|
+#define MPI2_RAID_COMPAT_SOURCE_IS_VOLUME_FLAG (0x00000002)
|
|
|
+#define MPI2_RAID_COMPAT_REPORT_SOURCE_INFO_FLAG (0x00000001)
|
|
|
+
|
|
|
|
|
|
/* RAID Volume Indicator Structure */
|
|
|
|
|
@@ -263,15 +286,45 @@ typedef struct _MPI2_RAID_VOL_INDICATOR
|
|
|
#define MPI2_RAID_VOL_FLAGS_OP_RESYNC (0x00000003)
|
|
|
#define MPI2_RAID_VOL_FLAGS_OP_MDC (0x00000004)
|
|
|
|
|
|
+/* RAID Compatibility Result Structure */
|
|
|
+
|
|
|
+typedef struct _MPI2_RAID_COMPATIBILITY_RESULT_STRUCT {
|
|
|
+ U8 State; /* 0x00 */
|
|
|
+ U8 Reserved1; /* 0x01 */
|
|
|
+ U16 Reserved2; /* 0x02 */
|
|
|
+ U32 GenericAttributes; /* 0x04 */
|
|
|
+ U32 OEMSpecificAttributes; /* 0x08 */
|
|
|
+ U32 Reserved3; /* 0x0C */
|
|
|
+ U32 Reserved4; /* 0x10 */
|
|
|
+} MPI2_RAID_COMPATIBILITY_RESULT_STRUCT,
|
|
|
+MPI2_POINTER PTR_MPI2_RAID_COMPATIBILITY_RESULT_STRUCT,
|
|
|
+Mpi2RaidCompatibilityResultStruct_t,
|
|
|
+MPI2_POINTER pMpi2RaidCompatibilityResultStruct_t;
|
|
|
+
|
|
|
+/* defines for RAID Compatibility Result Structure State field */
|
|
|
+#define MPI2_RAID_COMPAT_STATE_COMPATIBLE (0x00)
|
|
|
+#define MPI2_RAID_COMPAT_STATE_NOT_COMPATIBLE (0x01)
|
|
|
+
|
|
|
+/* defines for RAID Compatibility Result Structure GenericAttributes field */
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_4K_SECTOR (0x00000010)
|
|
|
+
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_MEDIA_MASK (0x0000000C)
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_SOLID_STATE_DRIVE (0x00000008)
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_HARD_DISK_DRIVE (0x00000004)
|
|
|
+
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_PROTOCOL_MASK (0x00000003)
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_SAS_PROTOCOL (0x00000002)
|
|
|
+#define MPI2_RAID_COMPAT_GENATTRIB_SATA_PROTOCOL (0x00000001)
|
|
|
|
|
|
/* RAID Action Reply ActionData union */
|
|
|
typedef union _MPI2_RAID_ACTION_REPLY_DATA
|
|
|
{
|
|
|
- U32 Word[5];
|
|
|
- MPI2_RAID_VOL_INDICATOR RaidVolumeIndicator;
|
|
|
- U16 VolDevHandle;
|
|
|
- U8 VolumeState;
|
|
|
- U8 PhysDiskNum;
|
|
|
+ U32 Word[5];
|
|
|
+ MPI2_RAID_VOL_INDICATOR RaidVolumeIndicator;
|
|
|
+ U16 VolDevHandle;
|
|
|
+ U8 VolumeState;
|
|
|
+ U8 PhysDiskNum;
|
|
|
+ MPI2_RAID_COMPATIBILITY_RESULT_STRUCT RaidCompatibilityResult;
|
|
|
} MPI2_RAID_ACTION_REPLY_DATA, MPI2_POINTER PTR_MPI2_RAID_ACTION_REPLY_DATA,
|
|
|
Mpi2RaidActionReplyData_t, MPI2_POINTER pMpi2RaidActionReplyData_t;
|
|
|
|