📄 mpi_cnfg.h
字号:
/* * Copyright (c) 2000-2003 LSI Logic Corporation. * * * Name: mpi_cnfg.h * Title: MPI Config message, structures, and Pages * Creation Date: July 27, 2000 * * mpi_cnfg.h Version: 01.05.xx * * Version History * --------------- * * Date Version Description * -------- -------- ------------------------------------------------------ * 05-08-00 00.10.01 Original release for 0.10 spec dated 4/26/2000. * 06-06-00 01.00.01 Update version number for 1.0 release. * 06-08-00 01.00.02 Added _PAGEVERSION definitions for all pages. * Added FcPhLowestVersion, FcPhHighestVersion, Reserved2 * fields to FC_DEVICE_0 page, updated the page version. * Changed _FREE_RUNNING_CLOCK to _PACING_TRANSFERS in * SCSI_PORT_0, SCSI_DEVICE_0 and SCSI_DEVICE_1 pages * and updated the page versions. * Added _RESPONSE_ID_MASK definition to SCSI_PORT_1 * page and updated the page version. * Added Information field and _INFO_PARAMS_NEGOTIATED * definitionto SCSI_DEVICE_0 page. * 06-22-00 01.00.03 Removed batch controls from LAN_0 page and updated the * page version. * Added BucketsRemaining to LAN_1 page, redefined the * state values, and updated the page version. * Revised bus width definitions in SCSI_PORT_0, * SCSI_DEVICE_0 and SCSI_DEVICE_1 pages. * 06-30-00 01.00.04 Added MaxReplySize to LAN_1 page and updated the page * version. * Moved FC_DEVICE_0 PageAddress description to spec. * 07-27-00 01.00.05 Corrected the SubsystemVendorID and SubsystemID field * widths in IOC_0 page and updated the page version. * 11-02-00 01.01.01 Original release for post 1.0 work * Added Manufacturing pages, IO Unit Page 2, SCSI SPI * Port Page 2, FC Port Page 4, FC Port Page 5 * 11-15-00 01.01.02 Interim changes to match proposals * 12-04-00 01.01.03 Config page changes to match MPI rev 1.00.01. * 12-05-00 01.01.04 Modified config page actions. * 01-09-01 01.01.05 Added defines for page address formats. * Data size for Manufacturing pages 2 and 3 no longer * defined here. * Io Unit Page 2 size is fixed at 4 adapters and some * flags were changed. * SCSI Port Page 2 Device Settings modified. * New fields added to FC Port Page 0 and some flags * cleaned up. * Removed impedance flash from FC Port Page 1. * Added FC Port pages 6 and 7. * 01-25-01 01.01.06 Added MaxInitiators field to FcPortPage0. * 01-29-01 01.01.07 Changed some defines to make them 32 character unique. * Added some LinkType defines for FcPortPage0. * 02-20-01 01.01.08 Started using MPI_POINTER. * 02-27-01 01.01.09 Replaced MPI_CONFIG_PAGETYPE_SCSI_LUN with * MPI_CONFIG_PAGETYPE_RAID_VOLUME. * Added definitions and structures for IOC Page 2 and * RAID Volume Page 2. * 03-27-01 01.01.10 Added CONFIG_PAGE_FC_PORT_8 and CONFIG_PAGE_FC_PORT_9. * CONFIG_PAGE_FC_PORT_3 now supports persistent by DID. * Added VendorId and ProductRevLevel fields to * RAIDVOL2_IM_PHYS_ID struct. * Modified values for MPI_FCPORTPAGE0_FLAGS_ATTACH_ * defines to make them compatible to MPI version 1.0. * Added structure offset comments. * 04-09-01 01.01.11 Added some new defines for the PageAddress field and * removed some obsolete ones. * Added IO Unit Page 3. * Modified defines for Scsi Port Page 2. * Modified RAID Volume Pages. * 08-08-01 01.02.01 Original release for v1.2 work. * Added SepID and SepBus to RVP2 IMPhysicalDisk struct. * Added defines for the SEP bits in RVP2 VolumeSettings. * Modified the DeviceSettings field in RVP2 to use the * proper structure. * Added defines for SES, SAF-TE, and cross channel for * IOCPage2 CapabilitiesFlags. * Removed define for MPI_IOUNITPAGE2_FLAGS_RAID_DISABLE. * Removed define for * MPI_SCSIPORTPAGE2_PORT_FLAGS_PARITY_ENABLE. * Added define for MPI_CONFIG_PAGEATTR_RO_PERSISTENT. * 08-29-01 01.02.02 Fixed value for MPI_MANUFACTPAGE_DEVID_53C1035. * Added defines for MPI_FCPORTPAGE1_FLAGS_HARD_ALPA_ONLY * and MPI_FCPORTPAGE1_FLAGS_IMMEDIATE_ERROR_REPLY. * Removed MPI_SCSIPORTPAGE0_CAP_PACING_TRANSFERS, * MPI_SCSIDEVPAGE0_NP_PACING_TRANSFERS, and * MPI_SCSIDEVPAGE1_RP_PACING_TRANSFERS, and * MPI_SCSIDEVPAGE1_CONF_PPR_ALLOWED. * Added defines for MPI_SCSIDEVPAGE1_CONF_WDTR_DISALLOWED * and MPI_SCSIDEVPAGE1_CONF_SDTR_DISALLOWED. * Added OnBusTimerValue to CONFIG_PAGE_SCSI_PORT_1. * Added rejected bits to SCSI Device Page 0 Information. * Increased size of ALPA array in FC Port Page 2 by one * and removed a one byte reserved field. * 09-28-01 01.02.03 Swapped NegWireSpeedLow and NegWireSpeedLow in * CONFIG_PAGE_LAN_1 to match preferred 64-bit ordering. * Added structures for Manufacturing Page 4, IO Unit * Page 3, IOC Page 3, IOC Page 4, RAID Volume Page 0, and * RAID PhysDisk Page 0. * 10-04-01 01.02.04 Added define for MPI_CONFIG_PAGETYPE_RAID_PHYSDISK. * Modified some of the new defines to make them 32 * character unique. * Modified how variable length pages (arrays) are defined. * Added generic defines for hot spare pools and RAID * volume types. * 11-01-01 01.02.05 Added define for MPI_IOUNITPAGE1_DISABLE_IR. * 03-14-02 01.02.06 Added PCISlotNum field to CONFIG_PAGE_IOC_1 along with * related define, and bumped the page version define. * 05-31-02 01.02.07 Added a Flags field to CONFIG_PAGE_IOC_2_RAID_VOL in a * reserved byte and added a define. * Added define for * MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE. * Added new config page: CONFIG_PAGE_IOC_5. * Added MaxAliases, MaxHardAliases, and NumCurrentAliases * fields to CONFIG_PAGE_FC_PORT_0. * Added AltConnector and NumRequestedAliases fields to * CONFIG_PAGE_FC_PORT_1. * Added new config page: CONFIG_PAGE_FC_PORT_10. * 07-12-02 01.02.08 Added more MPI_MANUFACTPAGE_DEVID_ defines. * Added additional MPI_SCSIDEVPAGE0_NP_ defines. * Added more MPI_SCSIDEVPAGE1_RP_ defines. * Added define for * MPI_SCSIDEVPAGE1_CONF_EXTENDED_PARAMS_ENABLE. * Added new config page: CONFIG_PAGE_SCSI_DEVICE_3. * Modified MPI_FCPORTPAGE5_FLAGS_ defines. * 09-16-02 01.02.09 Added MPI_SCSIDEVPAGE1_CONF_FORCE_PPR_MSG define. * 11-15-02 01.02.10 Added ConnectedID defines for CONFIG_PAGE_SCSI_PORT_0. * Added more Flags defines for CONFIG_PAGE_FC_PORT_1. * Added more Flags defines for CONFIG_PAGE_FC_DEVICE_0. * 04-01-03 01.02.11 Added RR_TOV field and additional Flags defines for * CONFIG_PAGE_FC_PORT_1. * Added define MPI_FCPORTPAGE5_FLAGS_DISABLE to disable * an alias. * Added more device id defines. * 06-26-03 01.02.12 Added MPI_IOUNITPAGE1_IR_USE_STATIC_VOLUME_ID define. * Added TargetConfig and IDConfig fields to * CONFIG_PAGE_SCSI_PORT_1. * Added more PortFlags defines for CONFIG_PAGE_SCSI_PORT_2 * to control DV. * Added more Flags defines for CONFIG_PAGE_FC_PORT_1. * In CONFIG_PAGE_FC_DEVICE_0, replaced Reserved1 field * with ADISCHardALPA. * Added MPI_FC_DEVICE_PAGE0_PROT_FCP_RETRY define. * -------------------------------------------------------------------------- */#ifndef MPI_CNFG_H#define MPI_CNFG_H/******************************************************************************* C o n f i g M e s s a g e a n d S t r u c t u r e s******************************************************************************/typedef struct _CONFIG_PAGE_HEADER{ U8 PageVersion; /* 00h */ U8 PageLength; /* 01h */ U8 PageNumber; /* 02h */ U8 PageType; /* 03h */} fCONFIG_PAGE_HEADER, MPI_POINTER PTR_CONFIG_PAGE_HEADER, ConfigPageHeader_t, MPI_POINTER pConfigPageHeader_t;typedef union _CONFIG_PAGE_HEADER_UNION{ ConfigPageHeader_t Struct; U8 Bytes[4]; U16 Word16[2]; U32 Word32;} ConfigPageHeaderUnion, MPI_POINTER pConfigPageHeaderUnion, fCONFIG_PAGE_HEADER_UNION, MPI_POINTER PTR_CONFIG_PAGE_HEADER_UNION;typedef struct _CONFIG_EXTENDED_PAGE_HEADER{ U8 PageVersion; /* 00h */ U8 Reserved1; /* 01h */ U8 PageNumber; /* 02h */ U8 PageType; /* 03h */ U16 ExtPageLength; /* 04h */ U8 ExtPageType; /* 06h */ U8 Reserved2; /* 07h */} fCONFIG_EXTENDED_PAGE_HEADER, MPI_POINTER PTR_CONFIG_EXTENDED_PAGE_HEADER, ConfigExtendedPageHeader_t, MPI_POINTER pConfigExtendedPageHeader_t;/***************************************************************************** PageType field values****************************************************************************/#define MPI_CONFIG_PAGEATTR_READ_ONLY (0x00)#define MPI_CONFIG_PAGEATTR_CHANGEABLE (0x10)#define MPI_CONFIG_PAGEATTR_PERSISTENT (0x20)#define MPI_CONFIG_PAGEATTR_RO_PERSISTENT (0x30)#define MPI_CONFIG_PAGEATTR_MASK (0xF0)#define MPI_CONFIG_PAGETYPE_IO_UNIT (0x00)#define MPI_CONFIG_PAGETYPE_IOC (0x01)#define MPI_CONFIG_PAGETYPE_BIOS (0x02)#define MPI_CONFIG_PAGETYPE_SCSI_PORT (0x03)#define MPI_CONFIG_PAGETYPE_SCSI_DEVICE (0x04)#define MPI_CONFIG_PAGETYPE_FC_PORT (0x05)#define MPI_CONFIG_PAGETYPE_FC_DEVICE (0x06)#define MPI_CONFIG_PAGETYPE_LAN (0x07)#define MPI_CONFIG_PAGETYPE_RAID_VOLUME (0x08)#define MPI_CONFIG_PAGETYPE_MANUFACTURING (0x09)#define MPI_CONFIG_PAGETYPE_RAID_PHYSDISK (0x0A)#define MPI_CONFIG_PAGETYPE_INBAND (0x0B)#define MPI_CONFIG_PAGETYPE_EXTENDED (0x0F)#define MPI_CONFIG_PAGETYPE_MASK (0x0F)#define MPI_CONFIG_TYPENUM_MASK (0x0FFF)/***************************************************************************** ExtPageType field values****************************************************************************/#define MPI_CONFIG_EXTPAGETYPE_SAS_IO_UNIT (0x10)#define MPI_CONFIG_EXTPAGETYPE_SAS_EXPANDER (0x11)#define MPI_CONFIG_EXTPAGETYPE_SAS_DEVICE (0x12)#define MPI_CONFIG_EXTPAGETYPE_SAS_PHY (0x13)/***************************************************************************** PageAddress field values****************************************************************************/#define MPI_SCSI_PORT_PGAD_PORT_MASK (0x000000FF)#define MPI_SCSI_DEVICE_TARGET_ID_MASK (0x000000FF)#define MPI_SCSI_DEVICE_TARGET_ID_SHIFT (0)#define MPI_SCSI_DEVICE_BUS_MASK (0x0000FF00)#define MPI_SCSI_DEVICE_BUS_SHIFT (8)#define MPI_FC_PORT_PGAD_PORT_MASK (0xF0000000)#define MPI_FC_PORT_PGAD_PORT_SHIFT (28)#define MPI_FC_PORT_PGAD_FORM_MASK (0x0F000000)#define MPI_FC_PORT_PGAD_FORM_INDEX (0x01000000)#define MPI_FC_PORT_PGAD_INDEX_MASK (0x0000FFFF)#define MPI_FC_PORT_PGAD_INDEX_SHIFT (0)#define MPI_FC_DEVICE_PGAD_PORT_MASK (0xF0000000)#define MPI_FC_DEVICE_PGAD_PORT_SHIFT (28)#define MPI_FC_DEVICE_PGAD_FORM_MASK (0x0F000000)#define MPI_FC_DEVICE_PGAD_FORM_NEXT_DID (0x00000000)#define MPI_FC_DEVICE_PGAD_ND_PORT_MASK (0xF0000000)#define MPI_FC_DEVICE_PGAD_ND_PORT_SHIFT (28)#define MPI_FC_DEVICE_PGAD_ND_DID_MASK (0x00FFFFFF)#define MPI_FC_DEVICE_PGAD_ND_DID_SHIFT (0)#define MPI_FC_DEVICE_PGAD_FORM_BUS_TID (0x01000000)#define MPI_FC_DEVICE_PGAD_BT_BUS_MASK (0x0000FF00)#define MPI_FC_DEVICE_PGAD_BT_BUS_SHIFT (8)#define MPI_FC_DEVICE_PGAD_BT_TID_MASK (0x000000FF)#define MPI_FC_DEVICE_PGAD_BT_TID_SHIFT (0)#define MPI_PHYSDISK_PGAD_PHYSDISKNUM_MASK (0x000000FF)#define MPI_PHYSDISK_PGAD_PHYSDISKNUM_SHIFT (0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -