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

📄 gdth.h

📁 linux和2410结合开发 用他可以生成2410所需的zImage文件
💻 H
📖 第 1 页 / 共 4 页
字号:
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;    /* scatter/gather element */typedef struct {    ulong32     sg_ptr;                         /* address */    ulong32     sg_len;                         /* length */} PACKED gdth_sg_str;/* command structure */typedef struct {    ulong32     BoardNode;                      /* board node (always 0) */    ulong32     CommandIndex;                   /* command number */    ushort      OpCode;                         /* the command (READ,..) */    union {        struct {            ushort      DeviceNo;               /* number of cache drive */            ulong32     BlockNo;                /* block number */            ulong32     BlockCnt;               /* block count */            ulong32     DestAddr;               /* dest. addr. (if s/g: -1) */            ulong32     sg_canz;                /* s/g element count */            gdth_sg_str sg_lst[GDTH_MAXSG];     /* s/g list */        } PACKED cache;                         /* cache service cmd. str. */        struct {            ushort      param_size;             /* size of p_param buffer */            ulong32     subfunc;                /* IOCTL function */            ulong32     channel;                /* device */            ulong32     p_param;                /* buffer */        } PACKED ioctl;                         /* IOCTL command structure */        struct {            ushort      reserved;            union {                struct {                    ulong32  msg_handle;        /* message handle */                    ulong32  msg_addr;          /* message buffer address */                } PACKED msg;                unchar       data[12];          /* buffer for rtc data, ... */            } su;        } PACKED screen;                        /* screen service cmd. str. */        struct {            ushort      reserved;            ulong32     direction;              /* data direction */            ulong32     mdisc_time;             /* disc. time (0: no timeout)*/            ulong32     mcon_time;              /* connect time(0: no to.) */            ulong32     sdata;                  /* dest. addr. (if s/g: -1) */            ulong32     sdlen;                  /* data length (bytes) */            ulong32     clen;                   /* SCSI cmd. length(6,10,12) */            unchar      cmd[12];                /* SCSI command */            unchar      target;                 /* target ID */            unchar      lun;                    /* LUN */            unchar      bus;                    /* SCSI bus number */            unchar      priority;               /* only 0 used */            ulong32     sense_len;              /* sense data length */            ulong32     sense_data;             /* sense data addr. */            ulong32     link_p;                 /* linked cmds (not supp.) */            ulong32     sg_ranz;                /* s/g element count */            gdth_sg_str sg_lst[GDTH_MAXSG];     /* s/g list */        } PACKED raw;                           /* raw service cmd. struct. */    } u;    /* additional variables */    unchar      Service;                        /* controller service */    ushort      Status;                         /* command result */    ulong32     Info;                           /* additional information */    Scsi_Cmnd   *RequestBuffer;                 /* request buffer */} PACKED gdth_cmd_str;/* controller event structure */#define ES_ASYNC    1#define ES_DRIVER   2#define ES_TEST     3#define ES_SYNC     4typedef struct {    ushort                  size;               /* size of structure */    union {        char                stream[16];        struct {            ushort          ionode;            ushort          service;            ulong32         index;        } PACKED driver;        struct {            ushort          ionode;            ushort          service;            ushort          status;            ulong32         info;            unchar          scsi_coord[3];        } PACKED async;        struct {            ushort          ionode;            ushort          service;            ushort          status;            ulong32         info;            ushort          hostdrive;            unchar          scsi_coord[3];            unchar          sense_key;        } PACKED sync;        struct {            ulong32         l1, l2, l3, l4;        } PACKED test;    } eu;    ulong32                 severity;    unchar                  event_string[256];          } PACKED gdth_evt_data;typedef struct {    ulong32         first_stamp;    ulong32         last_stamp;    ushort          same_count;    ushort          event_source;    ushort          event_idx;    unchar          application;    unchar          reserved;    gdth_evt_data   event_data;} PACKED gdth_evt_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 */} PACKED gdt6c_dpram_str;/* i960 register structure (PCI MPR controllers) */typedef struct {    unchar              unused1[16];    unchar volatile     sema0_reg;              /* command semaphore */    unchar              unused2;    unchar volatile     sema1_reg;              /* status semaphore */    unchar              unused3;    ushort volatile     status;                 /* command status */    ushort              service;                /* service */    ulong32             info[2];                /* additional info */    unchar              ldoor_reg;              /* PCI to local doorbell */    unchar              unused4[11];    unchar volatile     edoor_reg;              /* local to PCI doorbell */    unchar              unused5[7];    unchar              edoor_en_reg;           /* board interrupts enable */    unchar              unused6[27];    ulong32             unused7[939];             ulong32             severity;           char                evt_str[256];           /* event string */} PACKED gdt6m_i960_regs;/* DPRAM PCI MPR controllers */typedef struct {    gdt6m_i960_regs     i960r;                  /* 4KB i960 registers */    union {        gdt_dpr_if      ic;                     /* interface area */        unchar          if_area[0x3000-sizeof(gdt_pci_sram)];    } u;    gdt_pci_sram        gdt6sr;                 /* SRAM structure */} PACKED gdt6m_dpram_str;/* PCI resources */typedef struct {

⌨️ 快捷键说明

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