2 ==============================
3 Fusion-MPT MPI 2.0 Header File Change History
4 ==============================
6 Copyright (c) 2000-2009 LSI Corporation.
8 ---------------------------------------
9 Header Set Release Version: 02.00.14
10 Header Set Release Date: 10-28-09
11 ---------------------------------------
13 Filename Current version Prior version
14 ---------- --------------- -------------
15 mpi2.h 02.00.14 02.00.13
16 mpi2_cnfg.h 02.00.13 02.00.12
17 mpi2_init.h 02.00.08 02.00.07
18 mpi2_ioc.h 02.00.13 02.00.12
19 mpi2_raid.h 02.00.04 02.00.04
20 mpi2_sas.h 02.00.03 02.00.02
21 mpi2_targ.h 02.00.03 02.00.03
22 mpi2_tool.h 02.00.04 02.00.04
23 mpi2_type.h 02.00.00 02.00.00
24 mpi2_ra.h 02.00.00 02.00.00
26 mpi2_history.txt 02.00.14 02.00.13
29 * Date Version Description
30 * -------- -------- ------------------------------------------------------
33 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
34 * 06-04-07 02.00.01 Bumped MPI2_HEADER_VERSION_UNIT.
35 * 06-26-07 02.00.02 Bumped MPI2_HEADER_VERSION_UNIT.
36 * 08-31-07 02.00.03 Bumped MPI2_HEADER_VERSION_UNIT.
37 * Moved ReplyPostHostIndex register to offset 0x6C of the
38 * MPI2_SYSTEM_INTERFACE_REGS and modified the define for
39 * MPI2_REPLY_POST_HOST_INDEX_OFFSET.
40 * Added union of request descriptors.
41 * Added union of reply descriptors.
42 * 10-31-07 02.00.04 Bumped MPI2_HEADER_VERSION_UNIT.
43 * Added define for MPI2_VERSION_02_00.
44 * Fixed the size of the FunctionDependent5 field in the
45 * MPI2_DEFAULT_REPLY structure.
46 * 12-18-07 02.00.05 Bumped MPI2_HEADER_VERSION_UNIT.
47 * Removed the MPI-defined Fault Codes and extended the
48 * product specific codes up to 0xEFFF.
49 * Added a sixth key value for the WriteSequence register
50 * and changed the flush value to 0x0.
51 * Added message function codes for Diagnostic Buffer Post
52 * and Diagnsotic Release.
53 * New IOCStatus define: MPI2_IOCSTATUS_DIAGNOSTIC_RELEASED
54 * Moved MPI2_VERSION_UNION from mpi2_ioc.h.
55 * 02-29-08 02.00.06 Bumped MPI2_HEADER_VERSION_UNIT.
56 * 03-03-08 02.00.07 Bumped MPI2_HEADER_VERSION_UNIT.
57 * 05-21-08 02.00.08 Bumped MPI2_HEADER_VERSION_UNIT.
58 * Added #defines for marking a reply descriptor as unused.
59 * 06-27-08 02.00.09 Bumped MPI2_HEADER_VERSION_UNIT.
60 * 10-02-08 02.00.10 Bumped MPI2_HEADER_VERSION_UNIT.
61 * Moved LUN field defines from mpi2_init.h.
62 * 01-19-09 02.00.11 Bumped MPI2_HEADER_VERSION_UNIT.
63 * 05-06-09 02.00.12 Bumped MPI2_HEADER_VERSION_UNIT.
64 * In all request and reply descriptors, replaced VF_ID
65 * field with MSIxIndex field.
66 * Removed DevHandle field from
67 * MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR and made those
69 * Added RAID Accelerator functionality.
70 * 07-30-09 02.00.13 Bumped MPI2_HEADER_VERSION_UNIT.
71 * 10-28-09 02.00.14 Bumped MPI2_HEADER_VERSION_UNIT.
72 * Added MSI-x index mask and shift for Reply Post Host
74 * Added function code for Host Based Discovery Action.
75 * --------------------------------------------------------------------------
78 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
79 * 06-04-07 02.00.01 Added defines for SAS IO Unit Page 2 PhyFlags.
80 * Added Manufacturing Page 11.
81 * Added MPI2_SAS_EXPANDER0_FLAGS_CONNECTOR_END_DEVICE
83 * 06-26-07 02.00.02 Adding generic structure for product-specific
84 * Manufacturing pages: MPI2_CONFIG_PAGE_MANUFACTURING_PS.
85 * Rework of BIOS Page 2 configuration page.
86 * Fixed MPI2_BIOSPAGE2_BOOT_DEVICE to be a union of the
88 * Added configuration pages IOC Page 8 and Driver
89 * Persistent Mapping Page 0.
90 * 08-31-07 02.00.03 Modified configuration pages dealing with Integrated
91 * RAID (Manufacturing Page 4, RAID Volume Pages 0 and 1,
92 * RAID Physical Disk Pages 0 and 1, RAID Configuration
94 * Added new value for AccessStatus field of SAS Device
95 * Page 0 (_SATA_NEEDS_INITIALIZATION).
96 * 10-31-07 02.00.04 Added missing SEPDevHandle field to
97 * MPI2_CONFIG_PAGE_SAS_ENCLOSURE_0.
98 * 12-18-07 02.00.05 Modified IO Unit Page 0 to use 32-bit version fields for
100 * Modified IOC Page 7 to use masks and added field for
101 * SASBroadcastPrimitiveMasks.
102 * Added MPI2_CONFIG_PAGE_BIOS_4.
103 * Added MPI2_CONFIG_PAGE_LOG_0.
104 * 02-29-08 02.00.06 Modified various names to make them 32-character unique.
105 * Added SAS Device IDs.
106 * Updated Integrated RAID configuration pages including
107 * Manufacturing Page 4, IOC Page 6, and RAID Configuration
109 * 05-21-08 02.00.07 Added define MPI2_MANPAGE4_MIX_SSD_SAS_SATA.
110 * Added define MPI2_MANPAGE4_PHYSDISK_128MB_COERCION.
111 * Fixed define MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING.
112 * Added missing MaxNumRoutedSasAddresses field to
113 * MPI2_CONFIG_PAGE_EXPANDER_0.
114 * Added SAS Port Page 0.
115 * Modified structure layout for
116 * MPI2_CONFIG_PAGE_DRIVER_MAPPING_0.
117 * 06-27-08 02.00.08 Changed MPI2_CONFIG_PAGE_RD_PDISK_1 to use
118 * MPI2_RAID_PHYS_DISK1_PATH_MAX to size the array.
119 * 10-02-08 02.00.09 Changed MPI2_RAID_PGAD_CONFIGNUM_MASK from 0x0000FFFF
121 * Added two new values for the Physical Disk Coercion Size
122 * bits in the Flags field of Manufacturing Page 4.
123 * Added product-specific Manufacturing pages 16 to 31.
124 * Modified Flags bits for controlling write cache on SATA
125 * drives in IO Unit Page 1.
126 * Added new bit to AdditionalControlFlags of SAS IO Unit
127 * Page 1 to control Invalid Topology Correction.
128 * Added SupportedPhysDisks field to RAID Volume Page 1 and
129 * added related defines.
130 * Added additional defines for RAID Volume Page 0
131 * VolumeStatusFlags field.
132 * Modified meaning of RAID Volume Page 0 VolumeSettings
133 * define for auto-configure of hot-swap drives.
134 * Added PhysDiskAttributes field (and related defines) to
135 * RAID Physical Disk Page 0.
136 * Added MPI2_SAS_PHYINFO_PHY_VACANT define.
137 * Added three new DiscoveryStatus bits for SAS IO Unit
138 * Page 0 and SAS Expander Page 0.
139 * Removed multiplexing information from SAS IO Unit pages.
140 * Added BootDeviceWaitTime field to SAS IO Unit Page 4.
141 * Removed Zone Address Resolved bit from PhyInfo and from
142 * Expander Page 0 Flags field.
143 * Added two new AccessStatus values to SAS Device Page 0
144 * for indicating routing problems. Added 3 reserved words
146 * 01-19-09 02.00.10 Fixed defines for GPIOVal field of IO Unit Page 3.
147 * Inserted missing reserved field into structure for IOC
149 * Added more pending task bits to RAID Volume Page 0
150 * VolumeStatusFlags defines.
151 * Added MPI2_PHYSDISK0_STATUS_FLAG_NOT_CERTIFIED define.
152 * Added a new DiscoveryStatus bit for SAS IO Unit Page 0
153 * and SAS Expander Page 0 to flag a downstream initiator
154 * when in simplified routing mode.
155 * Removed SATA Init Failure defines for DiscoveryStatus
156 * fields of SAS IO Unit Page 0 and SAS Expander Page 0.
157 * Added MPI2_SAS_DEVICE0_ASTATUS_DEVICE_BLOCKED define.
158 * Added PortGroups, DmaGroup, and ControlGroup fields to
160 * 05-06-09 02.00.11 Added structures and defines for IO Unit Page 5 and IO
162 * Added expander reduced functionality data to SAS
164 * Added SAS PHY Page 2 and SAS PHY Page 3.
165 * 07-30-09 02.00.12 Added IO Unit Page 7.
166 * Added new device ids.
167 * Added SAS IO Unit Page 5.
168 * Added partial and slumber power management capable flags
169 * to SAS Device Page 0 Flags field.
170 * Added PhyInfo defines for power condition.
171 * Added Ethernet configuration pages.
172 * 10-28-09 02.00.13 Added MPI2_IOUNITPAGE1_ENABLE_HOST_BASED_DISCOVERY.
173 * Added SAS PHY Page 4 structure and defines.
174 * --------------------------------------------------------------------------
177 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
178 * 10-31-07 02.00.01 Fixed name for pMpi2SCSITaskManagementRequest_t.
179 * 12-18-07 02.00.02 Modified Task Management Target Reset Method defines.
180 * 02-29-08 02.00.03 Added Query Task Set and Query Unit Attention.
181 * 03-03-08 02.00.04 Fixed name of struct _MPI2_SCSI_TASK_MANAGE_REPLY.
182 * 05-21-08 02.00.05 Fixed typo in name of Mpi2SepRequest_t.
183 * 10-02-08 02.00.06 Removed Untagged and No Disconnect values from SCSI IO
184 * Control field Task Attribute flags.
185 * Moved LUN field defines to mpi2.h becasue they are
186 * common to many structures.
187 * 05-06-09 02.00.07 Changed task management type of Query Unit Attention to
188 * Query Asynchronous Event.
189 * Defined two new bits in the SlotStatus field of the SCSI
190 * Enclosure Processor Request and Reply.
191 * 10-28-09 02.00.08 Added defines for decoding the ResponseInfo bytes for
192 * both SCSI IO Error Reply and SCSI Task Management Reply.
193 * Added ResponseInfo field to MPI2_SCSI_TASK_MANAGE_REPLY.
194 * Added MPI2_SCSITASKMGMT_RSP_TM_OVERLAPPED_TAG define.
195 * --------------------------------------------------------------------------
198 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
199 * 06-04-07 02.00.01 In IOCFacts Reply structure, renamed MaxDevices to
201 * Added TotalImageSize field to FWDownload Request.
202 * Added reserved words to FWUpload Request.
203 * 06-26-07 02.00.02 Added IR Configuration Change List Event.
204 * 08-31-07 02.00.03 Removed SystemReplyQueueDepth field from the IOCInit
205 * request and replaced it with
206 * ReplyDescriptorPostQueueDepth and ReplyFreeQueueDepth.
207 * Replaced the MinReplyQueueDepth field of the IOCFacts
208 * reply with MaxReplyDescriptorPostQueueDepth.
209 * Added MPI2_RDPQ_DEPTH_MIN define to specify the minimum
210 * depth for the Reply Descriptor Post Queue.
211 * Added SASAddress field to Initiator Device Table
212 * Overflow Event data.
213 * 10-31-07 02.00.04 Added ReasonCode MPI2_EVENT_SAS_INIT_RC_NOT_RESPONDING
214 * for SAS Initiator Device Status Change Event data.
215 * Modified Reason Code defines for SAS Topology Change
216 * List Event data, including adding a bit for PHY Vacant
217 * status, and adding a mask for the Reason Code.
219 * MPI2_EVENT_SAS_TOPO_ES_DELAY_NOT_RESPONDING.
220 * Added define for MPI2_EXT_IMAGE_TYPE_MEGARAID.
221 * 12-18-07 02.00.05 Added Boot Status defines for the IOCExceptions field of
222 * the IOCFacts Reply.
223 * Removed MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define.
224 * Moved MPI2_VERSION_UNION to mpi2.h.
225 * Changed MPI2_EVENT_NOTIFICATION_REQUEST to use masks
226 * instead of enables, and added SASBroadcastPrimitiveMasks
228 * Added Log Entry Added Event and related structure.
229 * 02-29-08 02.00.06 Added define MPI2_IOCFACTS_CAPABILITY_INTEGRATED_RAID.
230 * Removed define MPI2_IOCFACTS_PROTOCOL_SMP_TARGET.
231 * Added MaxVolumes and MaxPersistentEntries fields to
233 * Added ProtocalFlags and IOCCapabilities fields to
234 * MPI2_FW_IMAGE_HEADER.
235 * Removed MPI2_PORTENABLE_FLAGS_ENABLE_SINGLE_PORT.
236 * 03-03-08 02.00.07 Fixed MPI2_FW_IMAGE_HEADER by changing Reserved26 to
237 * a U16 (from a U32).
238 * Removed extra 's' from EventMasks name.
239 * 06-27-08 02.00.08 Fixed an offset in a comment.
240 * 10-02-08 02.00.09 Removed SystemReplyFrameSize from MPI2_IOC_INIT_REQUEST.
241 * Removed CurReplyFrameSize from MPI2_IOC_FACTS_REPLY and
242 * renamed MinReplyFrameSize to ReplyFrameSize.
243 * Added MPI2_IOCFACTS_EXCEPT_IR_FOREIGN_CONFIG_MAX.
244 * Added two new RAIDOperation values for Integrated RAID
245 * Operations Status Event data.
246 * Added four new IR Configuration Change List Event data
248 * Added two new ReasonCode defines for SAS Device Status
250 * Added three new DiscoveryStatus bits for the SAS
251 * Discovery event data.
252 * Added Multiplexing Status Change bit to the PhyStatus
253 * field of the SAS Topology Change List event data.
254 * Removed define for MPI2_INIT_IMAGE_BOOTFLAGS_XMEMCOPY.
255 * BootFlags are now product-specific.
256 * Added defines for the indivdual signature bytes
257 * for MPI2_INIT_IMAGE_FOOTER.
258 * 01-19-09 02.00.10 Added MPI2_IOCFACTS_CAPABILITY_EVENT_REPLAY define.
259 * Added MPI2_EVENT_SAS_DISC_DS_DOWNSTREAM_INITIATOR
261 * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE
263 * Removed MPI2_EVENT_SAS_DISC_DS_SATA_INIT_FAILURE define.
264 * 05-06-09 02.00.11 Added MPI2_IOCFACTS_CAPABILITY_RAID_ACCELERATOR define.
265 * Added MPI2_IOCFACTS_CAPABILITY_MSI_X_INDEX define.
266 * Added two new reason codes for SAS Device Status Change
268 * Added new event: SAS PHY Counter.
269 * 07-30-09 02.00.12 Added GPIO Interrupt event define and structure.
270 * Added MPI2_IOCFACTS_CAPABILITY_EXTENDED_BUFFER define.
271 * Added new product id family for 2208.
272 * 10-28-09 02.00.13 Added HostMSIxVectors field to MPI2_IOC_INIT_REQUEST.
273 * Added MaxMSIxVectors field to MPI2_IOC_FACTS_REPLY.
274 * Added MinDevHandle field to MPI2_IOC_FACTS_REPLY.
275 * Added MPI2_IOCFACTS_CAPABILITY_HOST_BASED_DISCOVERY.
276 * Added MPI2_EVENT_HOST_BASED_DISCOVERY_PHY define.
277 * Added MPI2_EVENT_SAS_TOPO_ES_NO_EXPANDER define.
278 * Added Host Based Discovery Phy Event data.
279 * Added defines for ProductID Product field
280 * (MPI2_FW_HEADER_PID_).
281 * Modified values for SAS ProductID Family
282 * (MPI2_FW_HEADER_PID_FAMILY_).
283 * --------------------------------------------------------------------------
286 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
287 * 08-31-07 02.00.01 Modifications to RAID Action request and reply,
288 * including the Actions and ActionData.
289 * 02-29-08 02.00.02 Added MPI2_RAID_ACTION_ADATA_DISABL_FULL_REBUILD.
290 * 05-21-08 02.00.03 Added MPI2_RAID_VOL_CREATION_NUM_PHYSDISKS so that
291 * the PhysDisk array in MPI2_RAID_VOLUME_CREATION_STRUCT
292 * can be sized by the build environment.
293 * 07-30-09 02.00.04 Added proper define for the Use Default Settings bit of
294 * VolumeCreationFlags and marked the old one as obsolete.
295 * --------------------------------------------------------------------------
298 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
299 * 06-26-07 02.00.01 Added Clear All Persistent Operation to SAS IO Unit
301 * 10-02-08 02.00.02 Added Set IOC Parameter Operation to SAS IO Unit Control
303 * 10-28-09 02.00.03 Changed the type of SGL in MPI2_SATA_PASSTHROUGH_REQUEST
304 * to MPI2_SGE_IO_UNION since it supports chained SGLs.
305 * --------------------------------------------------------------------------
308 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
309 * 08-31-07 02.00.01 Added Command Buffer Data Location Address Space bits to
310 * BufferPostFlags field of CommandBufferPostBase Request.
311 * 02-29-08 02.00.02 Modified various names to make them 32-character unique.
312 * 10-02-08 02.00.03 Removed NextCmdBufferOffset from
313 * MPI2_TARGET_CMD_BUF_POST_BASE_REQUEST.
314 * Target Status Send Request only takes a single SGE for
316 * --------------------------------------------------------------------------
319 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
320 * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release
321 * structures and defines.
322 * 02-29-08 02.00.02 Modified various names to make them 32-character unique.
323 * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool.
324 * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request
325 * and reply messages.
326 * Added MPI2_DIAG_BUF_TYPE_EXTENDED.
327 * Incremented MPI2_DIAG_BUF_TYPE_COUNT.
328 * --------------------------------------------------------------------------
331 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
332 * --------------------------------------------------------------------------
335 * 05-06-09 02.00.00 Initial version.
336 * --------------------------------------------------------------------------
339 * 10-28-09 02.00.00 Initial version.
340 * --------------------------------------------------------------------------
343 mpi2_history.txt Parts list history
345 Filename 02.00.14 02.00.13 02.00.12
346 ---------- -------- -------- --------
347 mpi2.h 02.00.14 02.00.13 02.00.12
348 mpi2_cnfg.h 02.00.13 02.00.12 02.00.11
349 mpi2_init.h 02.00.08 02.00.07 02.00.07
350 mpi2_ioc.h 02.00.13 02.00.12 02.00.11
351 mpi2_raid.h 02.00.04 02.00.04 02.00.03
352 mpi2_sas.h 02.00.03 02.00.02 02.00.02
353 mpi2_targ.h 02.00.03 02.00.03 02.00.03
354 mpi2_tool.h 02.00.04 02.00.04 02.00.03
355 mpi2_type.h 02.00.00 02.00.00 02.00.00
356 mpi2_ra.h 02.00.00 02.00.00 02.00.00
359 Filename 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06
360 ---------- -------- -------- -------- -------- -------- --------
361 mpi2.h 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06
362 mpi2_cnfg.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 02.00.06
363 mpi2_init.h 02.00.06 02.00.06 02.00.05 02.00.05 02.00.04 02.00.03
364 mpi2_ioc.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.07 02.00.06
365 mpi2_raid.h 02.00.03 02.00.03 02.00.03 02.00.03 02.00.02 02.00.02
366 mpi2_sas.h 02.00.02 02.00.02 02.00.01 02.00.01 02.00.01 02.00.01
367 mpi2_targ.h 02.00.03 02.00.03 02.00.02 02.00.02 02.00.02 02.00.02
368 mpi2_tool.h 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02
369 mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00
371 Filename 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00
372 ---------- -------- -------- -------- -------- -------- --------
373 mpi2.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00
374 mpi2_cnfg.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00
375 mpi2_init.h 02.00.02 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00
376 mpi2_ioc.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00
377 mpi2_raid.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00
378 mpi2_sas.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00
379 mpi2_targ.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00
380 mpi2_tool.h 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00
381 mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00