⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpi_cnfg.h

📁 linux内核源码
💻 H
📖 第 1 页 / 共 5 页
字号:
 *                      define. *                      Added EnclosureHandle field to SAS Expander page 0. *                      Removed redundant NumTableEntriesProg field from SAS *                      Expander Page 1. *  08-30-05  01.05.11  Added DeviceID for FC949E and changed the DeviceID for *                      SAS1078. *                      Added more defines for Manufacturing Page 4 Flags field. *                      Added more defines for IOCSettings and added *                      ExpanderSpinup field to Bios Page 1. *                      Added postpone SATA Init bit to SAS IO Unit Page 1 *                      ControlFlags. *                      Changed LogEntry format for Log Page 0. *  03-27-06  01.05.12  Added two new Flags defines for Manufacturing Page 4. *                      Added Manufacturing Page 7. *                      Added MPI_IOCPAGE2_CAP_FLAGS_RAID_64_BIT_ADDRESSING. *                      Added IOC Page 6. *                      Added PrevBootDeviceForm field to CONFIG_PAGE_BIOS_2. *                      Added MaxLBAHigh field to RAID Volume Page 0. *                      Added Nvdata version fields to SAS IO Unit Page 0. *                      Added AdditionalControlFlags, MaxTargetPortConnectTime, *                      ReportDeviceMissingDelay, and IODeviceMissingDelay *                      fields to SAS IO Unit Page 1. *  10-11-06  01.05.13  Added NumForceWWID field and ForceWWID array to *                      Manufacturing Page 5. *                      Added Manufacturing pages 8 through 10. *                      Added defines for supported metadata size bits in *                      CapabilitiesFlags field of IOC Page 6. *                      Added defines for metadata size bits in VolumeSettings *                      field of RAID Volume Page 0. *                      Added SATA Link Reset settings, Enable SATA Asynchronous *                      Notification bit, and HideNonZeroAttachedPhyIdentifiers *                      bit to AdditionalControlFlags field of SAS IO Unit *                      Page 1. *                      Added defines for Enclosure Devices Unmapped and *                      Device Limit Exceeded bits in Status field of SAS IO *                      Unit Page 2. *                      Added more AccessStatus values for SAS Device Page 0. *                      Added bit for SATA Asynchronous Notification Support in *                      Flags field of SAS Device Page 0. *  02-28-07  01.05.14  Added ExtFlags field to Manufacturing Page 4. *                      Added Disable SMART Polling for CapabilitiesFlags of *                      IOC Page 6. *                      Added Disable SMART Polling to DeviceSettings of BIOS *                      Page 1. *                      Added Multi-Port Domain bit for DiscoveryStatus field *                      of SAS IO Unit Page. *                      Added Multi-Port Domain Illegal flag for SAS IO Unit *                      Page 1 AdditionalControlFlags field. *  05-24-07  01.05.15  Added Hide Physical Disks with Non-Integrated RAID *                      Metadata bit to Manufacturing Page 4 ExtFlags field. *                      Added Internal Connector to End Device Present bit to *                      Expander Page 0 Flags field. *                      Fixed define for *                      MPI_SAS_EXPANDER1_DISCINFO_BAD_PHY_DISABLED. *  -------------------------------------------------------------------------- */#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 */} CONFIG_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,  CONFIG_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 */} CONFIG_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)#define MPI_CONFIG_EXTPAGETYPE_LOG                  (0x14)#define MPI_CONFIG_EXTPAGETYPE_ENCLOSURE            (0x15)/*****************************************************************************   PageAddress field values****************************************************************************/#define MPI_SCSI_PORT_PGAD_PORT_MASK                (0x000000FF)#define MPI_SCSI_DEVICE_FORM_MASK                   (0xF0000000)#define MPI_SCSI_DEVICE_FORM_BUS_TID                (0x00000000)#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_SCSI_DEVICE_FORM_TARGET_MODE            (0x10000000)#define MPI_SCSI_DEVICE_TM_RESPOND_ID_MASK          (0x000000FF)#define MPI_SCSI_DEVICE_TM_RESPOND_ID_SHIFT         (0)#define MPI_SCSI_DEVICE_TM_BUS_MASK                 (0x0000FF00)#define MPI_SCSI_DEVICE_TM_BUS_SHIFT                (8)#define MPI_SCSI_DEVICE_TM_INIT_ID_MASK             (0x00FF0000)#define MPI_SCSI_DEVICE_TM_INIT_ID_SHIFT            (16)#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)#define MPI_SAS_EXPAND_PGAD_FORM_MASK             (0xF0000000)#define MPI_SAS_EXPAND_PGAD_FORM_SHIFT            (28)#define MPI_SAS_EXPAND_PGAD_FORM_GET_NEXT_HANDLE  (0x00000000)#define MPI_SAS_EXPAND_PGAD_FORM_HANDLE_PHY_NUM   (0x00000001)#define MPI_SAS_EXPAND_PGAD_FORM_HANDLE           (0x00000002)#define MPI_SAS_EXPAND_PGAD_GNH_MASK_HANDLE       (0x0000FFFF)#define MPI_SAS_EXPAND_PGAD_GNH_SHIFT_HANDLE      (0)#define MPI_SAS_EXPAND_PGAD_HPN_MASK_PHY          (0x00FF0000)#define MPI_SAS_EXPAND_PGAD_HPN_SHIFT_PHY         (16)#define MPI_SAS_EXPAND_PGAD_HPN_MASK_HANDLE       (0x0000FFFF)#define MPI_SAS_EXPAND_PGAD_HPN_SHIFT_HANDLE      (0)#define MPI_SAS_EXPAND_PGAD_H_MASK_HANDLE         (0x0000FFFF)#define MPI_SAS_EXPAND_PGAD_H_SHIFT_HANDLE        (0)#define MPI_SAS_DEVICE_PGAD_FORM_MASK               (0xF0000000)#define MPI_SAS_DEVICE_PGAD_FORM_SHIFT              (28)#define MPI_SAS_DEVICE_PGAD_FORM_GET_NEXT_HANDLE    (0x00000000)#define MPI_SAS_DEVICE_PGAD_FORM_BUS_TARGET_ID      (0x00000001)#define MPI_SAS_DEVICE_PGAD_FORM_HANDLE             (0x00000002)#define MPI_SAS_DEVICE_PGAD_GNH_HANDLE_MASK         (0x0000FFFF)#define MPI_SAS_DEVICE_PGAD_GNH_HANDLE_SHIFT        (0)#define MPI_SAS_DEVICE_PGAD_BT_BUS_MASK             (0x0000FF00)#define MPI_SAS_DEVICE_PGAD_BT_BUS_SHIFT            (8)#define MPI_SAS_DEVICE_PGAD_BT_TID_MASK             (0x000000FF)#define MPI_SAS_DEVICE_PGAD_BT_TID_SHIFT            (0)#define MPI_SAS_DEVICE_PGAD_H_HANDLE_MASK           (0x0000FFFF)#define MPI_SAS_DEVICE_PGAD_H_HANDLE_SHIFT          (0)#define MPI_SAS_PHY_PGAD_FORM_MASK                  (0xF0000000)#define MPI_SAS_PHY_PGAD_FORM_SHIFT                 (28)#define MPI_SAS_PHY_PGAD_FORM_PHY_NUMBER            (0x0)#define MPI_SAS_PHY_PGAD_FORM_PHY_TBL_INDEX         (0x1)#define MPI_SAS_PHY_PGAD_PHY_NUMBER_MASK            (0x000000FF)#define MPI_SAS_PHY_PGAD_PHY_NUMBER_SHIFT           (0)#define MPI_SAS_PHY_PGAD_PHY_TBL_INDEX_MASK         (0x0000FFFF)#define MPI_SAS_PHY_PGAD_PHY_TBL_INDEX_SHIFT        (0)#define MPI_SAS_ENCLOS_PGAD_FORM_MASK               (0xF0000000)#define MPI_SAS_ENCLOS_PGAD_FORM_SHIFT              (28)#define MPI_SAS_ENCLOS_PGAD_FORM_GET_NEXT_HANDLE    (0x00000000)#define MPI_SAS_ENCLOS_PGAD_FORM_HANDLE             (0x00000001)#define MPI_SAS_ENCLOS_PGAD_GNH_HANDLE_MASK         (0x0000FFFF)#define MPI_SAS_ENCLOS_PGAD_GNH_HANDLE_SHIFT        (0)#define MPI_SAS_ENCLOS_PGAD_H_HANDLE_MASK           (0x0000FFFF)#define MPI_SAS_ENCLOS_PGAD_H_HANDLE_SHIFT          (0)/*****************************************************************************   Config Request Message****************************************************************************/typedef struct _MSG_CONFIG{    U8                      Action;                     /* 00h */    U8                      Reserved;                   /* 01h */    U8                      ChainOffset;                /* 02h */    U8                      Function;                   /* 03h */    U16                     ExtPageLength;              /* 04h */    U8                      ExtPageType;                /* 06h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U8                      Reserved2[8];               /* 0Ch */    CONFIG_PAGE_HEADER      Header;                     /* 14h */    U32                     PageAddress;                /* 18h */    SGE_IO_UNION            PageBufferSGE;              /* 1Ch */} MSG_CONFIG, MPI_POINTER PTR_MSG_CONFIG,  Config_t, MPI_POINTER pConfig_t;/*****************************************************************************   Action field values****************************************************************************/#define MPI_CONFIG_ACTION_PAGE_HEADER               (0x00)#define MPI_CONFIG_ACTION_PAGE_READ_CURRENT         (0x01)#define MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT        (0x02)#define MPI_CONFIG_ACTION_PAGE_DEFAULT              (0x03)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -