1/* $FreeBSD$ */ 2 ============================== 3 Fusion-MPT MPI 2.0 Header File Change History 4 ============================== 5 6 Copyright (c) 2000-2009 LSI Corporation. 7 8 --------------------------------------- 9 Header Set Release Version: 02.00.14 10 Header Set Release Date: 10-28-09 11 --------------------------------------- 12 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 25 mpi2_hbd.h 02.00.00 26 mpi2_history.txt 02.00.14 02.00.13 27 28 29 * Date Version Description 30 * -------- -------- ------------------------------------------------------ 31 32mpi2.h 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 68 * bytes reserved. 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 73 * Index register. 74 * Added function code for Host Based Discovery Action. 75 * -------------------------------------------------------------------------- 76 77mpi2_cnfg.h 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 82 * define. 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 87 * forms. 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 93 * Page 0). 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 99 * NVDATA. 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 108 * Page 0. 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 120 * to 0x000000FF. 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 145 * to this page. 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 148 * Page 6. 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 159 * SAS Device Page 0. 160 * 05-06-09 02.00.11 Added structures and defines for IO Unit Page 5 and IO 161 * Unit Page 6. 162 * Added expander reduced functionality data to SAS 163 * Expander Page 0. 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 * -------------------------------------------------------------------------- 175 176mpi2_init.h 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 * -------------------------------------------------------------------------- 196 197mpi2_ioc.h 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 200 * MaxTargets. 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. 218 * Added define for 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 227 * field. 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 232 * IOCFacts reply. 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 247 * ReasonCode values. 248 * Added two new ReasonCode defines for SAS Device Status 249 * Change Event data. 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 260 * define. 261 * Added MPI2_EVENT_SAS_DEV_STAT_RC_SATA_INIT_FAILURE 262 * define. 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 267 * Event. 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 * -------------------------------------------------------------------------- 284 285mpi2_raid.h 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 * -------------------------------------------------------------------------- 296 297mpi2_sas.h 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 300 * Control Request. 301 * 10-02-08 02.00.02 Added Set IOC Parameter Operation to SAS IO Unit Control 302 * Request. 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 * -------------------------------------------------------------------------- 306 307mpi2_targ.h 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 315 * response data. 316 * -------------------------------------------------------------------------- 317 318mpi2_tool.h 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 * -------------------------------------------------------------------------- 329 330mpi2_type.h 331 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. 332 * -------------------------------------------------------------------------- 333 334mpi2_ra.h 335 * 05-06-09 02.00.00 Initial version. 336 * -------------------------------------------------------------------------- 337 338mpi2_hbd.h 339 * 10-28-09 02.00.00 Initial version. 340 * -------------------------------------------------------------------------- 341 342 343mpi2_history.txt Parts list history 344 345Filename 02.00.14 02.00.13 02.00.12 346---------- -------- -------- -------- 347mpi2.h 02.00.14 02.00.13 02.00.12 348mpi2_cnfg.h 02.00.13 02.00.12 02.00.11 349mpi2_init.h 02.00.08 02.00.07 02.00.07 350mpi2_ioc.h 02.00.13 02.00.12 02.00.11 351mpi2_raid.h 02.00.04 02.00.04 02.00.03 352mpi2_sas.h 02.00.03 02.00.02 02.00.02 353mpi2_targ.h 02.00.03 02.00.03 02.00.03 354mpi2_tool.h 02.00.04 02.00.04 02.00.03 355mpi2_type.h 02.00.00 02.00.00 02.00.00 356mpi2_ra.h 02.00.00 02.00.00 02.00.00 357mpi2_hbd.h 02.00.00 358 359Filename 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 360---------- -------- -------- -------- -------- -------- -------- 361mpi2.h 02.00.11 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 362mpi2_cnfg.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.06 02.00.06 363mpi2_init.h 02.00.06 02.00.06 02.00.05 02.00.05 02.00.04 02.00.03 364mpi2_ioc.h 02.00.10 02.00.09 02.00.08 02.00.07 02.00.07 02.00.06 365mpi2_raid.h 02.00.03 02.00.03 02.00.03 02.00.03 02.00.02 02.00.02 366mpi2_sas.h 02.00.02 02.00.02 02.00.01 02.00.01 02.00.01 02.00.01 367mpi2_targ.h 02.00.03 02.00.03 02.00.02 02.00.02 02.00.02 02.00.02 368mpi2_tool.h 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02 02.00.02 369mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 370 371Filename 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 372---------- -------- -------- -------- -------- -------- -------- 373mpi2.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 374mpi2_cnfg.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 375mpi2_init.h 02.00.02 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00 376mpi2_ioc.h 02.00.05 02.00.04 02.00.03 02.00.02 02.00.01 02.00.00 377mpi2_raid.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00 378mpi2_sas.h 02.00.01 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 379mpi2_targ.h 02.00.01 02.00.01 02.00.01 02.00.00 02.00.00 02.00.00 380mpi2_tool.h 02.00.01 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 381mpi2_type.h 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 02.00.00 382 383