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

📄 dac960.h

📁 Linux块设备驱动源码
💻 H
📖 第 1 页 / 共 5 页
字号:
  Define the DAC960 V2 Firmware Memory Type structure.*/typedef struct DAC960_V2_MemoryType{  enum {    DAC960_V2_MemoryType_Reserved =		0x00,    DAC960_V2_MemoryType_DRAM =			0x01,    DAC960_V2_MemoryType_EDRAM =		0x02,    DAC960_V2_MemoryType_EDO =			0x03,    DAC960_V2_MemoryType_SDRAM =		0x04,    DAC960_V2_MemoryType_Last =			0x1F  } __attribute__ ((packed)) MemoryType:5;		/* Byte 0 Bits 0-4 */  boolean :1;						/* Byte 0 Bit 5 */  boolean MemoryParity:1;				/* Byte 0 Bit 6 */  boolean MemoryECC:1;					/* Byte 0 Bit 7 */}DAC960_V2_MemoryType_T;/*  Define the DAC960 V2 Firmware Processor Type structure.*/typedef enum{  DAC960_V2_ProcessorType_i960CA =		0x01,  DAC960_V2_ProcessorType_i960RD =		0x02,  DAC960_V2_ProcessorType_i960RN =		0x03,  DAC960_V2_ProcessorType_i960RP =		0x04,  DAC960_V2_ProcessorType_NorthBay =		0x05,  DAC960_V2_ProcessorType_StrongArm =		0x06,  DAC960_V2_ProcessorType_i960RM =		0x07}__attribute__ ((packed))DAC960_V2_ProcessorType_T;/*  Define the DAC960 V2 Firmware Get Controller Info reply structure.*/typedef struct DAC960_V2_ControllerInfo{  unsigned char :8;					/* Byte 0 */  enum {    DAC960_V2_SCSI_Bus =			0x00,    DAC960_V2_Fibre_Bus =			0x01,    DAC960_V2_PCI_Bus =				0x03  } __attribute__ ((packed)) BusInterfaceType;		/* Byte 1 */  enum {    DAC960_V2_DAC960E =				0x01,    DAC960_V2_DAC960M =				0x08,    DAC960_V2_DAC960PD =			0x10,    DAC960_V2_DAC960PL =			0x11,    DAC960_V2_DAC960PU =			0x12,    DAC960_V2_DAC960PE =			0x13,    DAC960_V2_DAC960PG =			0x14,    DAC960_V2_DAC960PJ =			0x15,    DAC960_V2_DAC960PTL0 =			0x16,    DAC960_V2_DAC960PR =			0x17,    DAC960_V2_DAC960PRL =			0x18,    DAC960_V2_DAC960PT =			0x19,    DAC960_V2_DAC1164P =			0x1A,    DAC960_V2_DAC960PTL1 =			0x1B,    DAC960_V2_EXR2000P =			0x1C,    DAC960_V2_EXR3000P =			0x1D,    DAC960_V2_AcceleRAID352 =			0x1E,    DAC960_V2_AcceleRAID170 =			0x1F,    DAC960_V2_AcceleRAID160 =			0x20,    DAC960_V2_DAC960S =				0x60,    DAC960_V2_DAC960SU =			0x61,    DAC960_V2_DAC960SX =			0x62,    DAC960_V2_DAC960SF =			0x63,    DAC960_V2_DAC960SS =			0x64,    DAC960_V2_DAC960FL =			0x65,    DAC960_V2_DAC960LL =			0x66,    DAC960_V2_DAC960FF =			0x67,    DAC960_V2_DAC960HP =			0x68,    DAC960_V2_RAIDBRICK =			0x69,    DAC960_V2_METEOR_FL =			0x6A,    DAC960_V2_METEOR_FF =			0x6B  } __attribute__ ((packed)) ControllerType;		/* Byte 2 */  unsigned char :8;					/* Byte 3 */  unsigned short BusInterfaceSpeedMHz;			/* Bytes 4-5 */  unsigned char BusWidthBits;				/* Byte 6 */  unsigned char FlashCodeTypeOrProductID;		/* Byte 7 */  unsigned char NumberOfHostPortsPresent;		/* Byte 8 */  unsigned char Reserved1[7];				/* Bytes 9-15 */  unsigned char BusInterfaceName[16];			/* Bytes 16-31 */  unsigned char ControllerName[16];			/* Bytes 32-47 */  unsigned char Reserved2[16];				/* Bytes 48-63 */  /* Firmware Release Information */  unsigned char FirmwareMajorVersion;			/* Byte 64 */  unsigned char FirmwareMinorVersion;			/* Byte 65 */  unsigned char FirmwareTurnNumber;			/* Byte 66 */  unsigned char FirmwareBuildNumber;			/* Byte 67 */  unsigned char FirmwareReleaseDay;			/* Byte 68 */  unsigned char FirmwareReleaseMonth;			/* Byte 69 */  unsigned char FirmwareReleaseYearHigh2Digits;		/* Byte 70 */  unsigned char FirmwareReleaseYearLow2Digits;		/* Byte 71 */  /* Hardware Release Information */  unsigned char HardwareRevision;			/* Byte 72 */  unsigned int :24;					/* Bytes 73-75 */  unsigned char HardwareReleaseDay;			/* Byte 76 */  unsigned char HardwareReleaseMonth;			/* Byte 77 */  unsigned char HardwareReleaseYearHigh2Digits;		/* Byte 78 */  unsigned char HardwareReleaseYearLow2Digits;		/* Byte 79 */  /* Hardware Manufacturing Information */  unsigned char ManufacturingBatchNumber;		/* Byte 80 */  unsigned char :8;					/* Byte 81 */  unsigned char ManufacturingPlantNumber;		/* Byte 82 */  unsigned char :8;					/* Byte 83 */  unsigned char HardwareManufacturingDay;		/* Byte 84 */  unsigned char HardwareManufacturingMonth;		/* Byte 85 */  unsigned char HardwareManufacturingYearHigh2Digits;	/* Byte 86 */  unsigned char HardwareManufacturingYearLow2Digits;	/* Byte 87 */  unsigned char MaximumNumberOfPDDperXLD;		/* Byte 88 */  unsigned char MaximumNumberOfILDperXLD;		/* Byte 89 */  unsigned short NonvolatileMemorySizeKB;		/* Bytes 90-91 */  unsigned char MaximumNumberOfXLD;			/* Byte 92 */  unsigned int :24;					/* Bytes 93-95 */  /* Unique Information per Controller */  unsigned char ControllerSerialNumber[16];		/* Bytes 96-111 */  unsigned char Reserved3[16];				/* Bytes 112-127 */  /* Vendor Information */  unsigned int :24;					/* Bytes 128-130 */  unsigned char OEM_Code;				/* Byte 131 */  unsigned char VendorName[16];				/* Bytes 132-147 */  /* Other Physical/Controller/Operation Information */  boolean BBU_Present:1;				/* Byte 148 Bit 0 */  boolean ActiveActiveClusteringMode:1;			/* Byte 148 Bit 1 */  unsigned char :6;					/* Byte 148 Bits 2-7 */  unsigned char :8;					/* Byte 149 */  unsigned short :16;					/* Bytes 150-151 */  /* Physical Device Scan Information */  boolean PhysicalScanActive:1;				/* Byte 152 Bit 0 */  unsigned char :7;					/* Byte 152 Bits 1-7 */  unsigned char PhysicalDeviceChannelNumber;		/* Byte 153 */  unsigned char PhysicalDeviceTargetID;			/* Byte 154 */  unsigned char PhysicalDeviceLogicalUnit;		/* Byte 155 */  /* Maximum Command Data Transfer Sizes */  unsigned short MaximumDataTransferSizeInBlocks;	/* Bytes 156-157 */  unsigned short MaximumScatterGatherEntries;		/* Bytes 158-159 */  /* Logical/Physical Device Counts */  unsigned short LogicalDevicesPresent;			/* Bytes 160-161 */  unsigned short LogicalDevicesCritical;		/* Bytes 162-163 */  unsigned short LogicalDevicesOffline;			/* Bytes 164-165 */  unsigned short PhysicalDevicesPresent;		/* Bytes 166-167 */  unsigned short PhysicalDisksPresent;			/* Bytes 168-169 */  unsigned short PhysicalDisksCritical;			/* Bytes 170-171 */  unsigned short PhysicalDisksOffline;			/* Bytes 172-173 */  unsigned short MaximumParallelCommands;		/* Bytes 174-175 */  /* Channel and Target ID Information */  unsigned char NumberOfPhysicalChannelsPresent;	/* Byte 176 */  unsigned char NumberOfVirtualChannelsPresent;		/* Byte 177 */  unsigned char NumberOfPhysicalChannelsPossible;	/* Byte 178 */  unsigned char NumberOfVirtualChannelsPossible;	/* Byte 179 */  unsigned char MaximumTargetsPerChannel[16];		/* Bytes 180-195 */  unsigned char Reserved4[12];				/* Bytes 196-207 */  /* Memory/Cache Information */  unsigned short MemorySizeMB;				/* Bytes 208-209 */  unsigned short CacheSizeMB;				/* Bytes 210-211 */  unsigned int ValidCacheSizeInBytes;			/* Bytes 212-215 */  unsigned int DirtyCacheSizeInBytes;			/* Bytes 216-219 */  unsigned short MemorySpeedMHz;			/* Bytes 220-221 */  unsigned char MemoryDataWidthBits;			/* Byte 222 */  DAC960_V2_MemoryType_T MemoryType;			/* Byte 223 */  unsigned char CacheMemoryTypeName[16];		/* Bytes 224-239 */  /* Execution Memory Information */  unsigned short ExecutionMemorySizeMB;			/* Bytes 240-241 */  unsigned short ExecutionL2CacheSizeMB;		/* Bytes 242-243 */  unsigned char Reserved5[8];				/* Bytes 244-251 */  unsigned short ExecutionMemorySpeedMHz;		/* Bytes 252-253 */  unsigned char ExecutionMemoryDataWidthBits;		/* Byte 254 */  DAC960_V2_MemoryType_T ExecutionMemoryType;		/* Byte 255 */  unsigned char ExecutionMemoryTypeName[16];		/* Bytes 256-271 */  /* First CPU Type Information */  unsigned short FirstProcessorSpeedMHz;		/* Bytes 272-273 */  DAC960_V2_ProcessorType_T FirstProcessorType;		/* Byte 274 */  unsigned char FirstProcessorCount;			/* Byte 275 */  unsigned char Reserved6[12];				/* Bytes 276-287 */  unsigned char FirstProcessorName[16];			/* Bytes 288-303 */  /* Second CPU Type Information */  unsigned short SecondProcessorSpeedMHz;		/* Bytes 304-305 */  DAC960_V2_ProcessorType_T SecondProcessorType;	/* Byte 306 */  unsigned char SecondProcessorCount;			/* Byte 307 */  unsigned char Reserved7[12];				/* Bytes 308-319 */  unsigned char SecondProcessorName[16];		/* Bytes 320-335 */  /* Debugging/Profiling/Command Time Tracing Information */  unsigned short CurrentProfilingDataPageNumber;	/* Bytes 336-337 */  unsigned short ProgramsAwaitingProfilingData;		/* Bytes 338-339 */  unsigned short CurrentCommandTimeTraceDataPageNumber;	/* Bytes 340-341 */  unsigned short ProgramsAwaitingCommandTimeTraceData;	/* Bytes 342-343 */  unsigned char Reserved8[8];				/* Bytes 344-351 */  /* Error Counters on Physical Devices */  unsigned short PhysicalDeviceBusResets;		/* Bytes 352-353 */  unsigned short PhysicalDeviceParityErrors;		/* Bytes 355-355 */  unsigned short PhysicalDeviceSoftErrors;		/* Bytes 356-357 */  unsigned short PhysicalDeviceCommandsFailed;		/* Bytes 358-359 */  unsigned short PhysicalDeviceMiscellaneousErrors;	/* Bytes 360-361 */  unsigned short PhysicalDeviceCommandTimeouts;		/* Bytes 362-363 */  unsigned short PhysicalDeviceSelectionTimeouts;	/* Bytes 364-365 */  unsigned short PhysicalDeviceRetriesDone;		/* Bytes 366-367 */  unsigned short PhysicalDeviceAbortsDone;		/* Bytes 368-369 */  unsigned short PhysicalDeviceHostCommandAbortsDone;	/* Bytes 370-371 */  unsigned short PhysicalDevicePredictedFailuresDetected; /* Bytes 372-373 */  unsigned short PhysicalDeviceHostCommandsFailed;	/* Bytes 374-375 */  unsigned short PhysicalDeviceHardErrors;		/* Bytes 376-377 */  unsigned char Reserved9[6];				/* Bytes 378-383 */  /* Error Counters on Logical Devices */  unsigned short LogicalDeviceSoftErrors;		/* Bytes 384-385 */  unsigned short LogicalDeviceCommandsFailed;		/* Bytes 386-387 */  unsigned short LogicalDeviceHostCommandAbortsDone;	/* Bytes 388-389 */  unsigned short :16;					/* Bytes 390-391 */  /* Error Counters on Controller */  unsigned short ControllerMemoryErrors;		/* Bytes 392-393 */  unsigned short ControllerHostCommandAbortsDone;	/* Bytes 394-395 */  unsigned int :32;					/* Bytes 396-399 */  /* Long Duration Activity Information */  unsigned short BackgroundInitializationsActive;	/* Bytes 400-401 */  unsigned short LogicalDeviceInitializationsActive;	/* Bytes 402-403 */  unsigned short PhysicalDeviceInitializationsActive;	/* Bytes 404-405 */  unsigned short ConsistencyChecksActive;		/* Bytes 406-407 */  unsigned short RebuildsActive;			/* Bytes 408-409 */  unsigned short OnlineExpansionsActive;		/* Bytes 410-411 */  unsigned short PatrolActivitiesActive;		/* Bytes 412-413 */  unsigned short :16;					/* Bytes 414-415 */  /* Flash ROM Information */  unsigned char FlashType;				/* Byte 416 */  unsigned char :8;					/* Byte 417 */  unsigned short FlashSizeMB;				/* Bytes 418-419 */  unsigned int FlashLimit;				/* Bytes 420-423 */  unsigned int FlashCount;				/* Bytes 424-427 */  unsigned int :32;					/* Bytes 428-431 */  unsigned char FlashTypeName[16];			/* Bytes 432-447 */  /* Firmware Run Time Information */  unsigned char RebuildRate;				/* Byte 448 */  unsigned char BackgroundInitializationRate;		/* Byte 449 */  unsigned char ForegroundInitializationRate;		/* Byte 450 */  unsigned char ConsistencyCheckRate;			/* Byte 451 */  unsigned int :32;					/* Bytes 452-455 */  unsigned int MaximumDP;				/* Bytes 456-459 */  unsigned int FreeDP;					/* Bytes 460-463 */  unsigned int MaximumIOP;				/* Bytes 464-467 */  unsigned int FreeIOP;					/* Bytes 468-471 */  unsigned short MaximumCombLengthInBlocks;		/* Bytes 472-473 */  unsigned short NumberOfConfigurationGroups;		/* Bytes 474-475 */  boolean InstallationAbortStatus:1;			/* Byte 476 Bit 0 */  boolean MaintenanceModeStatus:1;			/* Byte 476 Bit 1 */  unsigned int :24;					/* Bytes 476-479 */  unsigned char Reserved10[32];				/* Bytes 480-511 */  unsigned char Reserved11[512];			/* Bytes 512-1023 */}DAC960_V2_ControllerInfo_T;/*  Define the DAC960 V2 Firmware Logical Device State type.*/typedef enum{  DAC960_V2_LogicalDevice_Online =		0x01,  DAC960_V2_LogicalDevice_Offline =		0x08,  DAC960_V2_LogicalDevice_Critical =		0x09}__attribute__ ((packed))DAC960_V2_LogicalDeviceState_T;/*  Define the DAC960 V2 Firmware Get Logical Device Info reply structure.*/typedef struct DAC960_V2_LogicalDeviceInfo{  unsigned char :8;					/* Byte 0 */  unsigned char Channel;				/* Byte 1 */  unsigned char TargetID;				/* Byte 2 */  unsigned char LogicalUnit;				/* Byte 3 */  DAC960_V2_LogicalDeviceState_T LogicalDeviceState;	/* Byte 4 */  unsigned char RAIDLevel;				/* Byte 5 */  unsigned char StripeSize;				/* Byte 6 */  unsigned char CacheLineSize;				/* Byte 7 */  struct {    enum {      DAC960_V2_ReadCacheDisabled =		0x0,      DAC960_V2_ReadCacheEnabled =		0x1,      DAC960_V2_ReadAheadEnabled =		0x2,      DAC960_V2_IntelligentReadAheadEnabled =	0x3,      DAC960_V2_ReadCache_Last =		0x7    } __attribute__ ((packed)) ReadCache:3;		/* Byte 8 Bits 0-2 */    enum {      DAC960_V2_WriteCacheDisabled =		0x0,      DAC960_V2_LogicalDeviceReadOnly =		0x1,      DAC960_V2_WriteCacheEnabled =		0x2,      DAC960_V2_IntelligentWriteCacheEnabled =	0x3,      DAC960_V2_WriteCache_Last =		0x7    } __attribute__ ((packed)) WriteCache:3;		/* Byte 8 Bits 3-5 */    boolean :1;						/* Byte 8 Bit 6 */    boolean LogicalDeviceInitialized:1;			/* Byte 8 Bit 7 */  } LogicalDeviceControl;				/* Byte 8 */  /* Logical Device Operations Status */  boolean ConsistencyCheckInProgress:1;			/* Byte 9 Bit 0 */  boolean RebuildInProgress:1;				/* Byte 9 Bit 1 */  boolean BackgroundInitializationInProgress:1;		/* Byte 9 Bit 2 */  boolean ForegroundInitializationInProgress:1;		/* Byte 9 Bit 3 */  boolean DataMigrationInProgress:1;			/* Byte 9 Bit 4 */  boolean PatrolOperationInProgress:1;			/* Byte 9 Bit 5 */  unsigned char :2;					/* Byte 9 Bits 6-7 */  unsigned char RAID5WriteUpdate;			/* Byte 10 */  unsigned char RAID5Algorithm;				/* Byte 11 */  unsigned short LogicalDeviceNumber;			/* Bytes 12-13 */  /* BIOS Info */  boolean BIOSDisabled:1;				/* Byte 14 Bit 0 */  boolean CDROMBootEnabled:1;				/* Byte 14 Bit 1 */  boolean DriveCoercionEnabled:1;			/* Byte 14 Bit 2 */  boolean WriteSameDisabled:1;				/* Byte 14 Bit 3 */  boolean HBA_ModeEnabled:1;				/* Byte 14 Bit 4 */  enum {    DAC960_V2_Geometry_128_32 =			0x0,    DAC960_V2_Geometry_255_63 =			0x1,    DAC960_V2_Geometry_Reserved1 =		0x2,    DAC960_V2_Geometry_Reserved2 =		0x3  } __attribute__ ((packed)) DriveGeometry:2;		/* Byte 14 Bits 5-6 */  boolean SuperReadAheadEnabled:1;			/* Byte 14 Bit 7 */  unsigned char :8;					/* Byte 15 */  /* Error Counters */  unsigned short SoftErrors;				/* Bytes 16-17 */  unsigned short CommandsFailed;			/* Bytes 18-19 */  unsigned short HostCommandAbortsDone;			/* Bytes 20-21 */  unsigned short DeferredWriteErrors;			/* Bytes 22-23 */  unsigned int :32;					/* Bytes 24-27 */  unsigned int :32;					/* Bytes 28-31 */  /* Device Size Information */  unsigned short :16;					/* Bytes 32-33 */  unsigned short DeviceBlockSizeInBytes;		/* Bytes 34-35 */  unsigned int OriginalDeviceSize;			/* Bytes 36-39 */  unsigned int ConfigurableDeviceSize;			/* Bytes 40-43 */  unsigned int :32;					/* Bytes 44-47 */  unsigned char LogicalDeviceName[32];			/* Bytes 48-79 */  unsigned char SCSI_InquiryData[36];			/* Bytes 80-115 */  unsigned char Reserved1[12];				/* Bytes 116-127 */  DAC960_ByteCount64_T LastReadBlockNumber;		/* Bytes 128-135 */  DAC960_ByteCount64_T LastWrittenBlockNumber;		/* Bytes 136-143 */  DAC960_ByteCount64_T ConsistencyCheckBlockNumber;	/* Bytes 144-151 */  DAC960_ByteCount64_T RebuildBlockNumber;		/* Bytes 152-159 */  DAC960_ByteCount64_T BackgroundInitializationBlockNumber; /* Bytes 160-167 */  DAC960_ByteCount64_T ForegroundInitializationBlockNumber; /* Bytes 168-175 */  DAC960_ByteCount64_T DataMigrationBlockNumber;	/* Bytes 176-183 */  DAC960_ByteCount64_T PatrolOperationBlockNumber;	/* Bytes 184-191 */  unsigned char Reserved2[64];				/* Bytes 192-255 */

⌨️ 快捷键说明

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