📄 mpi_cnfg.h
字号:
#define MPI_SCSIDEVPAGE1_PAGEVERSION (0x04)#define MPI_SCSIDEVPAGE1_RP_IU (0x00000001)#define MPI_SCSIDEVPAGE1_RP_DT (0x00000002)#define MPI_SCSIDEVPAGE1_RP_QAS (0x00000004)#define MPI_SCSIDEVPAGE1_RP_HOLD_MCS (0x00000008)#define MPI_SCSIDEVPAGE1_RP_WR_FLOW (0x00000010)#define MPI_SCSIDEVPAGE1_RP_RD_STRM (0x00000020)#define MPI_SCSIDEVPAGE1_RP_RTI (0x00000040)#define MPI_SCSIDEVPAGE1_RP_PCOMP_EN (0x00000080)#define MPI_SCSIDEVPAGE1_RP_MIN_SYNC_PERIOD_MASK (0x0000FF00)#define MPI_SCSIDEVPAGE1_RP_MAX_SYNC_OFFSET_MASK (0x00FF0000)#define MPI_SCSIDEVPAGE1_RP_WIDE (0x20000000)#define MPI_SCSIDEVPAGE1_RP_AIP (0x80000000)#define MPI_SCSIDEVPAGE1_CONF_WDTR_DISALLOWED (0x00000002)#define MPI_SCSIDEVPAGE1_CONF_SDTR_DISALLOWED (0x00000004)#define MPI_SCSIDEVPAGE1_CONF_EXTENDED_PARAMS_ENABLE (0x00000008)#define MPI_SCSIDEVPAGE1_CONF_FORCE_PPR_MSG (0x00000010)typedef struct _CONFIG_PAGE_SCSI_DEVICE_2{ fCONFIG_PAGE_HEADER Header; /* 00h */ U32 DomainValidation; /* 04h */ U32 ParityPipeSelect; /* 08h */ U32 DataPipeSelect; /* 0Ch */} fCONFIG_PAGE_SCSI_DEVICE_2, MPI_POINTER PTR_CONFIG_PAGE_SCSI_DEVICE_2, SCSIDevicePage2_t, MPI_POINTER pSCSIDevicePage2_t;#define MPI_SCSIDEVPAGE2_PAGEVERSION (0x01)#define MPI_SCSIDEVPAGE2_DV_ISI_ENABLE (0x00000010)#define MPI_SCSIDEVPAGE2_DV_SECONDARY_DRIVER_ENABLE (0x00000020)#define MPI_SCSIDEVPAGE2_DV_SLEW_RATE_CTRL (0x00000380)#define MPI_SCSIDEVPAGE2_DV_PRIM_DRIVE_STR_CTRL (0x00001C00)#define MPI_SCSIDEVPAGE2_DV_SECOND_DRIVE_STR_CTRL (0x0000E000)#define MPI_SCSIDEVPAGE2_DV_XCLKH_ST (0x10000000)#define MPI_SCSIDEVPAGE2_DV_XCLKS_ST (0x20000000)#define MPI_SCSIDEVPAGE2_DV_XCLKH_DT (0x40000000)#define MPI_SCSIDEVPAGE2_DV_XCLKS_DT (0x80000000)#define MPI_SCSIDEVPAGE2_PPS_PPS_MASK (0x00000003)#define MPI_SCSIDEVPAGE2_DPS_BIT_0_PL_SELECT_MASK (0x00000003)#define MPI_SCSIDEVPAGE2_DPS_BIT_1_PL_SELECT_MASK (0x0000000C)#define MPI_SCSIDEVPAGE2_DPS_BIT_2_PL_SELECT_MASK (0x00000030)#define MPI_SCSIDEVPAGE2_DPS_BIT_3_PL_SELECT_MASK (0x000000C0)#define MPI_SCSIDEVPAGE2_DPS_BIT_4_PL_SELECT_MASK (0x00000300)#define MPI_SCSIDEVPAGE2_DPS_BIT_5_PL_SELECT_MASK (0x00000C00)#define MPI_SCSIDEVPAGE2_DPS_BIT_6_PL_SELECT_MASK (0x00003000)#define MPI_SCSIDEVPAGE2_DPS_BIT_7_PL_SELECT_MASK (0x0000C000)#define MPI_SCSIDEVPAGE2_DPS_BIT_8_PL_SELECT_MASK (0x00030000)#define MPI_SCSIDEVPAGE2_DPS_BIT_9_PL_SELECT_MASK (0x000C0000)#define MPI_SCSIDEVPAGE2_DPS_BIT_10_PL_SELECT_MASK (0x00300000)#define MPI_SCSIDEVPAGE2_DPS_BIT_11_PL_SELECT_MASK (0x00C00000)#define MPI_SCSIDEVPAGE2_DPS_BIT_12_PL_SELECT_MASK (0x03000000)#define MPI_SCSIDEVPAGE2_DPS_BIT_13_PL_SELECT_MASK (0x0C000000)#define MPI_SCSIDEVPAGE2_DPS_BIT_14_PL_SELECT_MASK (0x30000000)#define MPI_SCSIDEVPAGE2_DPS_BIT_15_PL_SELECT_MASK (0xC0000000)typedef struct _CONFIG_PAGE_SCSI_DEVICE_3{ fCONFIG_PAGE_HEADER Header; /* 00h */ U16 MsgRejectCount; /* 04h */ U16 PhaseErrorCount; /* 06h */ U16 ParityErrorCount; /* 08h */ U16 Reserved; /* 0Ah */} fCONFIG_PAGE_SCSI_DEVICE_3, MPI_POINTER PTR_CONFIG_PAGE_SCSI_DEVICE_3, SCSIDevicePage3_t, MPI_POINTER pSCSIDevicePage3_t;#define MPI_SCSIDEVPAGE3_PAGEVERSION (0x00)#define MPI_SCSIDEVPAGE3_MAX_COUNTER (0xFFFE)#define MPI_SCSIDEVPAGE3_UNSUPPORTED_COUNTER (0xFFFF)/***************************************************************************** FC Port Config Pages****************************************************************************/typedef struct _CONFIG_PAGE_FC_PORT_0{ fCONFIG_PAGE_HEADER Header; /* 00h */ U32 Flags; /* 04h */ U8 MPIPortNumber; /* 08h */ U8 LinkType; /* 09h */ U8 PortState; /* 0Ah */ U8 Reserved; /* 0Bh */ U32 PortIdentifier; /* 0Ch */ U64 WWNN; /* 10h */ U64 WWPN; /* 18h */ U32 SupportedServiceClass; /* 20h */ U32 SupportedSpeeds; /* 24h */ U32 CurrentSpeed; /* 28h */ U32 MaxFrameSize; /* 2Ch */ U64 FabricWWNN; /* 30h */ U64 FabricWWPN; /* 38h */ U32 DiscoveredPortsCount; /* 40h */ U32 MaxInitiators; /* 44h */ U8 MaxAliasesSupported; /* 48h */ U8 MaxHardAliasesSupported; /* 49h */ U8 NumCurrentAliases; /* 4Ah */ U8 Reserved1; /* 4Bh */} fCONFIG_PAGE_FC_PORT_0, MPI_POINTER PTR_CONFIG_PAGE_FC_PORT_0, FCPortPage0_t, MPI_POINTER pFCPortPage0_t;#define MPI_FCPORTPAGE0_PAGEVERSION (0x02)#define MPI_FCPORTPAGE0_FLAGS_PROT_MASK (0x0000000F)#define MPI_FCPORTPAGE0_FLAGS_PROT_FCP_INIT (MPI_PORTFACTS_PROTOCOL_INITIATOR)#define MPI_FCPORTPAGE0_FLAGS_PROT_FCP_TARG (MPI_PORTFACTS_PROTOCOL_TARGET)#define MPI_FCPORTPAGE0_FLAGS_PROT_LAN (MPI_PORTFACTS_PROTOCOL_LAN)#define MPI_FCPORTPAGE0_FLAGS_PROT_LOGBUSADDR (MPI_PORTFACTS_PROTOCOL_LOGBUSADDR)#define MPI_FCPORTPAGE0_FLAGS_ALIAS_ALPA_SUPPORTED (0x00000010)#define MPI_FCPORTPAGE0_FLAGS_ALIAS_WWN_SUPPORTED (0x00000020)#define MPI_FCPORTPAGE0_FLAGS_FABRIC_WWN_VALID (0x00000030)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK (0x00000F00)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT (0x00000000)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_POINT_TO_POINT (0x00000100)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_PRIVATE_LOOP (0x00000200)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_FABRIC_DIRECT (0x00000400)#define MPI_FCPORTPAGE0_FLAGS_ATTACH_PUBLIC_LOOP (0x00000800)#define MPI_FCPORTPAGE0_LTYPE_RESERVED (0x00)#define MPI_FCPORTPAGE0_LTYPE_OTHER (0x01)#define MPI_FCPORTPAGE0_LTYPE_UNKNOWN (0x02)#define MPI_FCPORTPAGE0_LTYPE_COPPER (0x03)#define MPI_FCPORTPAGE0_LTYPE_SINGLE_1300 (0x04)#define MPI_FCPORTPAGE0_LTYPE_SINGLE_1500 (0x05)#define MPI_FCPORTPAGE0_LTYPE_50_LASER_MULTI (0x06)#define MPI_FCPORTPAGE0_LTYPE_50_LED_MULTI (0x07)#define MPI_FCPORTPAGE0_LTYPE_62_LASER_MULTI (0x08)#define MPI_FCPORTPAGE0_LTYPE_62_LED_MULTI (0x09)#define MPI_FCPORTPAGE0_LTYPE_MULTI_LONG_WAVE (0x0A)#define MPI_FCPORTPAGE0_LTYPE_MULTI_SHORT_WAVE (0x0B)#define MPI_FCPORTPAGE0_LTYPE_LASER_SHORT_WAVE (0x0C)#define MPI_FCPORTPAGE0_LTYPE_LED_SHORT_WAVE (0x0D)#define MPI_FCPORTPAGE0_LTYPE_1300_LONG_WAVE (0x0E)#define MPI_FCPORTPAGE0_LTYPE_1500_LONG_WAVE (0x0F)#define MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN (0x01) /*(SNIA)HBA_PORTSTATE_UNKNOWN 1 Unknown */#define MPI_FCPORTPAGE0_PORTSTATE_ONLINE (0x02) /*(SNIA)HBA_PORTSTATE_ONLINE 2 Operational */#define MPI_FCPORTPAGE0_PORTSTATE_OFFLINE (0x03) /*(SNIA)HBA_PORTSTATE_OFFLINE 3 User Offline */#define MPI_FCPORTPAGE0_PORTSTATE_BYPASSED (0x04) /*(SNIA)HBA_PORTSTATE_BYPASSED 4 Bypassed */#define MPI_FCPORTPAGE0_PORTSTATE_DIAGNOST (0x05) /*(SNIA)HBA_PORTSTATE_DIAGNOSTICS 5 In diagnostics mode */#define MPI_FCPORTPAGE0_PORTSTATE_LINKDOWN (0x06) /*(SNIA)HBA_PORTSTATE_LINKDOWN 6 Link Down */#define MPI_FCPORTPAGE0_PORTSTATE_ERROR (0x07) /*(SNIA)HBA_PORTSTATE_ERROR 7 Port Error */#define MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK (0x08) /*(SNIA)HBA_PORTSTATE_LOOPBACK 8 Loopback */#define MPI_FCPORTPAGE0_SUPPORT_CLASS_1 (0x00000001)#define MPI_FCPORTPAGE0_SUPPORT_CLASS_2 (0x00000002)#define MPI_FCPORTPAGE0_SUPPORT_CLASS_3 (0x00000004)#define MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED (0x00000001) /* (SNIA)HBA_PORTSPEED_1GBIT 1 1 GBit/sec */#define MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED (0x00000002) /* (SNIA)HBA_PORTSPEED_2GBIT 2 2 GBit/sec */#define MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED (0x00000004) /* (SNIA)HBA_PORTSPEED_10GBIT 4 10 GBit/sec */#define MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED#define MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED#define MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEEDtypedef struct _CONFIG_PAGE_FC_PORT_1{ fCONFIG_PAGE_HEADER Header; /* 00h */ U32 Flags; /* 04h */ U64 NoSEEPROMWWNN; /* 08h */ U64 NoSEEPROMWWPN; /* 10h */ U8 HardALPA; /* 18h */ U8 LinkConfig; /* 19h */ U8 TopologyConfig; /* 1Ah */ U8 AltConnector; /* 1Bh */ U8 NumRequestedAliases; /* 1Ch */ U8 Reserved1; /* 1Dh */ U16 Reserved2; /* 1Eh */} fCONFIG_PAGE_FC_PORT_1, MPI_POINTER PTR_CONFIG_PAGE_FC_PORT_1, FCPortPage1_t, MPI_POINTER pFCPortPage1_t;#define MPI_FCPORTPAGE1_PAGEVERSION (0x04)#define MPI_FCPORTPAGE1_FLAGS_EXT_FCP_STATUS_EN (0x08000000)#define MPI_FCPORTPAGE1_FLAGS_IMMEDIATE_ERROR_REPLY (0x04000000)#define MPI_FCPORTPAGE1_FLAGS_SORT_BY_DID (0x00000001)#define MPI_FCPORTPAGE1_FLAGS_SORT_BY_WWN (0x00000000)#define MPI_FCPORTPAGE1_FLAGS_PROT_MASK (0xF0000000)#define MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT (28)#define MPI_FCPORTPAGE1_FLAGS_PROT_FCP_INIT ((U32)MPI_PORTFACTS_PROTOCOL_INITIATOR << MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT)#define MPI_FCPORTPAGE1_FLAGS_PROT_FCP_TARG ((U32)MPI_PORTFACTS_PROTOCOL_TARGET << MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT)#define MPI_FCPORTPAGE1_FLAGS_PROT_LAN ((U32)MPI_PORTFACTS_PROTOCOL_LAN << MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT)#define MPI_FCPORTPAGE1_FLAGS_PROT_LOGBUSADDR ((U32)MPI_PORTFACTS_PROTOCOL_LOGBUSADDR << MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT)#define MPI_FCPORTPAGE1_HARD_ALPA_NOT_USED (0xFF)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_MASK (0x0F)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_1GIG (0x00)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_2GIG (0x01)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_4GIG (0x02)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_10GIG (0x03)#define MPI_FCPORTPAGE1_LCONFIG_SPEED_AUTO (0x0F)#define MPI_FCPORTPAGE1_TOPOLOGY_MASK (0x0F)#define MPI_FCPORTPAGE1_TOPOLOGY_NLPORT (0x01)#define MPI_FCPORTPAGE1_TOPOLOGY_NPORT (0x02)#define MPI_FCPORTPAGE1_TOPOLOGY_AUTO (0x0F)#define MPI_FCPORTPAGE1_ALT_CONN_UNKNOWN (0x00)typedef struct _CONFIG_PAGE_FC_PORT_2{ fCONFIG_PAGE_HEADER Header; /* 00h */ U8 NumberActive; /* 04h */ U8 ALPA[127]; /* 05h */} fCONFIG_PAGE_FC_PORT_2, MPI_POINTER PTR_CONFIG_PAGE_FC_PORT_2, FCPortPage2_t, MPI_POINTER pFCPortPage2_t;#define MPI_FCPORTPAGE2_PAGEVERSION (0x01)typedef struct _WWN_FORMAT{ U64 WWNN; /* 00h */ U64 WWPN; /* 08h */} WWN_FORMAT, MPI_POINTER PTR_WWN_FORMAT, WWNFormat, MPI_POINTER pWWNFormat;typedef union _FC_PORT_PERSISTENT_PHYSICAL_ID{ WWN_FORMAT WWN; U32 Did;} FC_PORT_PERSISTENT_PHYSICAL_ID, MPI_POINTER PTR_FC_PORT_PERSISTENT_PHYSICAL_ID, PersistentPhysicalId_t, MPI_POINTER pPersistentPhysicalId_t;typedef struct _FC_PORT_PERSISTENT{ FC_PORT_PERSISTENT_PHYSICAL_ID PhysicalIdentifier; /* 00h */ U8 TargetID; /* 10h */ U8 Bus; /* 11h */ U16 Flags; /* 12h */} FC_PORT_PERSISTENT, MPI_POINTER PTR_FC_PORT_PERSISTENT, PersistentData_t, MPI_POINTER pPersistentData_t;#define MPI_PERSISTENT_FLAGS_SHIFT (16)#define MPI_PERSISTENT_FLAGS_ENTRY_VALID (0x0001)#define MPI_PERSISTENT_FLAGS_SCAN_ID (0x0002)#define MPI_PERSISTENT_FLAGS_SCAN_LUNS (0x0004)#define MPI_PERSISTENT_FLAGS_BOOT_DEVICE (0x0008)#define MPI_PERSISTENT_FLAGS_BY_DID (0x0080)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_FC_PORT_PAGE_3_ENTRY_MAX#define MPI_FC_PORT_PAGE_3_ENTRY_MAX (1)#endiftypedef struct _CONFIG_PAGE_FC_PORT_3{ fCONFIG_PAGE_HEADER Header; /* 00h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -