2 * Copyright (c) 2012-2015 LSI Corp.
3 * Copyright (c) 2013-2016 Avago Technologies
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of the author nor the names of any co-contributors
15 * may be used to endorse or promote products derived from this software
16 * without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD
36 * Copyright (c) 2000-2015 LSI Corporation.
37 * Copyright (c) 2013-2016 Avago Technologies
38 * All rights reserved.
42 * Title: MPI diagnostic tool structures and definitions
43 * Creation Date: March 26, 2007
45 * mpi2_tool.h Version: 02.00.13
50 * Date Version Description
51 * -------- -------- ------------------------------------------------------
52 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A.
53 * 12-18-07 02.00.01 Added Diagnostic Buffer Post and Diagnostic Release
54 * structures and defines.
55 * 02-29-08 02.00.02 Modified various names to make them 32-character unique.
56 * 05-06-09 02.00.03 Added ISTWI Read Write Tool and Diagnostic CLI Tool.
57 * 07-30-09 02.00.04 Added ExtendedType field to DiagnosticBufferPost request
59 * Added MPI2_DIAG_BUF_TYPE_EXTENDED.
60 * Incremented MPI2_DIAG_BUF_TYPE_COUNT.
61 * 05-12-10 02.00.05 Added Diagnostic Data Upload tool.
62 * 08-11-10 02.00.06 Added defines that were missing for Diagnostic Buffer
64 * 05-25-11 02.00.07 Added Flags field and related defines to
65 * MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST.
66 * 11-18-11 02.00.08 Incorporating additions for MPI v2.5.
67 * 07-10-12 02.00.09 Add MPI v2.5 Toolbox Diagnostic CLI Tool Request
69 * 07-26-12 02.00.10 Modified MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST so that
70 * it uses MPI Chain SGE as well as MPI Simple SGE.
71 * 08-19-13 02.00.11 Added MPI2_TOOLBOX_TEXT_DISPLAY_TOOL and related info.
72 * 01-08-14 02.00.12 Added MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC.
73 * 11-18-14 02.00.13 Updated copyright information.
74 * --------------------------------------------------------------------------
80 /*****************************************************************************
84 *****************************************************************************/
86 /* defines for the Tools */
87 #define MPI2_TOOLBOX_CLEAN_TOOL (0x00)
88 #define MPI2_TOOLBOX_MEMORY_MOVE_TOOL (0x01)
89 #define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL (0x02)
90 #define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL (0x03)
91 #define MPI2_TOOLBOX_BEACON_TOOL (0x05)
92 #define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL (0x06)
93 #define MPI2_TOOLBOX_TEXT_DISPLAY_TOOL (0x07)
96 /****************************************************************************
98 ****************************************************************************/
100 typedef struct _MPI2_TOOLBOX_REPLY
103 U8 Reserved1; /* 0x01 */
104 U8 MsgLength; /* 0x02 */
105 U8 Function; /* 0x03 */
106 U16 Reserved2; /* 0x04 */
107 U8 Reserved3; /* 0x06 */
108 U8 MsgFlags; /* 0x07 */
111 U16 Reserved4; /* 0x0A */
112 U16 Reserved5; /* 0x0C */
113 U16 IOCStatus; /* 0x0E */
114 U32 IOCLogInfo; /* 0x10 */
115 } MPI2_TOOLBOX_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_REPLY,
116 Mpi2ToolboxReply_t, MPI2_POINTER pMpi2ToolboxReply_t;
119 /****************************************************************************
120 * Toolbox Clean Tool request
121 ****************************************************************************/
123 typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST
126 U8 Reserved1; /* 0x01 */
127 U8 ChainOffset; /* 0x02 */
128 U8 Function; /* 0x03 */
129 U16 Reserved2; /* 0x04 */
130 U8 Reserved3; /* 0x06 */
131 U8 MsgFlags; /* 0x07 */
134 U16 Reserved4; /* 0x0A */
135 U32 Flags; /* 0x0C */
136 } MPI2_TOOLBOX_CLEAN_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_CLEAN_REQUEST,
137 Mpi2ToolboxCleanRequest_t, MPI2_POINTER pMpi2ToolboxCleanRequest_t;
139 /* values for the Flags field */
140 #define MPI2_TOOLBOX_CLEAN_BOOT_SERVICES (0x80000000)
141 #define MPI2_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES (0x40000000)
142 #define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES (0x20000000)
143 #define MPI2_TOOLBOX_CLEAN_FW_CURRENT (0x10000000)
144 #define MPI2_TOOLBOX_CLEAN_FW_BACKUP (0x08000000)
145 #define MPI2_TOOLBOX_CLEAN_BIT26_PRODUCT_SPECIFIC (0x04000000)
146 #define MPI2_TOOLBOX_CLEAN_MEGARAID (0x02000000)
147 #define MPI2_TOOLBOX_CLEAN_INITIALIZATION (0x01000000)
148 #define MPI2_TOOLBOX_CLEAN_FLASH (0x00000004)
149 #define MPI2_TOOLBOX_CLEAN_SEEPROM (0x00000002)
150 #define MPI2_TOOLBOX_CLEAN_NVSRAM (0x00000001)
153 /****************************************************************************
154 * Toolbox Memory Move request
155 ****************************************************************************/
157 typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST
160 U8 Reserved1; /* 0x01 */
161 U8 ChainOffset; /* 0x02 */
162 U8 Function; /* 0x03 */
163 U16 Reserved2; /* 0x04 */
164 U8 Reserved3; /* 0x06 */
165 U8 MsgFlags; /* 0x07 */
168 U16 Reserved4; /* 0x0A */
169 MPI2_SGE_SIMPLE_UNION SGL; /* 0x0C */
170 } MPI2_TOOLBOX_MEM_MOVE_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST,
171 Mpi2ToolboxMemMoveRequest_t, MPI2_POINTER pMpi2ToolboxMemMoveRequest_t;
174 /****************************************************************************
175 * Toolbox Diagnostic Data Upload request
176 ****************************************************************************/
178 typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST
181 U8 Reserved1; /* 0x01 */
182 U8 ChainOffset; /* 0x02 */
183 U8 Function; /* 0x03 */
184 U16 Reserved2; /* 0x04 */
185 U8 Reserved3; /* 0x06 */
186 U8 MsgFlags; /* 0x07 */
189 U16 Reserved4; /* 0x0A */
190 U8 SGLFlags; /* 0x0C */
191 U8 Reserved5; /* 0x0D */
192 U16 Reserved6; /* 0x0E */
193 U32 Flags; /* 0x10 */
194 U32 DataLength; /* 0x14 */
195 MPI2_SGE_SIMPLE_UNION SGL; /* 0x18 */
196 } MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
197 MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
198 Mpi2ToolboxDiagDataUploadRequest_t,
199 MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t;
201 /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
204 typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER
206 U32 DiagDataLength; /* 00h */
207 U8 FormatCode; /* 04h */
208 U8 Reserved1; /* 05h */
209 U16 Reserved2; /* 06h */
210 } MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER,
211 Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t;
214 /****************************************************************************
215 * Toolbox ISTWI Read Write Tool
216 ****************************************************************************/
218 /* Toolbox ISTWI Read Write Tool request message */
219 typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST
222 U8 Reserved1; /* 0x01 */
223 U8 ChainOffset; /* 0x02 */
224 U8 Function; /* 0x03 */
225 U16 Reserved2; /* 0x04 */
226 U8 Reserved3; /* 0x06 */
227 U8 MsgFlags; /* 0x07 */
230 U16 Reserved4; /* 0x0A */
231 U32 Reserved5; /* 0x0C */
232 U32 Reserved6; /* 0x10 */
233 U8 DevIndex; /* 0x14 */
234 U8 Action; /* 0x15 */
235 U8 SGLFlags; /* 0x16 */
237 U16 TxDataLength; /* 0x18 */
238 U16 RxDataLength; /* 0x1A */
239 U32 Reserved8; /* 0x1C */
240 U32 Reserved9; /* 0x20 */
241 U32 Reserved10; /* 0x24 */
242 U32 Reserved11; /* 0x28 */
243 U32 Reserved12; /* 0x2C */
244 MPI2_SGE_SIMPLE_UNION SGL; /* 0x30 */
245 } MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST,
246 MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST,
247 Mpi2ToolboxIstwiReadWriteRequest_t,
248 MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t;
250 /* values for the Action field */
251 #define MPI2_TOOL_ISTWI_ACTION_READ_DATA (0x01)
252 #define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA (0x02)
253 #define MPI2_TOOL_ISTWI_ACTION_SEQUENCE (0x03)
254 #define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS (0x10)
255 #define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS (0x11)
256 #define MPI2_TOOL_ISTWI_ACTION_RESET (0x12)
258 /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
260 /* values for the Flags field */
261 #define MPI2_TOOL_ISTWI_FLAG_AUTO_RESERVE_RELEASE (0x80)
262 #define MPI2_TOOL_ISTWI_FLAG_PAGE_ADDR_MASK (0x07)
265 /* Toolbox ISTWI Read Write Tool reply message */
266 typedef struct _MPI2_TOOLBOX_ISTWI_REPLY
269 U8 Reserved1; /* 0x01 */
270 U8 MsgLength; /* 0x02 */
271 U8 Function; /* 0x03 */
272 U16 Reserved2; /* 0x04 */
273 U8 Reserved3; /* 0x06 */
274 U8 MsgFlags; /* 0x07 */
277 U16 Reserved4; /* 0x0A */
278 U16 Reserved5; /* 0x0C */
279 U16 IOCStatus; /* 0x0E */
280 U32 IOCLogInfo; /* 0x10 */
281 U8 DevIndex; /* 0x14 */
282 U8 Action; /* 0x15 */
283 U8 IstwiStatus; /* 0x16 */
284 U8 Reserved6; /* 0x17 */
285 U16 TxDataCount; /* 0x18 */
286 U16 RxDataCount; /* 0x1A */
287 } MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY,
288 Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t;
291 /****************************************************************************
292 * Toolbox Beacon Tool request
293 ****************************************************************************/
295 typedef struct _MPI2_TOOLBOX_BEACON_REQUEST
298 U8 Reserved1; /* 0x01 */
299 U8 ChainOffset; /* 0x02 */
300 U8 Function; /* 0x03 */
301 U16 Reserved2; /* 0x04 */
302 U8 Reserved3; /* 0x06 */
303 U8 MsgFlags; /* 0x07 */
306 U16 Reserved4; /* 0x0A */
307 U8 Reserved5; /* 0x0C */
308 U8 PhysicalPort; /* 0x0D */
309 U8 Reserved6; /* 0x0E */
311 } MPI2_TOOLBOX_BEACON_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_BEACON_REQUEST,
312 Mpi2ToolboxBeaconRequest_t, MPI2_POINTER pMpi2ToolboxBeaconRequest_t;
314 /* values for the Flags field */
315 #define MPI2_TOOLBOX_FLAGS_BEACONMODE_OFF (0x00)
316 #define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON (0x01)
319 /****************************************************************************
320 * Toolbox Diagnostic CLI Tool
321 ****************************************************************************/
323 #define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH (0x5C)
325 /* MPI v2.0 Toolbox Diagnostic CLI Tool request message */
326 typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST
329 U8 Reserved1; /* 0x01 */
330 U8 ChainOffset; /* 0x02 */
331 U8 Function; /* 0x03 */
332 U16 Reserved2; /* 0x04 */
333 U8 Reserved3; /* 0x06 */
334 U8 MsgFlags; /* 0x07 */
337 U16 Reserved4; /* 0x0A */
338 U8 SGLFlags; /* 0x0C */
339 U8 Reserved5; /* 0x0D */
340 U16 Reserved6; /* 0x0E */
341 U32 DataLength; /* 0x10 */
342 U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */
343 MPI2_MPI_SGE_IO_UNION SGL; /* 0x70 */
344 } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
345 MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
346 Mpi2ToolboxDiagnosticCliRequest_t,
347 MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t;
349 /* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
352 /* MPI v2.5 Toolbox Diagnostic CLI Tool request message */
353 typedef struct _MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST
356 U8 Reserved1; /* 0x01 */
357 U8 ChainOffset; /* 0x02 */
358 U8 Function; /* 0x03 */
359 U16 Reserved2; /* 0x04 */
360 U8 Reserved3; /* 0x06 */
361 U8 MsgFlags; /* 0x07 */
364 U16 Reserved4; /* 0x0A */
365 U32 Reserved5; /* 0x0C */
366 U32 DataLength; /* 0x10 */
367 U8 DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */
368 MPI25_SGE_IO_UNION SGL; /* 0x70 */
369 } MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
370 MPI2_POINTER PTR_MPI25_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
371 Mpi25ToolboxDiagnosticCliRequest_t,
372 MPI2_POINTER pMpi25ToolboxDiagnosticCliRequest_t;
375 /* Toolbox Diagnostic CLI Tool reply message */
376 typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY
379 U8 Reserved1; /* 0x01 */
380 U8 MsgLength; /* 0x02 */
381 U8 Function; /* 0x03 */
382 U16 Reserved2; /* 0x04 */
383 U8 Reserved3; /* 0x06 */
384 U8 MsgFlags; /* 0x07 */
387 U16 Reserved4; /* 0x0A */
388 U16 Reserved5; /* 0x0C */
389 U16 IOCStatus; /* 0x0E */
390 U32 IOCLogInfo; /* 0x10 */
391 U32 ReturnedDataLength; /* 0x14 */
392 } MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY,
393 MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY,
394 Mpi2ToolboxDiagnosticCliReply_t,
395 MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t;
398 /****************************************************************************
399 * Toolbox Console Text Display Tool
400 ****************************************************************************/
402 /* Toolbox Console Text Display Tool request message */
403 typedef struct _MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST
406 U8 Reserved1; /* 0x01 */
407 U8 ChainOffset; /* 0x02 */
408 U8 Function; /* 0x03 */
409 U16 Reserved2; /* 0x04 */
410 U8 Reserved3; /* 0x06 */
411 U8 MsgFlags; /* 0x07 */
414 U16 Reserved4; /* 0x0A */
415 U8 Console; /* 0x0C */
417 U16 Reserved6; /* 0x0E */
418 U8 TextToDisplay[4]; /* 0x10 */ /* actual length determined at runtime based on frame size */
419 } MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST,
420 MPI2_POINTER PTR_MPI2_TOOLBOX_TEXT_DISPLAY_REQUEST,
421 Mpi2ToolboxTextDisplayRequest_t,
422 MPI2_POINTER pMpi2ToolboxTextDisplayRequest_t;
424 /* defines for the Console field */
425 #define MPI2_TOOLBOX_CONSOLE_TYPE_MASK (0xF0)
426 #define MPI2_TOOLBOX_CONSOLE_TYPE_DEFAULT (0x00)
427 #define MPI2_TOOLBOX_CONSOLE_TYPE_UART (0x10)
428 #define MPI2_TOOLBOX_CONSOLE_TYPE_ETHERNET (0x20)
430 #define MPI2_TOOLBOX_CONSOLE_NUMBER_MASK (0x0F)
432 /* defines for the Flags field */
433 #define MPI2_TOOLBOX_CONSOLE_FLAG_TIMESTAMP (0x01)
437 /*****************************************************************************
439 * Diagnostic Buffer Messages
441 *****************************************************************************/
444 /****************************************************************************
445 * Diagnostic Buffer Post request
446 ****************************************************************************/
448 typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST
450 U8 ExtendedType; /* 0x00 */
451 U8 BufferType; /* 0x01 */
452 U8 ChainOffset; /* 0x02 */
453 U8 Function; /* 0x03 */
454 U16 Reserved2; /* 0x04 */
455 U8 Reserved3; /* 0x06 */
456 U8 MsgFlags; /* 0x07 */
459 U16 Reserved4; /* 0x0A */
460 U64 BufferAddress; /* 0x0C */
461 U32 BufferLength; /* 0x14 */
462 U32 Reserved5; /* 0x18 */
463 U32 Reserved6; /* 0x1C */
464 U32 Flags; /* 0x20 */
465 U32 ProductSpecific[23]; /* 0x24 */
466 } MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST,
467 Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t;
469 /* values for the ExtendedType field */
470 #define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION (0x02)
472 /* values for the BufferType field */
473 #define MPI2_DIAG_BUF_TYPE_TRACE (0x00)
474 #define MPI2_DIAG_BUF_TYPE_SNAPSHOT (0x01)
475 #define MPI2_DIAG_BUF_TYPE_EXTENDED (0x02)
476 /* count of the number of buffer types */
477 #define MPI2_DIAG_BUF_TYPE_COUNT (0x03)
479 /* values for the Flags field */
480 #define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL (0x00000002) /* for MPI v2.0 products only */
481 #define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE (0x00000001)
484 /****************************************************************************
485 * Diagnostic Buffer Post reply
486 ****************************************************************************/
488 typedef struct _MPI2_DIAG_BUFFER_POST_REPLY
490 U8 ExtendedType; /* 0x00 */
491 U8 BufferType; /* 0x01 */
492 U8 MsgLength; /* 0x02 */
493 U8 Function; /* 0x03 */
494 U16 Reserved2; /* 0x04 */
495 U8 Reserved3; /* 0x06 */
496 U8 MsgFlags; /* 0x07 */
499 U16 Reserved4; /* 0x0A */
500 U16 Reserved5; /* 0x0C */
501 U16 IOCStatus; /* 0x0E */
502 U32 IOCLogInfo; /* 0x10 */
503 U32 TransferLength; /* 0x14 */
504 } MPI2_DIAG_BUFFER_POST_REPLY, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REPLY,
505 Mpi2DiagBufferPostReply_t, MPI2_POINTER pMpi2DiagBufferPostReply_t;
508 /****************************************************************************
509 * Diagnostic Release request
510 ****************************************************************************/
512 typedef struct _MPI2_DIAG_RELEASE_REQUEST
514 U8 Reserved1; /* 0x00 */
515 U8 BufferType; /* 0x01 */
516 U8 ChainOffset; /* 0x02 */
517 U8 Function; /* 0x03 */
518 U16 Reserved2; /* 0x04 */
519 U8 Reserved3; /* 0x06 */
520 U8 MsgFlags; /* 0x07 */
523 U16 Reserved4; /* 0x0A */
524 } MPI2_DIAG_RELEASE_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REQUEST,
525 Mpi2DiagReleaseRequest_t, MPI2_POINTER pMpi2DiagReleaseRequest_t;
528 /****************************************************************************
529 * Diagnostic Buffer Post reply
530 ****************************************************************************/
532 typedef struct _MPI2_DIAG_RELEASE_REPLY
534 U8 Reserved1; /* 0x00 */
535 U8 BufferType; /* 0x01 */
536 U8 MsgLength; /* 0x02 */
537 U8 Function; /* 0x03 */
538 U16 Reserved2; /* 0x04 */
539 U8 Reserved3; /* 0x06 */
540 U8 MsgFlags; /* 0x07 */
543 U16 Reserved4; /* 0x0A */
544 U16 Reserved5; /* 0x0C */
545 U16 IOCStatus; /* 0x0E */
546 U32 IOCLogInfo; /* 0x10 */
547 } MPI2_DIAG_RELEASE_REPLY, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REPLY,
548 Mpi2DiagReleaseReply_t, MPI2_POINTER pMpi2DiagReleaseReply_t;