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

📄 mpi_cnfg.h

📁 h内核
💻 H
📖 第 1 页 / 共 5 页
字号:
typedef struct _CONFIG_PAGE_IO_UNIT_2{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     Flags;                      /* 04h */    U32                     BiosVersion;                /* 08h */    MPI_ADAPTER_INFO        AdapterOrder[4];            /* 0Ch */} fCONFIG_PAGE_IO_UNIT_2, MPI_POINTER PTR_CONFIG_PAGE_IO_UNIT_2,  IOUnitPage2_t, MPI_POINTER pIOUnitPage2_t;#define MPI_IOUNITPAGE2_PAGEVERSION                     (0x00)#define MPI_IOUNITPAGE2_FLAGS_PAUSE_ON_ERROR            (0x00000002)#define MPI_IOUNITPAGE2_FLAGS_VERBOSE_ENABLE            (0x00000004)#define MPI_IOUNITPAGE2_FLAGS_COLOR_VIDEO_DISABLE       (0x00000008)#define MPI_IOUNITPAGE2_FLAGS_DONT_HOOK_INT_40          (0x00000010)#define MPI_IOUNITPAGE2_FLAGS_DEV_LIST_DISPLAY_MASK     (0x000000E0)#define MPI_IOUNITPAGE2_FLAGS_INSTALLED_DEV_DISPLAY     (0x00000000)#define MPI_IOUNITPAGE2_FLAGS_ADAPTER_DISPLAY           (0x00000020)#define MPI_IOUNITPAGE2_FLAGS_ADAPTER_DEV_DISPLAY       (0x00000040)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX#define MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX     (1)#endiftypedef struct _CONFIG_PAGE_IO_UNIT_3{    fCONFIG_PAGE_HEADER      Header;                                   /* 00h */    U8                      GPIOCount;                                /* 04h */    U8                      Reserved1;                                /* 05h */    U16                     Reserved2;                                /* 06h */    U16                     GPIOVal[MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX]; /* 08h */} fCONFIG_PAGE_IO_UNIT_3, MPI_POINTER PTR_CONFIG_PAGE_IO_UNIT_3,  IOUnitPage3_t, MPI_POINTER pIOUnitPage3_t;#define MPI_IOUNITPAGE3_PAGEVERSION                     (0x01)#define MPI_IOUNITPAGE3_GPIO_FUNCTION_MASK              (0xFC)#define MPI_IOUNITPAGE3_GPIO_FUNCTION_SHIFT             (2)#define MPI_IOUNITPAGE3_GPIO_SETTING_OFF                (0x00)#define MPI_IOUNITPAGE3_GPIO_SETTING_ON                 (0x01)/*****************************************************************************   IOC Config Pages****************************************************************************/typedef struct _CONFIG_PAGE_IOC_0{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     TotalNVStore;               /* 04h */    U32                     FreeNVStore;                /* 08h */    U16                     VendorID;                   /* 0Ch */    U16                     DeviceID;                   /* 0Eh */    U8                      RevisionID;                 /* 10h */    U8                      Reserved[3];                /* 11h */    U32                     ClassCode;                  /* 14h */    U16                     SubsystemVendorID;          /* 18h */    U16                     SubsystemID;                /* 1Ah */} fCONFIG_PAGE_IOC_0, MPI_POINTER PTR_CONFIG_PAGE_IOC_0,  IOCPage0_t, MPI_POINTER pIOCPage0_t;#define MPI_IOCPAGE0_PAGEVERSION                        (0x01)typedef struct _CONFIG_PAGE_IOC_1{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     Flags;                      /* 04h */    U32                     CoalescingTimeout;          /* 08h */    U8                      CoalescingDepth;            /* 0Ch */    U8                      PCISlotNum;                 /* 0Dh */    U8                      Reserved[2];                /* 0Eh */} fCONFIG_PAGE_IOC_1, MPI_POINTER PTR_CONFIG_PAGE_IOC_1,  IOCPage1_t, MPI_POINTER pIOCPage1_t;#define MPI_IOCPAGE1_PAGEVERSION                        (0x01)/* defines for the Flags field */#define MPI_IOCPAGE1_EEDP_HOST_SUPPORTS_DIF             (0x08000000)#define MPI_IOCPAGE1_EEDP_MODE_MASK                     (0x07000000)#define MPI_IOCPAGE1_EEDP_MODE_OFF                      (0x00000000)#define MPI_IOCPAGE1_EEDP_MODE_T10                      (0x01000000)#define MPI_IOCPAGE1_EEDP_MODE_LSI_1                    (0x02000000)#define MPI_IOCPAGE1_REPLY_COALESCING                   (0x00000001)#define MPI_IOCPAGE1_PCISLOTNUM_UNKNOWN                 (0xFF)typedef struct _CONFIG_PAGE_IOC_2_RAID_VOL{    U8                          VolumeID;               /* 00h */    U8                          VolumeBus;              /* 01h */    U8                          VolumeIOC;              /* 02h */    U8                          VolumePageNumber;       /* 03h */    U8                          VolumeType;             /* 04h */    U8                          Flags;                  /* 05h */    U16                         Reserved3;              /* 06h */} fCONFIG_PAGE_IOC_2_RAID_VOL, MPI_POINTER PTR_CONFIG_PAGE_IOC_2_RAID_VOL,  ConfigPageIoc2RaidVol_t, MPI_POINTER pConfigPageIoc2RaidVol_t;/* IOC Page 2 Volume RAID Type values, also used in RAID Volume pages */#define MPI_RAID_VOL_TYPE_IS                        (0x00)#define MPI_RAID_VOL_TYPE_IME                       (0x01)#define MPI_RAID_VOL_TYPE_IM                        (0x02)/* IOC Page 2 Volume Flags values */#define MPI_IOCPAGE2_FLAG_VOLUME_INACTIVE           (0x08)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_2_RAID_VOLUME_MAX#define MPI_IOC_PAGE_2_RAID_VOLUME_MAX      (1)#endiftypedef struct _CONFIG_PAGE_IOC_2{    fCONFIG_PAGE_HEADER          Header;                              /* 00h */    U32                         CapabilitiesFlags;                   /* 04h */    U8                          NumActiveVolumes;                    /* 08h */    U8                          MaxVolumes;                          /* 09h */    U8                          NumActivePhysDisks;                  /* 0Ah */    U8                          MaxPhysDisks;                        /* 0Bh */    fCONFIG_PAGE_IOC_2_RAID_VOL  RaidVolume[MPI_IOC_PAGE_2_RAID_VOLUME_MAX];/* 0Ch */} fCONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2,  IOCPage2_t, MPI_POINTER pIOCPage2_t;#define MPI_IOCPAGE2_PAGEVERSION                        (0x02)/* IOC Page 2 Capabilities flags */#define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT               (0x00000001)#define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT              (0x00000002)#define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT               (0x00000004)#define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT              (0x20000000)#define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT            (0x40000000)#define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT    (0x80000000)typedef struct _IOC_3_PHYS_DISK{    U8                          PhysDiskID;             /* 00h */    U8                          PhysDiskBus;            /* 01h */    U8                          PhysDiskIOC;            /* 02h */    U8                          PhysDiskNum;            /* 03h */} IOC_3_PHYS_DISK, MPI_POINTER PTR_IOC_3_PHYS_DISK,  Ioc3PhysDisk_t, MPI_POINTER pIoc3PhysDisk_t;/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_3_PHYSDISK_MAX#define MPI_IOC_PAGE_3_PHYSDISK_MAX         (1)#endiftypedef struct _CONFIG_PAGE_IOC_3{    fCONFIG_PAGE_HEADER          Header;                                /* 00h */    U8                          NumPhysDisks;                          /* 04h */    U8                          Reserved1;                             /* 05h */    U16                         Reserved2;                             /* 06h */    IOC_3_PHYS_DISK             PhysDisk[MPI_IOC_PAGE_3_PHYSDISK_MAX]; /* 08h */} fCONFIG_PAGE_IOC_3, MPI_POINTER PTR_CONFIG_PAGE_IOC_3,  IOCPage3_t, MPI_POINTER pIOCPage3_t;#define MPI_IOCPAGE3_PAGEVERSION                        (0x00)typedef struct _IOC_4_SEP{    U8                          SEPTargetID;            /* 00h */    U8                          SEPBus;                 /* 01h */    U16                         Reserved;               /* 02h */} IOC_4_SEP, MPI_POINTER PTR_IOC_4_SEP,  Ioc4Sep_t, MPI_POINTER pIoc4Sep_t;/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_4_SEP_MAX#define MPI_IOC_PAGE_4_SEP_MAX              (1)#endiftypedef struct _CONFIG_PAGE_IOC_4{    fCONFIG_PAGE_HEADER          Header;                         /* 00h */    U8                          ActiveSEP;                      /* 04h */    U8                          MaxSEP;                         /* 05h */    U16                         Reserved1;                      /* 06h */    IOC_4_SEP                   SEP[MPI_IOC_PAGE_4_SEP_MAX];    /* 08h */} fCONFIG_PAGE_IOC_4, MPI_POINTER PTR_CONFIG_PAGE_IOC_4,  IOCPage4_t, MPI_POINTER pIOCPage4_t;#define MPI_IOCPAGE4_PAGEVERSION                        (0x00)typedef struct _IOC_5_HOT_SPARE{    U8                          PhysDiskNum;            /* 00h */    U8                          Reserved;               /* 01h */    U8                          HotSparePool;           /* 02h */    U8                          Flags;                   /* 03h */} IOC_5_HOT_SPARE, MPI_POINTER PTR_IOC_5_HOT_SPARE,  Ioc5HotSpare_t, MPI_POINTER pIoc5HotSpare_t;/* IOC Page 5 HotSpare Flags */#define MPI_IOC_PAGE_5_HOT_SPARE_ACTIVE                 (0x01)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_5_HOT_SPARE_MAX#define MPI_IOC_PAGE_5_HOT_SPARE_MAX        (1)#endiftypedef struct _CONFIG_PAGE_IOC_5{    fCONFIG_PAGE_HEADER          Header;                         /* 00h */    U32                         Reserved1;                      /* 04h */    U8                          NumHotSpares;                   /* 08h */    U8                          Reserved2;                      /* 09h */    U16                         Reserved3;                      /* 0Ah */    IOC_5_HOT_SPARE             HotSpare[MPI_IOC_PAGE_5_HOT_SPARE_MAX]; /* 0Ch */} fCONFIG_PAGE_IOC_5, MPI_POINTER PTR_CONFIG_PAGE_IOC_5,  IOCPage5_t, MPI_POINTER pIOCPage5_t;#define MPI_IOCPAGE5_PAGEVERSION                        (0x00)/*****************************************************************************   BIOS Port Config Pages****************************************************************************/typedef struct _CONFIG_PAGE_BIOS_1{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     BiosOptions;                /* 04h */    U32                     IOCSettings;                /* 08h */    U32                     Reserved1;                  /* 0Ch */    U32                     DeviceSettings;             /* 10h */    U16                     NumberOfDevices;            /* 14h */    U16                     Reserved2;                  /* 16h */    U16                     IOTimeoutBlockDevicesNonRM; /* 18h */    U16                     IOTimeoutSequential;        /* 1Ah */    U16                     IOTimeoutOther;             /* 1Ch */    U16                     IOTimeoutBlockDevicesRM;    /* 1Eh */} fCONFIG_PAGE_BIOS_1, MPI_POINTER PTR_CONFIG_PAGE_BIOS_1,  BIOSPage1_t, MPI_POINTER pBIOSPage1_t;#define MPI_BIOSPAGE1_PAGEVERSION                       (0x00)

⌨️ 快捷键说明

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