U8
cfgp->Header.PageNumber = (U8) PageNumber;
cfgp->Header.PageType = (U8) PageType;
U8 Action; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 Reserved2[8]; /* 0Ch */
U8 Action; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 Reserved2[2]; /* 0Ch */
U8 ChipName[16]; /* 04h */
U8 ChipRevision[8]; /* 14h */
U8 BoardName[16]; /* 1Ch */
U8 BoardAssembly[16]; /* 2Ch */
U8 BoardTracerNumber[16]; /* 3Ch */
U8 VPD[256]; /* 04h */
typedef U8 *PU8;
U8 PCIRevisionID; /* 02h */
U8 Reserved; /* 03h */
U8 InfoOffset0; /* 08h */
U8 InfoSize0; /* 09h */
U8 InfoOffset1; /* 0Ah */
U8 InfoSize1; /* 0Bh */
U8 InquirySize; /* 0Ch */
U8 Reserved2; /* 0Dh */
U8 InquiryData[56]; /* 10h */
U8 PciBusNumber; /* 00h */
U8 PciDeviceAndFunctionNumber; /* 01h */
U8 GPIOCount; /* 04h */
U8 Reserved1; /* 05h */
U8 RevisionID; /* 10h */
U8 Reserved[3]; /* 11h */
U8 CoalescingDepth; /* 0Ch */
U8 Reserved[3]; /* 0Dh */
U8 VolumeID; /* 00h */
U8 VolumeBus; /* 01h */
U8 VolumeIOC; /* 02h */
U8 VolumePageNumber; /* 03h */
U8 VolumeType; /* 04h */
U8 Reserved2; /* 05h */
U8 NumActiveVolumes; /* 08h */
U8 MaxVolumes; /* 09h */
U8 NumActivePhysDisks; /* 0Ah */
U8 MaxPhysDisks; /* 0Bh */
U8 PhysDiskID; /* 00h */
U8 PhysDiskBus; /* 01h */
U8 PhysDiskIOC; /* 02h */
U8 PhysDiskNum; /* 03h */
U8 NumPhysDisks; /* 04h */
U8 Reserved1; /* 05h */
U8 SEPTargetID; /* 00h */
U8 SEPBus; /* 01h */
U8 ActiveSEP; /* 04h */
U8 MaxSEP; /* 05h */
U8 Timeout; /* 00h */
U8 SyncFactor; /* 01h */
U8 MPIPortNumber; /* 08h */
U8 LinkType; /* 09h */
U8 PortState; /* 0Ah */
U8 Reserved; /* 0Bh */
U8 HardALPA; /* 18h */
U8 LinkConfig; /* 19h */
U8 TopologyConfig; /* 1Ah */
U8 Reserved; /* 1Bh */
U8 NumberActive; /* 04h */
U8 ALPA[127]; /* 05h */
U8 TargetID; /* 10h */
U8 Bus; /* 11h */
U8 Flags; /* 00h */
U8 AliasAlpa; /* 01h */
U8 PortSymbolicName[256]; /* 08h */
U8 IPAddress[16]; /* 28h */
U8 Protocol; /* 18h */
U8 Flags; /* 19h */
U8 Reserved1; /* 1Eh */
U8 PortNumber; /* 1Fh */
U8 FcPhLowestVersion; /* 20h */
U8 FcPhHighestVersion; /* 21h */
U8 CurrentTargetID; /* 22h */
U8 CurrentBus; /* 23h */
U8 PhysDiskMap; /* 02h */
U8 PhysDiskNum; /* 03h */
U8 Flags; /* 00h */
U8 State; /* 01h */
U8 HotSparePool; /* 01h */ /* MPI_RAID_HOT_SPARE_POOL_ */
U8 Reserved; /* 02h */
U8 VolumeID; /* 04h */
U8 VolumeBus; /* 05h */
U8 VolumeIOC; /* 06h */
U8 VolumeType; /* 07h */ /* MPI_RAID_VOL_TYPE_ */
U8 NumPhysDisks; /* 24h */
U8 Reserved4; /* 25h */
U8 ErrorCdbByte; /* 00h */
U8 ErrorSenseKey; /* 01h */
U8 ErrorASC; /* 06h */
U8 ErrorASCQ; /* 07h */
U8 SmartASC; /* 0Ah */
U8 SmartASCQ; /* 0Bh */
U8 VendorID[8]; /* 00h */
U8 ProductID[16]; /* 08h */
U8 ProductRevLevel[4]; /* 18h */
U8 Info[32]; /* 1Ch */
U8 SepID; /* 00h */
U8 SepBus; /* 01h */
U8 HotSparePool; /* 02h */ /* MPI_RAID_HOT_SPARE_POOL_ */
U8 PhysDiskSettings; /* 03h */
U8 Flags; /* 00h */
U8 State; /* 01h */
U8 PhysDiskID; /* 04h */
U8 PhysDiskBus; /* 05h */
U8 PhysDiskIOC; /* 06h */
U8 PhysDiskNum; /* 07h */
U8 DiskIdentifier[16]; /* 18h */
U8 CurrentDeviceState; /* 06h */
U8 Reserved1; /* 07h */
U8 BufferPostFlags; /* 00h */
U8 BufferCount; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1; /* 06h */
U8 MsgFlags; /* 07h */
U8 Flags; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 Dfctl; /* 2Ah */
U8 SeqId; /* 2Bh */
U8 RspFlags; /* 00h */
U8 RspLength; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 Dfctl; /* 1Ah */
U8 SeqId; /* 1Bh */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved_0100_InitiatorIndex; /* 06h */ /* obsolete InitiatorIndex */
U8 MsgFlags; /* 07h */
U8 SendFlags; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 AbortFlags; /* 00h */
U8 AbortType; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 SendFlags; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 FsType; /* 0Eh */
U8 Reserved1; /* 0Fh */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 SendFlags; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 FcPrimitive[4]; /* 0Ch */
U8 SendFlags; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 CDBLength; /* 04h */
U8 SenseBufferLength; /* 05h */
U8 Reserved; /* 06h */
U8 MsgFlags; /* 07h */
U8 LUN[8]; /* 0Ch */
U8 CDB[16]; /* 18h */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 CDBLength; /* 04h */
U8 SenseBufferLength; /* 05h */
U8 Reserved; /* 06h */
U8 MsgFlags; /* 07h */
U8 SCSIStatus; /* 0Ch */
U8 SCSIState; /* 0Dh */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved; /* 04h */
U8 TaskType; /* 05h */
U8 Reserved1; /* 06h */
U8 MsgFlags; /* 07h */
U8 LUN[8]; /* 0Ch */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved; /* 04h */
U8 TaskType; /* 05h */
U8 Reserved1; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved2[2]; /* 0Ch */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Action; /* 04h */
U8 Reserved1; /* 05h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Action; /* 04h */
U8 Reserved1; /* 05h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 WhoInit; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Flags; /* 04h */
U8 MaxDevices; /* 05h */
U8 MaxBuses; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved1[2]; /* 0Eh */
U8 WhoInit; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Flags; /* 04h */
U8 MaxDevices; /* 05h */
U8 MaxBuses; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved[2]; /* 00h */
U8 ChainOffset; /* 01h */
U8 Function; /* 02h */
U8 Reserved1[3]; /* 03h */
U8 MsgFlags; /* 04h */
U8 Dev; /* 00h */
U8 Unit; /* 01h */
U8 Minor; /* 02h */
U8 Major; /* 03h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 IOCNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 MaxChainDepth; /* 14h */
U8 WhoInit; /* 15h */
U8 BlockSize; /* 16h */
U8 Flags; /* 17h */
U8 NumberOfPorts; /* 26h */
U8 EventState; /* 27h */
U8 MaxDevices; /* 2Eh */
U8 MaxBuses; /* 2Fh */
U8 Reserved[2]; /* 00h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[2]; /* 04h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved3; /* 14h */
U8 PortType; /* 15h */
U8 Reserved[2]; /* 00h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[2]; /* 04h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved[2]; /* 00h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[2]; /* 04h */
U8 PortNumber; /* 05h */
U8 MsgFlags; /* 07h */
U8 Switch; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[2]; /* 04h */
U8 AckRequired; /* 06h */
U8 MsgFlags; /* 07h */
U8 Reserved2[2]; /* 0Ch */
U8 Reserved[2]; /* 00h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 Reserved[2]; /* 00h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 EventState; /* 00h */
U8 Reserved; /* 01h */
U8 TargetID; /* 00h */
U8 BusPort; /* 01h */
U8 TargetID; /* 00h */
U8 Bus; /* 01h */
U8 ReasonCode; /* 02h */
U8 LUN; /* 03h */
U8 ASC; /* 04h */
U8 ASCQ; /* 05h */
U8 State; /* 00h */
U8 Reserved; /* 01h */
U8 Reserved2; /* 04h */
U8 Port; /* 05h */
U8 Character4; /* 00h */
U8 Character3; /* 01h */
U8 Type; /* 02h */
U8 Reserved; /* 03h */
U8 Reserved1; /* 04h */
U8 Port; /* 05h */
U8 Reserved; /* 04h */
U8 Port; /* 05h */
U8 VolumeID; /* 00h */
U8 VolumeBus; /* 01h */
U8 ReasonCode; /* 02h */
U8 PhysDiskNum; /* 03h */
U8 ASC; /* 04h */
U8 ASCQ; /* 05h */
U8 PhyNum; /* 00h */
U8 LinkRates; /* 01h */
U8 ImageType; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 Reserved; /* 00h */
U8 ContextSize; /* 01h */
U8 DetailsLength; /* 02h */
U8 Flags; /* 03h */
U8 ImageType; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 ImageType; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 Reserved; /* 00h */
U8 ContextSize; /* 01h */
U8 DetailsLength; /* 02h */
U8 Flags; /* 03h */
U8 ImageType; /* 00h */
U8 Reserved; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved1[3]; /* 04h */
U8 MsgFlags; /* 07h */
U8 VersionName[32]; /* 44h */
U8 VendorName[32]; /* 68h */
U8 ImageType; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 04h */
U8 NumberOfContexts; /* 05h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 04h */
U8 NumberOfContexts; /* 05h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 05h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 PortNumber; /* 06h */
U8 MsgFlags; /* 07h */
U8 BufferPostFlags; /* 00h */
U8 BufferCount; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 BufferLength; /* 04h */
U8 Reserved; /* 05h */
U8 Reserved1; /* 06h */
U8 MsgFlags; /* 07h */
U8 BufferPostFlags; /* 00h */
U8 BufferCount; /* 01h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 BufferLength; /* 04h */
U8 Reserved; /* 05h */
U8 Reserved1; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 PriorityReason; /* 0Ch */
U8 Reserved3; /* 0Dh */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 PriorityReason; /* 0Ch */
U8 Reserved3; /* 0Dh */
U8 FcpLun[8]; /* 00h */
U8 FcpCntl[4]; /* 08h */
U8 FcpCdb[16]; /* 0Ch */
U8 L_QType; /* 00h */
U8 Reserved; /* 01h */
U8 LogicalUnitNumber[8]; /* 04h */
U8 ReservedFirstByteOfCommandIU; /* 10h */
U8 TaskAttribute; /* 11h */
U8 TaskManagementFlags; /* 12h */
U8 AdditionalCDBLength; /* 13h */
U8 CDB[16]; /* 14h */
U8 StatusCode; /* 00h */
U8 TargetAssistFlags; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved; /* 06h */
U8 MsgFlags; /* 07h */
U8 LUN[8]; /* 10h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 PriorityReason; /* 0Ch */
U8 Reserved3; /* 0Dh */
U8 StatusCode; /* 00h */
U8 StatusFlags; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved; /* 06h */
U8 MsgFlags; /* 07h */
U8 LUN[8]; /* 10h */
U8 Reserved0[8]; /* 00h */
U8 FcpStatus; /* 08h */
U8 FcpFlags; /* 09h */
U8 Reserved1[2]; /* 0Ah */
U8 FcpResponseData[8]; /* 18h */
U8 FcpSenseData[32]; /* Pad to 64 bytes */ /* 20h */
U8 Reserved0; /* 00h */
U8 Reserved1; /* 01h */
U8 Valid; /* 02h */
U8 Status; /* 03h */
U8 SenseData[52]; /* Pad the IU to 64 bytes */ /* 0Ch */
U8 AbortType; /* 00h */
U8 Reserved; /* 01h */
U8 ChainOffset; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 MsgLength; /* 02h */
U8 Function; /* 03h */
U8 Reserved2; /* 06h */
U8 MsgFlags; /* 07h */
U8 NextChainOffset;
U8 Flags;
U8 NextChainOffset;
U8 Flags;
U8 NextChainOffset;
U8 Flags;
U8 Reserved;
U8 ContextSize;
U8 DetailsLength;
U8 Flags;
U8 Reserved;
U8 ContextSize;
U8 DetailsLength;
U8 Flags;
U8 Reserved;
U8 ContextSize;
U8 DetailsLength;
U8 Flags;
U8 Reserved;
U8 ContextSize;
U8 DetailsLength;
U8 Flags;
U8 Reserved;
U8 ContextSize;
U8 DetailsLength;
U8 Flags;
U8 Reserved[2]; /* function specific */
U8 ChainOffset;
U8 Function;
U8 Reserved1[3]; /* function specific */
U8 MsgFlags;
U8 Reserved[2]; /* function specific */
U8 MsgLength;
U8 Function;
U8 Reserved1[3]; /* function specific */
U8 MsgFlags;
U8 Reserved2[2]; /* function specific */
U8 PageVersion; /* 00h */
U8 PageLength; /* 01h */
U8 PageNumber; /* 02h */
U8 PageType; /* 03h */
U8 Bytes[4];