mpi2_tool.h revision 230592
1/*-
2 * Copyright (c) 2011 LSI Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * LSI MPT-Fusion Host Adapter FreeBSD
27 *
28 * $FreeBSD: head/sys/dev/mps/mpi/mpi2_tool.h 230592 2012-01-26 18:17:21Z ken $
29 */
30
31/*
32 *  Copyright (c) 2000-2011 LSI Corporation.
33 *
34 *
35 *           Name:  mpi2_tool.h
36 *          Title:  MPI diagnostic tool structures and definitions
37 *  Creation Date:  March 26, 2007
38 *
39 *    mpi2_tool.h Version:  02.00.06
40 *
41 *  Version History
42 *  ---------------
43 *
44 *  Date      Version   Description
45 *  --------  --------  ------------------------------------------------------
46 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
47 *  12-18-07  02.00.01  Added Diagnostic Buffer Post and Diagnostic Release
48 *                      structures and defines.
49 *  02-29-08  02.00.02  Modified various names to make them 32-character unique.
50 *  05-06-09  02.00.03  Added ISTWI Read Write Tool and Diagnostic CLI Tool.
51 *  07-30-09  02.00.04  Added ExtendedType field to DiagnosticBufferPost request
52 *                      and reply messages.
53 *                      Added MPI2_DIAG_BUF_TYPE_EXTENDED.
54 *                      Incremented MPI2_DIAG_BUF_TYPE_COUNT.
55 *  05-12-10  02.00.05  Added Diagnostic Data Upload tool.
56 *  08-11-10  02.00.06  Added defines that were missing for Diagnostic Buffer
57 *                      Post Request.
58 *  --------------------------------------------------------------------------
59 */
60
61#ifndef MPI2_TOOL_H
62#define MPI2_TOOL_H
63
64/*****************************************************************************
65*
66*               Toolbox Messages
67*
68*****************************************************************************/
69
70/* defines for the Tools */
71#define MPI2_TOOLBOX_CLEAN_TOOL                     (0x00)
72#define MPI2_TOOLBOX_MEMORY_MOVE_TOOL               (0x01)
73#define MPI2_TOOLBOX_DIAG_DATA_UPLOAD_TOOL          (0x02)
74#define MPI2_TOOLBOX_ISTWI_READ_WRITE_TOOL          (0x03)
75#define MPI2_TOOLBOX_BEACON_TOOL                    (0x05)
76#define MPI2_TOOLBOX_DIAGNOSTIC_CLI_TOOL            (0x06)
77
78
79/****************************************************************************
80*  Toolbox reply
81****************************************************************************/
82
83typedef struct _MPI2_TOOLBOX_REPLY
84{
85    U8                      Tool;                       /* 0x00 */
86    U8                      Reserved1;                  /* 0x01 */
87    U8                      MsgLength;                  /* 0x02 */
88    U8                      Function;                   /* 0x03 */
89    U16                     Reserved2;                  /* 0x04 */
90    U8                      Reserved3;                  /* 0x06 */
91    U8                      MsgFlags;                   /* 0x07 */
92    U8                      VP_ID;                      /* 0x08 */
93    U8                      VF_ID;                      /* 0x09 */
94    U16                     Reserved4;                  /* 0x0A */
95    U16                     Reserved5;                  /* 0x0C */
96    U16                     IOCStatus;                  /* 0x0E */
97    U32                     IOCLogInfo;                 /* 0x10 */
98} MPI2_TOOLBOX_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_REPLY,
99  Mpi2ToolboxReply_t, MPI2_POINTER pMpi2ToolboxReply_t;
100
101
102/****************************************************************************
103*  Toolbox Clean Tool request
104****************************************************************************/
105
106typedef struct _MPI2_TOOLBOX_CLEAN_REQUEST
107{
108    U8                      Tool;                       /* 0x00 */
109    U8                      Reserved1;                  /* 0x01 */
110    U8                      ChainOffset;                /* 0x02 */
111    U8                      Function;                   /* 0x03 */
112    U16                     Reserved2;                  /* 0x04 */
113    U8                      Reserved3;                  /* 0x06 */
114    U8                      MsgFlags;                   /* 0x07 */
115    U8                      VP_ID;                      /* 0x08 */
116    U8                      VF_ID;                      /* 0x09 */
117    U16                     Reserved4;                  /* 0x0A */
118    U32                     Flags;                      /* 0x0C */
119   } MPI2_TOOLBOX_CLEAN_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_CLEAN_REQUEST,
120  Mpi2ToolboxCleanRequest_t, MPI2_POINTER pMpi2ToolboxCleanRequest_t;
121
122/* values for the Flags field */
123#define MPI2_TOOLBOX_CLEAN_BOOT_SERVICES            (0x80000000)
124#define MPI2_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES   (0x40000000)
125#define MPI2_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES      (0x20000000)
126#define MPI2_TOOLBOX_CLEAN_FW_CURRENT               (0x10000000)
127#define MPI2_TOOLBOX_CLEAN_FW_BACKUP                (0x08000000)
128#define MPI2_TOOLBOX_CLEAN_MEGARAID                 (0x02000000)
129#define MPI2_TOOLBOX_CLEAN_INITIALIZATION           (0x01000000)
130#define MPI2_TOOLBOX_CLEAN_FLASH                    (0x00000004)
131#define MPI2_TOOLBOX_CLEAN_SEEPROM                  (0x00000002)
132#define MPI2_TOOLBOX_CLEAN_NVSRAM                   (0x00000001)
133
134
135/****************************************************************************
136*  Toolbox Memory Move request
137****************************************************************************/
138
139typedef struct _MPI2_TOOLBOX_MEM_MOVE_REQUEST
140{
141    U8                      Tool;                       /* 0x00 */
142    U8                      Reserved1;                  /* 0x01 */
143    U8                      ChainOffset;                /* 0x02 */
144    U8                      Function;                   /* 0x03 */
145    U16                     Reserved2;                  /* 0x04 */
146    U8                      Reserved3;                  /* 0x06 */
147    U8                      MsgFlags;                   /* 0x07 */
148    U8                      VP_ID;                      /* 0x08 */
149    U8                      VF_ID;                      /* 0x09 */
150    U16                     Reserved4;                  /* 0x0A */
151    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x0C */
152} MPI2_TOOLBOX_MEM_MOVE_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_MEM_MOVE_REQUEST,
153  Mpi2ToolboxMemMoveRequest_t, MPI2_POINTER pMpi2ToolboxMemMoveRequest_t;
154
155
156/****************************************************************************
157*  Toolbox Diagnostic Data Upload request
158****************************************************************************/
159
160typedef struct _MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST
161{
162    U8                      Tool;                       /* 0x00 */
163    U8                      Reserved1;                  /* 0x01 */
164    U8                      ChainOffset;                /* 0x02 */
165    U8                      Function;                   /* 0x03 */
166    U16                     Reserved2;                  /* 0x04 */
167    U8                      Reserved3;                  /* 0x06 */
168    U8                      MsgFlags;                   /* 0x07 */
169    U8                      VP_ID;                      /* 0x08 */
170    U8                      VF_ID;                      /* 0x09 */
171    U16                     Reserved4;                  /* 0x0A */
172    U8                      SGLFlags;                   /* 0x0C */
173    U8                      Reserved5;                  /* 0x0D */
174    U16                     Reserved6;                  /* 0x0E */
175    U32                     Flags;                      /* 0x10 */
176    U32                     DataLength;                 /* 0x14 */
177    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x18 */
178} MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
179  MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST,
180  Mpi2ToolboxDiagDataUploadRequest_t,
181  MPI2_POINTER pMpi2ToolboxDiagDataUploadRequest_t;
182
183/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
184
185
186typedef struct _MPI2_DIAG_DATA_UPLOAD_HEADER
187{
188    U32                     DiagDataLength;             /* 00h */
189    U8                      FormatCode;                 /* 04h */
190    U8                      Reserved1;                  /* 05h */
191    U16                     Reserved2;                  /* 06h */
192} MPI2_DIAG_DATA_UPLOAD_HEADER, MPI2_POINTER PTR_MPI2_DIAG_DATA_UPLOAD_HEADER,
193  Mpi2DiagDataUploadHeader_t, MPI2_POINTER pMpi2DiagDataUploadHeader_t;
194
195
196/****************************************************************************
197*  Toolbox ISTWI Read Write Tool
198****************************************************************************/
199
200/* Toolbox ISTWI Read Write Tool request message */
201typedef struct _MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST
202{
203    U8                      Tool;                       /* 0x00 */
204    U8                      Reserved1;                  /* 0x01 */
205    U8                      ChainOffset;                /* 0x02 */
206    U8                      Function;                   /* 0x03 */
207    U16                     Reserved2;                  /* 0x04 */
208    U8                      Reserved3;                  /* 0x06 */
209    U8                      MsgFlags;                   /* 0x07 */
210    U8                      VP_ID;                      /* 0x08 */
211    U8                      VF_ID;                      /* 0x09 */
212    U16                     Reserved4;                  /* 0x0A */
213    U32                     Reserved5;                  /* 0x0C */
214    U32                     Reserved6;                  /* 0x10 */
215    U8                      DevIndex;                   /* 0x14 */
216    U8                      Action;                     /* 0x15 */
217    U8                      SGLFlags;                   /* 0x16 */
218    U8                      Reserved7;                  /* 0x17 */
219    U16                     TxDataLength;               /* 0x18 */
220    U16                     RxDataLength;               /* 0x1A */
221    U32                     Reserved8;                  /* 0x1C */
222    U32                     Reserved9;                  /* 0x20 */
223    U32                     Reserved10;                 /* 0x24 */
224    U32                     Reserved11;                 /* 0x28 */
225    U32                     Reserved12;                 /* 0x2C */
226    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x30 */
227} MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST,
228  MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_READ_WRITE_REQUEST,
229  Mpi2ToolboxIstwiReadWriteRequest_t,
230  MPI2_POINTER pMpi2ToolboxIstwiReadWriteRequest_t;
231
232/* values for the Action field */
233#define MPI2_TOOL_ISTWI_ACTION_READ_DATA            (0x01)
234#define MPI2_TOOL_ISTWI_ACTION_WRITE_DATA           (0x02)
235#define MPI2_TOOL_ISTWI_ACTION_SEQUENCE             (0x03)
236#define MPI2_TOOL_ISTWI_ACTION_RESERVE_BUS          (0x10)
237#define MPI2_TOOL_ISTWI_ACTION_RELEASE_BUS          (0x11)
238#define MPI2_TOOL_ISTWI_ACTION_RESET                (0x12)
239
240/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
241
242
243/* Toolbox ISTWI Read Write Tool reply message */
244typedef struct _MPI2_TOOLBOX_ISTWI_REPLY
245{
246    U8                      Tool;                       /* 0x00 */
247    U8                      Reserved1;                  /* 0x01 */
248    U8                      MsgLength;                  /* 0x02 */
249    U8                      Function;                   /* 0x03 */
250    U16                     Reserved2;                  /* 0x04 */
251    U8                      Reserved3;                  /* 0x06 */
252    U8                      MsgFlags;                   /* 0x07 */
253    U8                      VP_ID;                      /* 0x08 */
254    U8                      VF_ID;                      /* 0x09 */
255    U16                     Reserved4;                  /* 0x0A */
256    U16                     Reserved5;                  /* 0x0C */
257    U16                     IOCStatus;                  /* 0x0E */
258    U32                     IOCLogInfo;                 /* 0x10 */
259    U8                      DevIndex;                   /* 0x14 */
260    U8                      Action;                     /* 0x15 */
261    U8                      IstwiStatus;                /* 0x16 */
262    U8                      Reserved6;                  /* 0x17 */
263    U16                     TxDataCount;                /* 0x18 */
264    U16                     RxDataCount;                /* 0x1A */
265} MPI2_TOOLBOX_ISTWI_REPLY, MPI2_POINTER PTR_MPI2_TOOLBOX_ISTWI_REPLY,
266  Mpi2ToolboxIstwiReply_t, MPI2_POINTER pMpi2ToolboxIstwiReply_t;
267
268
269/****************************************************************************
270*  Toolbox Beacon Tool request
271****************************************************************************/
272
273typedef struct _MPI2_TOOLBOX_BEACON_REQUEST
274{
275    U8                      Tool;                       /* 0x00 */
276    U8                      Reserved1;                  /* 0x01 */
277    U8                      ChainOffset;                /* 0x02 */
278    U8                      Function;                   /* 0x03 */
279    U16                     Reserved2;                  /* 0x04 */
280    U8                      Reserved3;                  /* 0x06 */
281    U8                      MsgFlags;                   /* 0x07 */
282    U8                      VP_ID;                      /* 0x08 */
283    U8                      VF_ID;                      /* 0x09 */
284    U16                     Reserved4;                  /* 0x0A */
285    U8                      Reserved5;                  /* 0x0C */
286    U8                      PhysicalPort;               /* 0x0D */
287    U8                      Reserved6;                  /* 0x0E */
288    U8                      Flags;                      /* 0x0F */
289} MPI2_TOOLBOX_BEACON_REQUEST, MPI2_POINTER PTR_MPI2_TOOLBOX_BEACON_REQUEST,
290  Mpi2ToolboxBeaconRequest_t, MPI2_POINTER pMpi2ToolboxBeaconRequest_t;
291
292/* values for the Flags field */
293#define MPI2_TOOLBOX_FLAGS_BEACONMODE_OFF       (0x00)
294#define MPI2_TOOLBOX_FLAGS_BEACONMODE_ON        (0x01)
295
296
297/****************************************************************************
298*  Toolbox Diagnostic CLI Tool
299****************************************************************************/
300
301#define MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH    (0x5C)
302
303/* Toolbox Diagnostic CLI Tool request message */
304typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST
305{
306    U8                      Tool;                       /* 0x00 */
307    U8                      Reserved1;                  /* 0x01 */
308    U8                      ChainOffset;                /* 0x02 */
309    U8                      Function;                   /* 0x03 */
310    U16                     Reserved2;                  /* 0x04 */
311    U8                      Reserved3;                  /* 0x06 */
312    U8                      MsgFlags;                   /* 0x07 */
313    U8                      VP_ID;                      /* 0x08 */
314    U8                      VF_ID;                      /* 0x09 */
315    U16                     Reserved4;                  /* 0x0A */
316    U8                      SGLFlags;                   /* 0x0C */
317    U8                      Reserved5;                  /* 0x0D */
318    U16                     Reserved6;                  /* 0x0E */
319    U32                     DataLength;                 /* 0x10 */
320    U8                      DiagnosticCliCommand[MPI2_TOOLBOX_DIAG_CLI_CMD_LENGTH]; /* 0x14 */
321    MPI2_SGE_SIMPLE_UNION   SGL;                        /* 0x70 */
322} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
323  MPI2_POINTER PTR_MPI2_TOOLBOX_DIAGNOSTIC_CLI_REQUEST,
324  Mpi2ToolboxDiagnosticCliRequest_t,
325  MPI2_POINTER pMpi2ToolboxDiagnosticCliRequest_t;
326
327/* use MPI2_SGLFLAGS_ defines from mpi2.h for the SGLFlags field */
328
329
330/* Toolbox Diagnostic CLI Tool reply message */
331typedef struct _MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY
332{
333    U8                      Tool;                       /* 0x00 */
334    U8                      Reserved1;                  /* 0x01 */
335    U8                      MsgLength;                  /* 0x02 */
336    U8                      Function;                   /* 0x03 */
337    U16                     Reserved2;                  /* 0x04 */
338    U8                      Reserved3;                  /* 0x06 */
339    U8                      MsgFlags;                   /* 0x07 */
340    U8                      VP_ID;                      /* 0x08 */
341    U8                      VF_ID;                      /* 0x09 */
342    U16                     Reserved4;                  /* 0x0A */
343    U16                     Reserved5;                  /* 0x0C */
344    U16                     IOCStatus;                  /* 0x0E */
345    U32                     IOCLogInfo;                 /* 0x10 */
346    U32                     ReturnedDataLength;         /* 0x14 */
347} MPI2_TOOLBOX_DIAGNOSTIC_CLI_REPLY,
348  MPI2_POINTER PTR_MPI2_TOOLBOX_DIAG_CLI_REPLY,
349  Mpi2ToolboxDiagnosticCliReply_t,
350  MPI2_POINTER pMpi2ToolboxDiagnosticCliReply_t;
351
352
353/*****************************************************************************
354*
355*       Diagnostic Buffer Messages
356*
357*****************************************************************************/
358
359
360/****************************************************************************
361*  Diagnostic Buffer Post request
362****************************************************************************/
363
364typedef struct _MPI2_DIAG_BUFFER_POST_REQUEST
365{
366    U8                      ExtendedType;               /* 0x00 */
367    U8                      BufferType;                 /* 0x01 */
368    U8                      ChainOffset;                /* 0x02 */
369    U8                      Function;                   /* 0x03 */
370    U16                     Reserved2;                  /* 0x04 */
371    U8                      Reserved3;                  /* 0x06 */
372    U8                      MsgFlags;                   /* 0x07 */
373    U8                      VP_ID;                      /* 0x08 */
374    U8                      VF_ID;                      /* 0x09 */
375    U16                     Reserved4;                  /* 0x0A */
376    U64                     BufferAddress;              /* 0x0C */
377    U32                     BufferLength;               /* 0x14 */
378    U32                     Reserved5;                  /* 0x18 */
379    U32                     Reserved6;                  /* 0x1C */
380    U32                     Flags;                      /* 0x20 */
381    U32                     ProductSpecific[23];        /* 0x24 */
382} MPI2_DIAG_BUFFER_POST_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REQUEST,
383  Mpi2DiagBufferPostRequest_t, MPI2_POINTER pMpi2DiagBufferPostRequest_t;
384
385/* values for the ExtendedType field */
386#define MPI2_DIAG_EXTENDED_TYPE_UTILIZATION         (0x02)
387
388/* values for the BufferType field */
389#define MPI2_DIAG_BUF_TYPE_TRACE                    (0x00)
390#define MPI2_DIAG_BUF_TYPE_SNAPSHOT                 (0x01)
391#define MPI2_DIAG_BUF_TYPE_EXTENDED                 (0x02)
392/* count of the number of buffer types */
393#define MPI2_DIAG_BUF_TYPE_COUNT                    (0x03)
394
395/* values for the Flags field */
396#define MPI2_DIAG_BUF_FLAG_RELEASE_ON_FULL          (0x00000002)
397#define MPI2_DIAG_BUF_FLAG_IMMEDIATE_RELEASE        (0x00000001)
398
399
400/****************************************************************************
401*  Diagnostic Buffer Post reply
402****************************************************************************/
403
404typedef struct _MPI2_DIAG_BUFFER_POST_REPLY
405{
406    U8                      ExtendedType;               /* 0x00 */
407    U8                      BufferType;                 /* 0x01 */
408    U8                      MsgLength;                  /* 0x02 */
409    U8                      Function;                   /* 0x03 */
410    U16                     Reserved2;                  /* 0x04 */
411    U8                      Reserved3;                  /* 0x06 */
412    U8                      MsgFlags;                   /* 0x07 */
413    U8                      VP_ID;                      /* 0x08 */
414    U8                      VF_ID;                      /* 0x09 */
415    U16                     Reserved4;                  /* 0x0A */
416    U16                     Reserved5;                  /* 0x0C */
417    U16                     IOCStatus;                  /* 0x0E */
418    U32                     IOCLogInfo;                 /* 0x10 */
419    U32                     TransferLength;             /* 0x14 */
420} MPI2_DIAG_BUFFER_POST_REPLY, MPI2_POINTER PTR_MPI2_DIAG_BUFFER_POST_REPLY,
421  Mpi2DiagBufferPostReply_t, MPI2_POINTER pMpi2DiagBufferPostReply_t;
422
423
424/****************************************************************************
425*  Diagnostic Release request
426****************************************************************************/
427
428typedef struct _MPI2_DIAG_RELEASE_REQUEST
429{
430    U8                      Reserved1;                  /* 0x00 */
431    U8                      BufferType;                 /* 0x01 */
432    U8                      ChainOffset;                /* 0x02 */
433    U8                      Function;                   /* 0x03 */
434    U16                     Reserved2;                  /* 0x04 */
435    U8                      Reserved3;                  /* 0x06 */
436    U8                      MsgFlags;                   /* 0x07 */
437    U8                      VP_ID;                      /* 0x08 */
438    U8                      VF_ID;                      /* 0x09 */
439    U16                     Reserved4;                  /* 0x0A */
440} MPI2_DIAG_RELEASE_REQUEST, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REQUEST,
441  Mpi2DiagReleaseRequest_t, MPI2_POINTER pMpi2DiagReleaseRequest_t;
442
443
444/****************************************************************************
445*  Diagnostic Buffer Post reply
446****************************************************************************/
447
448typedef struct _MPI2_DIAG_RELEASE_REPLY
449{
450    U8                      Reserved1;                  /* 0x00 */
451    U8                      BufferType;                 /* 0x01 */
452    U8                      MsgLength;                  /* 0x02 */
453    U8                      Function;                   /* 0x03 */
454    U16                     Reserved2;                  /* 0x04 */
455    U8                      Reserved3;                  /* 0x06 */
456    U8                      MsgFlags;                   /* 0x07 */
457    U8                      VP_ID;                      /* 0x08 */
458    U8                      VF_ID;                      /* 0x09 */
459    U16                     Reserved4;                  /* 0x0A */
460    U16                     Reserved5;                  /* 0x0C */
461    U16                     IOCStatus;                  /* 0x0E */
462    U32                     IOCLogInfo;                 /* 0x10 */
463} MPI2_DIAG_RELEASE_REPLY, MPI2_POINTER PTR_MPI2_DIAG_RELEASE_REPLY,
464  Mpi2DiagReleaseReply_t, MPI2_POINTER pMpi2DiagReleaseReply_t;
465
466
467#endif
468
469