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

📄 mpi_cnfg.h

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 H
📖 第 1 页 / 共 4 页
字号:
/* *  Copyright (c) 2000-2001 LSI Logic Corporation. * * *           Name:  MPI_CNFG.H *          Title:  MPI Config message, structures, and Pages *  Creation Date:  July 27, 2000 * *    MPI Version:  01.01.11 * *  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. *  -------------------------------------------------------------------------- */#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;/****************************************************************************//*  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_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_MASK                    (0x0F)#define MPI_CONFIG_TYPENUM_MASK                     (0x0FFF)/**************************************************************************** *  PageAddres field values ****************************************************************************/#define MPI_SCSI_PORT_PGAD_PORT_MASK                (0x000000FF)#define MPI_SCSI_DEVICE_FORM_MASK                   (0xF0000000)#define MPI_SCSI_DEVICE_FORM_TARGETID               (0x00000000)#define MPI_SCSI_DEVICE_FORM_RAID_PHYS_DEV_NUM      (0x10000000)#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_VOLUME_TARG_ID_MASK         (0x000000FF)#define MPI_SCSI_DEVICE_VOLUME_TARG_ID_SHIFT        (0)#define MPI_SCSI_DEVICE_VOLUME_BUS_MASK             (0x0000FF00)#define MPI_SCSI_DEVICE_VOLUME_BUS_SHIFT            (8)#define MPI_SCSI_DEVICE_PHYS_DISK_NUM_MASK          (0x00FF0000)#define MPI_SCSI_DEVICE_PHYS_DISK_NUM_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)/****************************************************************************//*  Config Request Message                                                          *//****************************************************************************/typedef struct _MSG_CONFIG{    U8                      Action;                     /* 00h */    U8                      Reserved;                   /* 01h */    U8                      ChainOffset;                /* 02h */    U8                      Function;                   /* 03h */    U8                      Reserved1[3];               /* 04h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U8                      Reserved2[8];               /* 0Ch */   fCONFIG_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)#define MPI_CONFIG_ACTION_PAGE_WRITE_NVRAM          (0x04)#define MPI_CONFIG_ACTION_PAGE_READ_DEFAULT         (0x05)#define MPI_CONFIG_ACTION_PAGE_READ_NVRAM           (0x06)/* Config Reply Message */typedef struct _MSG_CONFIG_REPLY{    U8                      Action;                     /* 00h */    U8                      Reserved;                   /* 01h */    U8                      MsgLength;                  /* 02h */    U8                      Function;                   /* 03h */    U8                      Reserved1[3];               /* 04h */    U8                      MsgFlags;                   /* 07h */    U32                     MsgContext;                 /* 08h */    U8                      Reserved2[2];               /* 0Ch */    U16                     IOCStatus;                  /* 0Eh */    U32                     IOCLogInfo;                 /* 10h */   fCONFIG_PAGE_HEADER      Header;                     /* 14h */} MSG_CONFIG_REPLY, MPI_POINTER PTR_MSG_CONFIG_REPLY,  ConfigReply_t, MPI_POINTER pConfigReply_t;/*******************************************************************************               C o n f i g u r a t i o n    P a g e s******************************************************************************//****************************************************************************//*  Manufacturing Config pages                                              *//****************************************************************************/#define MPI_MANUFACTPAGE_DEVICEID_FC909             (0x0621)#define MPI_MANUFACTPAGE_DEVICEID_FC919             (0x0624)#define MPI_MANUFACTPAGE_DEVICEID_FC929             (0x0622)#define MPI_MANUFACTPAGE_DEVID_53C1030              (0x0030)#define MPI_MANUFACTPAGE_DEVID_53C1030ZC            (0x0031)#define MPI_MANUFACTPAGE_DEVID_53C1035              (0x0035)typedef struct _CONFIG_PAGE_MANUFACTURING_0{   fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U8                      ChipName[16];               /* 04h */    U8                      ChipRevision[8];            /* 14h */    U8                      BoardName[16];              /* 1Ch */    U8                      BoardAssembly[16];          /* 2Ch */    U8                      BoardTracerNumber[16];      /* 3Ch */} fCONFIG_PAGE_MANUFACTURING_0, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_0,  ManufacturingPage0_t, MPI_POINTER pManufacturingPage0_t;#define MPI_MANUFACTURING0_PAGEVERSION                 (0x00)typedef struct _CONFIG_PAGE_MANUFACTURING_1{   fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U8                      VPD[256];                   /* 04h */} fCONFIG_PAGE_MANUFACTURING_1, MPI_POINTER PTR_CONFIG_PAGE_MANUFACTURING_1,  ManufacturingPage1_t, MPI_POINTER pManufacturingPage1_t;#define MPI_MANUFACTURING1_PAGEVERSION                 (0x00)typedef struct _MPI_CHIP_REVISION_ID{    U16 DeviceID;                                       /* 00h */    U8  PCIRevisionID;                                  /* 02h */    U8  Reserved;                                       /* 03h */} MPI_CHIP_REVISION_ID, MPI_POINTER PTR_MPI_CHIP_REVISION_ID,  MpiChipRevisionId_t, MPI_POINTER pMpiChipRevisionId_t;typedef struct _CONFIG_PAGE_MANUFACTURING_2{   fCONFIG_PAGE_HEADER                  Header;         /* 00h */    MPI_CHIP_REVISION_ID                ChipId;         /* 04h */

⌨️ 快捷键说明

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