gdth.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 1,080 行 · 第 1/4 页
H
1,080 行
ulong32 entries_init; /* returned entries */ ulong32 first_entry; /* first entry number */ ulong32 list_offset; /* offset of following list */ gdth_alist_str list[1]; /* list */} PACKED gdth_arcdl_str;/* cache info/config IOCTL */typedef struct { ulong32 version; /* firmware version */ ushort state; /* cache state (on/off) */ ushort strategy; /* cache strategy */ ushort write_back; /* write back state (on/off) */ ushort block_size; /* cache block size */} PACKED gdth_cpar_str;typedef struct { ulong32 csize; /* cache size */ ulong32 read_cnt; /* read/write counter */ ulong32 write_cnt; ulong32 tr_hits; /* hits */ ulong32 sec_hits; ulong32 sec_miss; /* misses */} PACKED gdth_cstat_str;typedef struct { gdth_cpar_str cpar; gdth_cstat_str cstat;} PACKED gdth_cinfo_str;/* cache drive info */typedef struct { unchar cd_name[8]; /* cache drive name */ ulong32 cd_devtype; /* SCSI devicetype */ ulong32 cd_ldcnt; /* number of log. drives */ ulong32 cd_last_error; /* last error */ unchar cd_initialized; /* drive is initialized */ unchar cd_removable; /* media is removable */ unchar cd_write_protected; /* write protected */ unchar cd_flags; /* Pool Hot Fix? */ ulong32 ld_blkcnt; /* number of blocks */ ulong32 ld_blksize; /* blocksize */ ulong32 ld_dcnt; /* number of disks */ ulong32 ld_slave; /* log. drive index */ ulong32 ld_dtype; /* type of logical drive */ ulong32 ld_last_error; /* last error */ unchar ld_name[8]; /* log. drive name */ unchar ld_error; /* error */} PACKED gdth_cdrinfo_str;/* OEM string */typedef struct { ulong32 ctl_version; ulong32 file_major_version; ulong32 file_minor_version; ulong32 buffer_size; ulong32 cpy_count; ulong32 ext_error; ulong32 oem_id; ulong32 board_id;} PACKED gdth_oem_str_params;typedef struct { unchar product_0_1_name[16]; unchar product_4_5_name[16]; unchar product_cluster_name[16]; unchar product_reserved[16]; unchar scsi_cluster_target_vendor_id[16]; unchar cluster_raid_fw_name[16]; unchar oem_brand_name[16]; unchar oem_raid_type[16]; unchar bios_type[13]; unchar bios_title[50]; unchar oem_company_name[37]; ulong32 pci_id_1; ulong32 pci_id_2; unchar validation_status[80]; unchar reserved_1[4]; unchar scsi_host_drive_inquiry_vendor_id[16]; unchar library_file_template[16]; unchar reserved_2[16]; unchar tool_name_1[32]; unchar tool_name_2[32]; unchar tool_name_3[32]; unchar oem_contact_1[84]; unchar oem_contact_2[84]; unchar oem_contact_3[84];} PACKED gdth_oem_str;typedef struct { gdth_oem_str_params params; gdth_oem_str text;} PACKED gdth_oem_str_ioctl;/* board features */typedef struct { unchar chaining; /* Chaining supported */ unchar striping; /* Striping (RAID-0) supp. */ unchar mirroring; /* Mirroring (RAID-1) supp. */ unchar raid; /* RAID-4/5/10 supported */} PACKED gdth_bfeat_str;/* board info IOCTL */typedef struct { ulong32 ser_no; /* serial no. */ unchar oem_id[2]; /* OEM ID */ ushort ep_flags; /* eprom flags */ ulong32 proc_id; /* processor ID */ ulong32 memsize; /* memory size (bytes) */ unchar mem_banks; /* memory banks */ unchar chan_type; /* channel type */ unchar chan_count; /* channel count */ unchar rdongle_pres; /* dongle present? */ ulong32 epr_fw_ver; /* (eprom) firmware version */ ulong32 upd_fw_ver; /* (update) firmware version */ ulong32 upd_revision; /* update revision */ char type_string[16]; /* controller name */ char raid_string[16]; /* RAID firmware name */ unchar update_pres; /* update present? */ unchar xor_pres; /* XOR engine present? */ unchar prom_type; /* ROM type (eprom/flash) */ unchar prom_count; /* number of ROM devices */ ulong32 dup_pres; /* duplexing module present? */ ulong32 chan_pres; /* number of expansion chn. */ ulong32 mem_pres; /* memory expansion inst. ? */ unchar ft_bus_system; /* fault bus supported? */ unchar subtype_valid; /* board_subtype valid? */ unchar board_subtype; /* subtype/hardware level */ unchar ramparity_pres; /* RAM parity check hardware? */} PACKED gdth_binfo_str; /* get host drive info */typedef struct { char name[8]; /* host drive name */ ulong32 size; /* size (sectors) */ unchar host_drive; /* host drive number */ unchar log_drive; /* log. drive (master) */ unchar reserved; unchar rw_attribs; /* r/w attribs */ ulong32 start_sec; /* start sector */} PACKED gdth_hentry_str;typedef struct { ulong32 entries; /* entry count */ ulong32 offset; /* offset of entries */ unchar secs_p_head; /* sectors/head */ unchar heads_p_cyl; /* heads/cylinder */ unchar reserved; unchar clust_drvtype; /* cluster drive type */ ulong32 location; /* controller number */ gdth_hentry_str entry[MAX_HDRIVES]; /* entries */} PACKED gdth_hget_str; /* DPRAM structures *//* interface area ISA/PCI */typedef struct { unchar S_Cmd_Indx; /* special command */ unchar volatile S_Status; /* status special command */ ushort reserved1; ulong32 S_Info[4]; /* add. info special command */ unchar volatile Sema0; /* command semaphore */ unchar reserved2[3]; unchar Cmd_Index; /* command number */ unchar reserved3[3]; ushort volatile Status; /* command status */ ushort Service; /* service(for async.events) */ ulong32 Info[2]; /* additional info */ struct { ushort offset; /* command offs. in the DPRAM*/ ushort serv_id; /* service */ } PACKED comm_queue[MAXOFFSETS]; /* command queue */ ulong32 bios_reserved[2]; unchar gdt_dpr_cmd[1]; /* commands */} PACKED gdt_dpr_if;/* SRAM structure PCI controllers */typedef struct { ulong32 magic; /* controller ID from BIOS */ ushort need_deinit; /* switch betw. BIOS/driver */ unchar switch_support; /* see need_deinit */ unchar padding[9]; unchar os_used[16]; /* OS code per service */ unchar unused[28]; unchar fw_magic; /* contr. ID from firmware */} PACKED gdt_pci_sram;/* SRAM structure EISA controllers (but NOT GDT3000/3020) */typedef struct { unchar os_used[16]; /* OS code per service */ ushort need_deinit; /* switch betw. BIOS/driver */ unchar switch_support; /* see need_deinit */ unchar padding;} PACKED gdt_eisa_sram;/* DPRAM ISA controllers */typedef struct { union { struct { unchar bios_used[0x3c00-32]; /* 15KB - 32Bytes BIOS */ ulong32 magic; /* controller (EISA) ID */ ushort need_deinit; /* switch betw. BIOS/driver */ unchar switch_support; /* see need_deinit */ unchar padding[9]; unchar os_used[16]; /* OS code per service */ } PACKED dp_sram; unchar bios_area[0x4000]; /* 16KB reserved for BIOS */ } bu; union { gdt_dpr_if ic; /* interface area */ unchar if_area[0x3000]; /* 12KB for interface */ } u; struct { unchar memlock; /* write protection DPRAM */ unchar event; /* release event */ unchar irqen; /* board interrupts enable */ unchar irqdel; /* acknowledge board int. */ unchar volatile Sema1; /* status semaphore */ unchar rq; /* IRQ/DRQ configuration */ } PACKED io;} PACKED gdt2_dpram_str;/* DPRAM PCI controllers */typedef struct { union { gdt_dpr_if ic; /* interface area */ unchar if_area[0xff0-sizeof(gdt_pci_sram)]; } u; gdt_pci_sram gdt6sr; /* SRAM structure */ struct { unchar unused0[1]; unchar volatile Sema1; /* command semaphore */ unchar unused1[3]; unchar irqen; /* board interrupts enable */ unchar unused2[2]; unchar event; /* release event */ unchar unused3[3]; unchar irqdel; /* acknowledge board int. */ unchar unused4[3]; } PACKED io;} PACKED gdt6_dpram_str;/* PLX register structure (new PCI controllers) */typedef struct { unchar cfg_reg; /* DPRAM cfg.(2:below 1MB,0:anywhere)*/ unchar unused1[0x3f]; unchar volatile sema0_reg; /* command semaphore */ unchar volatile sema1_reg; /* status semaphore */ unchar unused2[2]; ushort volatile status; /* command status */ ushort service; /* service */ ulong32 info[2]; /* additional info */ unchar unused3[0x10]; unchar ldoor_reg; /* PCI to local doorbell */ unchar unused4[3]; unchar volatile edoor_reg; /* local to PCI doorbell */ unchar unused5[3]; unchar control0; /* control0 register(unused) */ unchar control1; /* board interrupts enable */ unchar unused6[0x16];} PACKED gdt6c_plx_regs;/* DPRAM new PCI controllers */typedef struct { union { gdt_dpr_if ic; /* interface area */ unchar if_area[0x4000-sizeof(gdt_pci_sram)]; } u; gdt_pci_sram gdt6sr; /* SRAM structure */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?