1991554f2SKenneth D. Merry /*- 2*8736c018SKashyap D Desai * Copyright 2000-2020 Broadcom Inc. All rights reserved. 3991554f2SKenneth D. Merry * 4991554f2SKenneth D. Merry * Redistribution and use in source and binary forms, with or without 5991554f2SKenneth D. Merry * modification, are permitted provided that the following conditions 6991554f2SKenneth D. Merry * are met: 7991554f2SKenneth D. Merry * 1. Redistributions of source code must retain the above copyright 8991554f2SKenneth D. Merry * notice, this list of conditions and the following disclaimer. 9991554f2SKenneth D. Merry * 2. Redistributions in binary form must reproduce the above copyright 10991554f2SKenneth D. Merry * notice, this list of conditions and the following disclaimer in the 11991554f2SKenneth D. Merry * documentation and/or other materials provided with the distribution. 12991554f2SKenneth D. Merry * 3. Neither the name of the author nor the names of any co-contributors 13991554f2SKenneth D. Merry * may be used to endorse or promote products derived from this software 14991554f2SKenneth D. Merry * without specific prior written permission. 15991554f2SKenneth D. Merry * 16991554f2SKenneth D. Merry * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17991554f2SKenneth D. Merry * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18991554f2SKenneth D. Merry * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19991554f2SKenneth D. Merry * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20991554f2SKenneth D. Merry * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21991554f2SKenneth D. Merry * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22991554f2SKenneth D. Merry * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23991554f2SKenneth D. Merry * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24991554f2SKenneth D. Merry * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25991554f2SKenneth D. Merry * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26991554f2SKenneth D. Merry * SUCH DAMAGE. 27991554f2SKenneth D. Merry * 28*8736c018SKashyap D Desai * Broadcom Inc. (LSI) MPT-Fusion Host Adapter FreeBSD 29991554f2SKenneth D. Merry */ 30991554f2SKenneth D. Merry 31991554f2SKenneth D. Merry /* 32*8736c018SKashyap D Desai * Copyright 2000-2020 Broadcom Inc. All rights reserved. 33991554f2SKenneth D. Merry * 34991554f2SKenneth D. Merry * 35991554f2SKenneth D. Merry * Name: mpi2_tool.h 36991554f2SKenneth D. Merry * Title: MPI diagnostic tool structures and definitions 37991554f2SKenneth D. Merry * Creation Date: March 26, 2007 38991554f2SKenneth D. Merry * 39*8736c018SKashyap D Desai * mpi2_tool.h Version: 02.00.15 40991554f2SKenneth D. Merry * 41991554f2SKenneth D. Merry * Version History 42991554f2SKenneth D. Merry * --------------- 43991554f2SKenneth D. Merry * 44991554f2SKenneth D. Merry * Date Version Description 45991554f2SKenneth D. Merry * -------- -------- ------------------------------------------------------ 46991554f2SKenneth D. Merry * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. 47991554f2SKenneth D. Merry * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release 48991554f2SKenneth D. Merry * structures and defines. 49991554f2SKenneth D. Merry * 02-29-08 02.00.02 Modified various names to make them 32-character unique. 50991554f2SKenneth D. Merry * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool. 51991554f2SKenneth D. Merry * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request 52991554f2SKenneth D. Merry * and reply messages. 53991554f2SKenneth D. Merry * Added MPI2_DIAG_BUF_TYPE_EXTENDED. 54991554f2SKenneth D. Merry * Incremented MPI2_DIAG_BUF_TYPE_COUNT. 55991554f2SKenneth D. Merry * 05-12-10 02.00.05 Added Diagnostic Data Upload tool. 56991554f2SKenneth D. Merry * 08-11-10 02.00.06 Added defines that were missing for Diagnostic Buffer 57991554f2SKenneth D. Merry * Post Request. 58991554f2SKenneth D. Merry * 05-25-11 02.00.07 Added Flags field and related defines to 59991554f2SKenneth D. Merry * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST. 60991554f2SKenneth D. Merry * 11-18-11 02.00.08 Incorporating additions for MPI v2.5. 61991554f2SKenneth D. Merry * 07-10-12 02.00.09 Add MPI v2.5 Toolbox Diagnostic CLI Tool Request 62991554f2SKenneth D. Merry * message. 63991554f2SKenneth D. Merry * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that 64991554f2SKenneth D. Merry * it uses MPI Chain SGE as well as MPI Simple SGE. 65991554f2SKenneth D. Merry * 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info. 6628ae62b0SStephen McConnell * 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC. 6728ae62b0SStephen McConnell * 11-18-14 02.00.13 Updated copyright information. 6867feec50SStephen McConnell * 08-25-16 02.00.14 Added new values for the Flags field of Toolbox Clean 6967feec50SStephen McConnell * Tool Request Message. 70*8736c018SKashyap D Desai * 07-22-18 02.00.15 Added defines for new TOOLBOX_PCIE_LANE_MARGINING tool. 71*8736c018SKashyap D Desai * Added option for DeviceInfo field in ISTWI tool. 72991554f2SKenneth D. Merry * -------------------------------------------------------------------------- 73991554f2SKenneth D. Merry */ 74991554f2SKenneth D. Merry 75991554f2SKenneth D. Merry #ifndef MPI2_TOOL_H 76991554f2SKenneth D. Merry #define MPI2_TOOL_H 77991554f2SKenneth D. Merry 78991554f2SKenneth D. Merry /***************************************************************************** 79991554f2SKenneth D. Merry * 80991554f2SKenneth D. Merry * Toolbox Messages 81991554f2SKenneth D. Merry * 82991554f2SKenneth D. Merry *****************************************************************************/ 83991554f2SKenneth D. Merry 84991554f2SKenneth D. Merry /* defines for the Tools */ 85991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_TOOL (0x00) 86991554f2SKenneth D. Merry #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01) 87991554f2SKenneth D. Merry #define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL (0x02) 88991554f2SKenneth D. Merry #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03) 89991554f2SKenneth D. Merry #define MPI2_TOOLBOX_BEACON_TOOL (0x05) 90991554f2SKenneth D. Merry #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06) 91991554f2SKenneth D. Merry #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07) 92*8736c018SKashyap D Desai #define MPI26_TOOLBOX_BACKEND_PCIE_LANE_MARGIN (0x08) 93991554f2SKenneth D. Merry 94991554f2SKenneth D. Merry /**************************************************************************** 95991554f2SKenneth D. Merry * Toolbox reply 96991554f2SKenneth D. Merry ****************************************************************************/ 97991554f2SKenneth D. Merry 98991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_REPLY 99991554f2SKenneth D. Merry { 100991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 101991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 102991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 103991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 104991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 105991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 106991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 107991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 108991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 109991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 110991554f2SKenneth D. Merry U16 Reserved5; /* 0x0C */ 111991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 112991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 113991554f2SKenneth D. Merry } MPI2_TOOLBOX_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_REPLY, 114991554f2SKenneth D. Merry Mpi2ToolboxReply_t, MPI2_POINTER pMpi2ToolboxReply_t; 115991554f2SKenneth D. Merry 116991554f2SKenneth D. Merry /**************************************************************************** 117991554f2SKenneth D. Merry * Toolbox Clean Tool request 118991554f2SKenneth D. Merry ****************************************************************************/ 119991554f2SKenneth D. Merry 120991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST 121991554f2SKenneth D. Merry { 122991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 123991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 124991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 125991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 126991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 127991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 128991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 129991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 130991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 131991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 132991554f2SKenneth D. Merry U32 Flags; /* 0x0C */ 133991554f2SKenneth D. Merry } MPI2_TOOLBOX_CLEAN_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_CLEAN_REQUEST, 134991554f2SKenneth D. Merry Mpi2ToolboxCleanRequest_t, MPI2_POINTER pMpi2ToolboxCleanRequest_t; 135991554f2SKenneth D. Merry 136991554f2SKenneth D. Merry /* values for the Flags field */ 137991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_BOOT_SERVICES (0x80000000) 138991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES (0x40000000) 139991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000) 140991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000) 141991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000) 14228ae62b0SStephen McConnell #define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC (0x04000000) 143991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000) 144991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000) 14567feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_SBR (0x00800000) 14667feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_SBR_BACKUP (0x00400000) 14767feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_HIIM (0x00200000) 14867feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_HIIA (0x00100000) 14967feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_CTLR (0x00080000) 15067feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_IMR_FIRMWARE (0x00040000) 15167feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_MR_NVDATA (0x00020000) 15267feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_RESERVED_5_16 (0x0001FFE0) 15367feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_ALL_BUT_MPB (0x00000010) 15467feec50SStephen McConnell #define MPI2_TOOLBOX_CLEAN_ENTIRE_FLASH (0x00000008) 155991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004) 156991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_SEEPROM (0x00000002) 157991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CLEAN_NVSRAM (0x00000001) 158991554f2SKenneth D. Merry 159991554f2SKenneth D. Merry /**************************************************************************** 160991554f2SKenneth D. Merry * Toolbox Memory Move request 161991554f2SKenneth D. Merry ****************************************************************************/ 162991554f2SKenneth D. Merry 163991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST 164991554f2SKenneth D. Merry { 165991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 166991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 167991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 168991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 169991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 170991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 171991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 172991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 173991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 174991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 175991554f2SKenneth D. Merry MPI2_SGE_SIMPLE_UNION SGL; /* 0x0C */ 176991554f2SKenneth D. Merry } MPI2_TOOLBOX_MEM_MOVE_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST, 177991554f2SKenneth D. Merry Mpi2ToolboxMemMoveRequest_t, MPI2_POINTER pMpi2ToolboxMemMoveRequest_t; 178991554f2SKenneth D. Merry 179991554f2SKenneth D. Merry /**************************************************************************** 180991554f2SKenneth D. Merry * Toolbox Diagnostic Data Upload request 181991554f2SKenneth D. Merry ****************************************************************************/ 182991554f2SKenneth D. Merry 183991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST 184991554f2SKenneth D. Merry { 185991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 186991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 187991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 188991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 189991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 190991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 191991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 192991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 193991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 194991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 195991554f2SKenneth D. Merry U8 SGLFlags; /* 0x0C */ 196991554f2SKenneth D. Merry U8 Reserved5; /* 0x0D */ 197991554f2SKenneth D. Merry U16 Reserved6; /* 0x0E */ 198991554f2SKenneth D. Merry U32 Flags; /* 0x10 */ 199991554f2SKenneth D. Merry U32 DataLength; /* 0x14 */ 200991554f2SKenneth D. Merry MPI2_SGE_SIMPLE_UNION SGL; /* 0x18 */ 201991554f2SKenneth D. Merry } MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 202991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST, 203991554f2SKenneth D. Merry Mpi2ToolboxDiagDataUploadRequest_t, 204991554f2SKenneth D. Merry MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t; 205991554f2SKenneth D. Merry 206991554f2SKenneth D. Merry /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 207991554f2SKenneth D. Merry 208991554f2SKenneth D. Merry typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER 209991554f2SKenneth D. Merry { 210991554f2SKenneth D. Merry U32 DiagDataLength; /* 00h */ 211991554f2SKenneth D. Merry U8 FormatCode; /* 04h */ 212991554f2SKenneth D. Merry U8 Reserved1; /* 05h */ 213991554f2SKenneth D. Merry U16 Reserved2; /* 06h */ 214991554f2SKenneth D. Merry } MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER, 215991554f2SKenneth D. Merry Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t; 216991554f2SKenneth D. Merry 217991554f2SKenneth D. Merry /**************************************************************************** 218991554f2SKenneth D. Merry * Toolbox ISTWI Read Write Tool 219991554f2SKenneth D. Merry ****************************************************************************/ 220991554f2SKenneth D. Merry 221991554f2SKenneth D. Merry /* Toolbox ISTWI Read Write Tool request message */ 222991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST 223991554f2SKenneth D. Merry { 224991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 225991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 226991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 227991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 228991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 229991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 230991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 231991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 232991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 233991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 234991554f2SKenneth D. Merry U32 Reserved5; /* 0x0C */ 235991554f2SKenneth D. Merry U32 Reserved6; /* 0x10 */ 236991554f2SKenneth D. Merry U8 DevIndex; /* 0x14 */ 237991554f2SKenneth D. Merry U8 Action; /* 0x15 */ 238991554f2SKenneth D. Merry U8 SGLFlags; /* 0x16 */ 239991554f2SKenneth D. Merry U8 Flags; /* 0x17 */ 240991554f2SKenneth D. Merry U16 TxDataLength; /* 0x18 */ 241991554f2SKenneth D. Merry U16 RxDataLength; /* 0x1A */ 242*8736c018SKashyap D Desai U32 DeviceInfo[3]; /* 0x1C */ 243991554f2SKenneth D. Merry U32 Reserved11; /* 0x28 */ 244991554f2SKenneth D. Merry U32 Reserved12; /* 0x2C */ 245991554f2SKenneth D. Merry MPI2_SGE_SIMPLE_UNION SGL; /* 0x30 */ 246991554f2SKenneth D. Merry } MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 247991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST, 248991554f2SKenneth D. Merry Mpi2ToolboxIstwiReadWriteRequest_t, 249991554f2SKenneth D. Merry MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t; 250991554f2SKenneth D. Merry 251991554f2SKenneth D. Merry /* values for the Action field */ 252991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01) 253991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02) 254991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03) 255991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10) 256991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11) 257991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_ACTION_RESET (0x12) 258991554f2SKenneth D. Merry 259991554f2SKenneth D. Merry /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 260991554f2SKenneth D. Merry 261991554f2SKenneth D. Merry /* values for the Flags field */ 262991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE (0x80) 263991554f2SKenneth D. Merry #define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK (0x07) 264991554f2SKenneth D. Merry 265*8736c018SKashyap D Desai /* MPI26 TOOLBOX Request MsgFlags defines */ 266*8736c018SKashyap D Desai #define MPI26_TOOLBOX_REQ_MSGFLAGS_ADDRESSING_MASK (0x01) 267*8736c018SKashyap D Desai #define MPI26_TOOLBOX_REQ_MSGFLAGS_ADDRESSING_DEVINDEX (0x00) /* Request uses Man Page 43 device index addressing */ 268*8736c018SKashyap D Desai #define MPI26_TOOLBOX_REQ_MSGFLAGS_ADDRESSING_DEVINFO (0x01) /* Request uses Man Page 43 device info struct addressing */ 269*8736c018SKashyap D Desai 270991554f2SKenneth D. Merry /* Toolbox ISTWI Read Write Tool reply message */ 271991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_ISTWI_REPLY 272991554f2SKenneth D. Merry { 273991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 274991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 275991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 276991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 277991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 278991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 279991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 280991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 281991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 282991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 283991554f2SKenneth D. Merry U16 Reserved5; /* 0x0C */ 284991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 285991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 286991554f2SKenneth D. Merry U8 DevIndex; /* 0x14 */ 287991554f2SKenneth D. Merry U8 Action; /* 0x15 */ 288991554f2SKenneth D. Merry U8 IstwiStatus; /* 0x16 */ 289991554f2SKenneth D. Merry U8 Reserved6; /* 0x17 */ 290991554f2SKenneth D. Merry U16 TxDataCount; /* 0x18 */ 291991554f2SKenneth D. Merry U16 RxDataCount; /* 0x1A */ 292991554f2SKenneth D. Merry } MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY, 293991554f2SKenneth D. Merry Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t; 294991554f2SKenneth D. Merry 295991554f2SKenneth D. Merry /**************************************************************************** 296991554f2SKenneth D. Merry * Toolbox Beacon Tool request 297991554f2SKenneth D. Merry ****************************************************************************/ 298991554f2SKenneth D. Merry 299991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_BEACON_REQUEST 300991554f2SKenneth D. Merry { 301991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 302991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 303991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 304991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 305991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 306991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 307991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 308991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 309991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 310991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 311991554f2SKenneth D. Merry U8 Reserved5; /* 0x0C */ 312991554f2SKenneth D. Merry U8 PhysicalPort; /* 0x0D */ 313991554f2SKenneth D. Merry U8 Reserved6; /* 0x0E */ 314991554f2SKenneth D. Merry U8 Flags; /* 0x0F */ 315991554f2SKenneth D. Merry } MPI2_TOOLBOX_BEACON_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_BEACON_REQUEST, 316991554f2SKenneth D. Merry Mpi2ToolboxBeaconRequest_t, MPI2_POINTER pMpi2ToolboxBeaconRequest_t; 317991554f2SKenneth D. Merry 318991554f2SKenneth D. Merry /* values for the Flags field */ 319991554f2SKenneth D. Merry #define MPI2_TOOLBOX_FLAGS_BEACONMODE_OFF (0x00) 320991554f2SKenneth D. Merry #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01) 321991554f2SKenneth D. Merry 322991554f2SKenneth D. Merry /**************************************************************************** 323991554f2SKenneth D. Merry * Toolbox Diagnostic CLI Tool 324991554f2SKenneth D. Merry ****************************************************************************/ 325991554f2SKenneth D. Merry 326991554f2SKenneth D. Merry #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C) 327991554f2SKenneth D. Merry 328991554f2SKenneth D. Merry /* MPI v2.0 Toolbox Diagnostic CLI Tool request message */ 329991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST 330991554f2SKenneth D. Merry { 331991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 332991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 333991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 334991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 335991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 336991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 337991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 338991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 339991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 340991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 341991554f2SKenneth D. Merry U8 SGLFlags; /* 0x0C */ 342991554f2SKenneth D. Merry U8 Reserved5; /* 0x0D */ 343991554f2SKenneth D. Merry U16 Reserved6; /* 0x0E */ 344991554f2SKenneth D. Merry U32 DataLength; /* 0x10 */ 345991554f2SKenneth D. Merry U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ 346991554f2SKenneth D. Merry MPI2_MPI_SGE_IO_UNION SGL; /* 0x70 */ 347991554f2SKenneth D. Merry } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 348991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 349991554f2SKenneth D. Merry Mpi2ToolboxDiagnosticCliRequest_t, 350991554f2SKenneth D. Merry MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t; 351991554f2SKenneth D. Merry 352991554f2SKenneth D. Merry /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */ 353991554f2SKenneth D. Merry 354991554f2SKenneth D. Merry /* MPI v2.5 Toolbox Diagnostic CLI Tool request message */ 355991554f2SKenneth D. Merry typedef struct _MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST 356991554f2SKenneth D. Merry { 357991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 358991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 359991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 360991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 361991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 362991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 363991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 364991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 365991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 366991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 367991554f2SKenneth D. Merry U32 Reserved5; /* 0x0C */ 368991554f2SKenneth D. Merry U32 DataLength; /* 0x10 */ 369991554f2SKenneth D. Merry U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */ 370991554f2SKenneth D. Merry MPI25_SGE_IO_UNION SGL; /* 0x70 */ 371991554f2SKenneth D. Merry } MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 372991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST, 373991554f2SKenneth D. Merry Mpi25ToolboxDiagnosticCliRequest_t, 374991554f2SKenneth D. Merry MPI2_POINTER pMpi25ToolboxDiagnosticCliRequest_t; 375991554f2SKenneth D. Merry 376991554f2SKenneth D. Merry /* Toolbox Diagnostic CLI Tool reply message */ 377991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY 378991554f2SKenneth D. Merry { 379991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 380991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 381991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 382991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 383991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 384991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 385991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 386991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 387991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 388991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 389991554f2SKenneth D. Merry U16 Reserved5; /* 0x0C */ 390991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 391991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 392991554f2SKenneth D. Merry U32 ReturnedDataLength; /* 0x14 */ 393991554f2SKenneth D. Merry } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY, 394991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY, 395991554f2SKenneth D. Merry Mpi2ToolboxDiagnosticCliReply_t, 396991554f2SKenneth D. Merry MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t; 397991554f2SKenneth D. Merry 398991554f2SKenneth D. Merry /**************************************************************************** 399991554f2SKenneth D. Merry * Toolbox Console Text Display Tool 400991554f2SKenneth D. Merry ****************************************************************************/ 401991554f2SKenneth D. Merry 402991554f2SKenneth D. Merry /* Toolbox Console Text Display Tool request message */ 403991554f2SKenneth D. Merry typedef struct _MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST 404991554f2SKenneth D. Merry { 405991554f2SKenneth D. Merry U8 Tool; /* 0x00 */ 406991554f2SKenneth D. Merry U8 Reserved1; /* 0x01 */ 407991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 408991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 409991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 410991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 411991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 412991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 413991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 414991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 415991554f2SKenneth D. Merry U8 Console; /* 0x0C */ 416991554f2SKenneth D. Merry U8 Flags; /* 0x0D */ 417991554f2SKenneth D. Merry U16 Reserved6; /* 0x0E */ 418991554f2SKenneth D. Merry U8 TextToDisplay[4]; /* 0x10 */ /* actual length determined at runtime based on frame size */ 419991554f2SKenneth D. Merry } MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, 420991554f2SKenneth D. Merry MPI2_POINTER PTR_MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST, 421991554f2SKenneth D. Merry Mpi2ToolboxTextDisplayRequest_t, 422991554f2SKenneth D. Merry MPI2_POINTER pMpi2ToolboxTextDisplayRequest_t; 423991554f2SKenneth D. Merry 424991554f2SKenneth D. Merry /* defines for the Console field */ 425991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_TYPE_MASK (0xF0) 426991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_TYPE_DEFAULT (0x00) 427991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_TYPE_UART (0x10) 428991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_TYPE_ETHERNET (0x20) 429991554f2SKenneth D. Merry 430991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_NUMBER_MASK (0x0F) 431991554f2SKenneth D. Merry 432991554f2SKenneth D. Merry /* defines for the Flags field */ 433991554f2SKenneth D. Merry #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01) 434991554f2SKenneth D. Merry 435*8736c018SKashyap D Desai /**************************************************************************** 436*8736c018SKashyap D Desai * Toolbox Backend Lane Margining Tool 437*8736c018SKashyap D Desai ****************************************************************************/ 438*8736c018SKashyap D Desai 439*8736c018SKashyap D Desai /* Toolbox Backend Lane Margining Tool request message */ 440*8736c018SKashyap D Desai typedef struct _MPI26_TOOLBOX_LANE_MARGINING_REQUEST 441*8736c018SKashyap D Desai { 442*8736c018SKashyap D Desai U8 Tool; /* 0x00 */ 443*8736c018SKashyap D Desai U8 Reserved1; /* 0x01 */ 444*8736c018SKashyap D Desai U8 ChainOffset; /* 0x02 */ 445*8736c018SKashyap D Desai U8 Function; /* 0x03 */ 446*8736c018SKashyap D Desai U16 Reserved2; /* 0x04 */ 447*8736c018SKashyap D Desai U8 Reserved3; /* 0x06 */ 448*8736c018SKashyap D Desai U8 MsgFlags; /* 0x07 */ 449*8736c018SKashyap D Desai U8 VP_ID; /* 0x08 */ 450*8736c018SKashyap D Desai U8 VF_ID; /* 0x09 */ 451*8736c018SKashyap D Desai U16 Reserved4; /* 0x0A */ 452*8736c018SKashyap D Desai U8 Command; /* 0x0C */ 453*8736c018SKashyap D Desai U8 SwitchPort; /* 0x0D */ 454*8736c018SKashyap D Desai U16 DevHandle; /* 0x0E */ 455*8736c018SKashyap D Desai U8 RegisterOffset; /* 0x10 */ 456*8736c018SKashyap D Desai U8 Reserved5; /* 0x11 */ 457*8736c018SKashyap D Desai U16 DataLength; /* 0x12 */ 458*8736c018SKashyap D Desai MPI2_SGE_SIMPLE_UNION SGL; /* 0x14 */ 459*8736c018SKashyap D Desai } MPI26_TOOLBOX_LANE_MARGINING_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_LANE_MARGINING_REQUEST, 460*8736c018SKashyap D Desai Mpi26ToolboxLaneMarginingRequest_t, MPI2_POINTER pMpi2ToolboxLaneMarginingRequest_t; 461*8736c018SKashyap D Desai 462*8736c018SKashyap D Desai /* defines for the Command field */ 463*8736c018SKashyap D Desai #define MPI26_TOOL_MARGIN_COMMAND_ENTER_MARGIN_MODE (0x01) 464*8736c018SKashyap D Desai #define MPI26_TOOL_MARGIN_COMMAND_READ_REGISTER_DATA (0x02) 465*8736c018SKashyap D Desai #define MPI26_TOOL_MARGIN_COMMAND_WRITE_REGISTER_DATA (0x03) 466*8736c018SKashyap D Desai #define MPI26_TOOL_MARGIN_COMMAND_EXIT_MARGIN_MODE (0x04) 467*8736c018SKashyap D Desai 468*8736c018SKashyap D Desai /* Toolbox Backend Lane Margining Tool reply message */ 469*8736c018SKashyap D Desai typedef struct _MPI26_TOOLBOX_LANE_MARGINING_REPLY 470*8736c018SKashyap D Desai { 471*8736c018SKashyap D Desai U8 Tool; /* 0x00 */ 472*8736c018SKashyap D Desai U8 Reserved1; /* 0x01 */ 473*8736c018SKashyap D Desai U8 MsgLength; /* 0x02 */ 474*8736c018SKashyap D Desai U8 Function; /* 0x03 */ 475*8736c018SKashyap D Desai U16 Reserved2; /* 0x04 */ 476*8736c018SKashyap D Desai U8 Reserved3; /* 0x06 */ 477*8736c018SKashyap D Desai U8 MsgFlags; /* 0x07 */ 478*8736c018SKashyap D Desai U8 VP_ID; /* 0x08 */ 479*8736c018SKashyap D Desai U8 VF_ID; /* 0x09 */ 480*8736c018SKashyap D Desai U16 Reserved4; /* 0x0A */ 481*8736c018SKashyap D Desai U16 Reserved5; /* 0x0C */ 482*8736c018SKashyap D Desai U16 IOCStatus; /* 0x0E */ 483*8736c018SKashyap D Desai U32 IOCLogInfo; /* 0x10 */ 484*8736c018SKashyap D Desai U16 ReturnedDataLength; /* 0x14 */ 485*8736c018SKashyap D Desai U16 Reserved6; /* 0x16 */ 486*8736c018SKashyap D Desai } MPI26_TOOLBOX_LANE_MARGINING_REPLY, 487*8736c018SKashyap D Desai MPI2_POINTER PTR_MPI26_TOOLBOX_LANE_MARGINING_REPLY, 488*8736c018SKashyap D Desai Mpi26ToolboxLaneMarginingReply_t, 489*8736c018SKashyap D Desai MPI2_POINTER pMpi26ToolboxLaneMarginingReply_t; 490*8736c018SKashyap D Desai 491991554f2SKenneth D. Merry /***************************************************************************** 492991554f2SKenneth D. Merry * 493991554f2SKenneth D. Merry * Diagnostic Buffer Messages 494991554f2SKenneth D. Merry * 495991554f2SKenneth D. Merry *****************************************************************************/ 496991554f2SKenneth D. Merry 497991554f2SKenneth D. Merry /**************************************************************************** 498991554f2SKenneth D. Merry * Diagnostic Buffer Post request 499991554f2SKenneth D. Merry ****************************************************************************/ 500991554f2SKenneth D. Merry 501991554f2SKenneth D. Merry typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST 502991554f2SKenneth D. Merry { 503991554f2SKenneth D. Merry U8 ExtendedType; /* 0x00 */ 504991554f2SKenneth D. Merry U8 BufferType; /* 0x01 */ 505991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 506991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 507991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 508991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 509991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 510991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 511991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 512991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 513991554f2SKenneth D. Merry U64 BufferAddress; /* 0x0C */ 514991554f2SKenneth D. Merry U32 BufferLength; /* 0x14 */ 515991554f2SKenneth D. Merry U32 Reserved5; /* 0x18 */ 516991554f2SKenneth D. Merry U32 Reserved6; /* 0x1C */ 517991554f2SKenneth D. Merry U32 Flags; /* 0x20 */ 518991554f2SKenneth D. Merry U32 ProductSpecific[23]; /* 0x24 */ 519991554f2SKenneth D. Merry } MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST, 520991554f2SKenneth D. Merry Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t; 521991554f2SKenneth D. Merry 522991554f2SKenneth D. Merry /* values for the ExtendedType field */ 523991554f2SKenneth D. Merry #define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION (0x02) 524991554f2SKenneth D. Merry 525991554f2SKenneth D. Merry /* values for the BufferType field */ 526991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_TYPE_TRACE (0x00) 527991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01) 528991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_TYPE_EXTENDED (0x02) 529991554f2SKenneth D. Merry /* count of the number of buffer types */ 530991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_TYPE_COUNT (0x03) 531991554f2SKenneth D. Merry 532991554f2SKenneth D. Merry /* values for the Flags field */ 533991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL (0x00000002) /* for MPI v2.0 products only */ 534991554f2SKenneth D. Merry #define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE (0x00000001) 535991554f2SKenneth D. Merry 536991554f2SKenneth D. Merry /**************************************************************************** 537991554f2SKenneth D. Merry * Diagnostic Buffer Post reply 538991554f2SKenneth D. Merry ****************************************************************************/ 539991554f2SKenneth D. Merry 540991554f2SKenneth D. Merry typedef struct _MPI2_DIAG_BUFFER_POST_REPLY 541991554f2SKenneth D. Merry { 542991554f2SKenneth D. Merry U8 ExtendedType; /* 0x00 */ 543991554f2SKenneth D. Merry U8 BufferType; /* 0x01 */ 544991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 545991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 546991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 547991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 548991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 549991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 550991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 551991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 552991554f2SKenneth D. Merry U16 Reserved5; /* 0x0C */ 553991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 554991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 555991554f2SKenneth D. Merry U32 TransferLength; /* 0x14 */ 556991554f2SKenneth D. Merry } MPI2_DIAG_BUFFER_POST_REPLY, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REPLY, 557991554f2SKenneth D. Merry Mpi2DiagBufferPostReply_t, MPI2_POINTER pMpi2DiagBufferPostReply_t; 558991554f2SKenneth D. Merry 559991554f2SKenneth D. Merry /**************************************************************************** 560991554f2SKenneth D. Merry * Diagnostic Release request 561991554f2SKenneth D. Merry ****************************************************************************/ 562991554f2SKenneth D. Merry 563991554f2SKenneth D. Merry typedef struct _MPI2_DIAG_RELEASE_REQUEST 564991554f2SKenneth D. Merry { 565991554f2SKenneth D. Merry U8 Reserved1; /* 0x00 */ 566991554f2SKenneth D. Merry U8 BufferType; /* 0x01 */ 567991554f2SKenneth D. Merry U8 ChainOffset; /* 0x02 */ 568991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 569991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 570991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 571991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 572991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 573991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 574991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 575991554f2SKenneth D. Merry } MPI2_DIAG_RELEASE_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REQUEST, 576991554f2SKenneth D. Merry Mpi2DiagReleaseRequest_t, MPI2_POINTER pMpi2DiagReleaseRequest_t; 577991554f2SKenneth D. Merry 578991554f2SKenneth D. Merry /**************************************************************************** 579991554f2SKenneth D. Merry * Diagnostic Buffer Post reply 580991554f2SKenneth D. Merry ****************************************************************************/ 581991554f2SKenneth D. Merry 582991554f2SKenneth D. Merry typedef struct _MPI2_DIAG_RELEASE_REPLY 583991554f2SKenneth D. Merry { 584991554f2SKenneth D. Merry U8 Reserved1; /* 0x00 */ 585991554f2SKenneth D. Merry U8 BufferType; /* 0x01 */ 586991554f2SKenneth D. Merry U8 MsgLength; /* 0x02 */ 587991554f2SKenneth D. Merry U8 Function; /* 0x03 */ 588991554f2SKenneth D. Merry U16 Reserved2; /* 0x04 */ 589991554f2SKenneth D. Merry U8 Reserved3; /* 0x06 */ 590991554f2SKenneth D. Merry U8 MsgFlags; /* 0x07 */ 591991554f2SKenneth D. Merry U8 VP_ID; /* 0x08 */ 592991554f2SKenneth D. Merry U8 VF_ID; /* 0x09 */ 593991554f2SKenneth D. Merry U16 Reserved4; /* 0x0A */ 594991554f2SKenneth D. Merry U16 Reserved5; /* 0x0C */ 595991554f2SKenneth D. Merry U16 IOCStatus; /* 0x0E */ 596991554f2SKenneth D. Merry U32 IOCLogInfo; /* 0x10 */ 597991554f2SKenneth D. Merry } MPI2_DIAG_RELEASE_REPLY, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REPLY, 598991554f2SKenneth D. Merry Mpi2DiagReleaseReply_t, MPI2_POINTER pMpi2DiagReleaseReply_t; 599991554f2SKenneth D. Merry 600991554f2SKenneth D. Merry #endif 601