pciHeaderDefs.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* pciHeaderDefs.h - PCI bus config space header definitions */
  2. /* Copyright 1984-1998 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,04mar98,tm   adapted from pciIomapLib.h v01j
  7. */
  8. #ifndef __INCpciHeaderDefsh
  9. #define __INCpciHeaderDefsh
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #ifndef _ASMLANGUAGE
  14. /* structure for the device & bridge header */
  15. typedef struct pciHeaderDevice
  16.     {
  17.     short vendorId; /* vendor ID */
  18.     short deviceId; /* device ID */
  19.     short command; /* command register */
  20.     short status; /* status register */
  21.     char revisionId; /* revision ID */
  22.     char classCode; /* class code */
  23.     char subClass; /* sub class code */
  24.     char progIf; /* programming interface */
  25.     char cacheLine; /* cache line */
  26.     char latency; /* latency time */
  27.     char headerType; /* header type */
  28.     char bist; /* BIST */
  29.     int base0; /* base address 0 */
  30.     int base1; /* base address 1 */
  31.     int base2; /* base address 2 */
  32.     int base3; /* base address 3 */
  33.     int base4; /* base address 4 */
  34.     int base5; /* base address 5 */
  35.     int cis; /* cardBus CIS pointer */
  36.     short subVendorId; /* sub system vendor ID */
  37.     short subSystemId; /* sub system ID */
  38.     int romBase; /* expansion ROM base address */
  39.     int reserved0; /* reserved */
  40.     int reserved1; /* reserved */
  41.     char intLine; /* interrupt line */
  42.     char intPin; /* interrupt pin */
  43.     char minGrant; /* min Grant */
  44.     char maxLatency; /* max Latency */
  45.     } PCI_HEADER_DEVICE;
  46. typedef struct pciHeaderBridge
  47.     {
  48.     short vendorId; /* vendor ID */
  49.     short deviceId; /* device ID */
  50.     short command; /* command register */
  51.     short status; /* status register */
  52.     char revisionId; /* revision ID */
  53.     char classCode; /* class code */
  54.     char subClass; /* sub class code */
  55.     char progIf; /* programming interface */
  56.     char cacheLine; /* cache line */
  57.     char latency; /* latency time */
  58.     char headerType; /* header type */
  59.     char bist; /* BIST */
  60.     int base0; /* base address 0 */
  61.     int base1; /* base address 1 */
  62.     char priBus; /* primary bus number */
  63.     char secBus; /* secondary bus number */
  64.     char subBus; /* subordinate bus number */
  65.     char secLatency; /* secondary latency timer */
  66.     char ioBase; /* IO base */
  67.     char ioLimit; /* IO limit */
  68.     short secStatus; /* secondary status */
  69.     short memBase; /* memory base */
  70.     short memLimit; /* memory limit */
  71.     short preBase; /* prefetchable memory base */
  72.     short preLimit; /* prefetchable memory limit */
  73.     int preBaseUpper; /* prefetchable memory base upper 32 bits */
  74.     int preLimitUpper; /* prefetchable memory base upper 32 bits */
  75.     short ioBaseUpper; /* IO base upper 16 bits */
  76.     short ioLimitUpper; /* IO limit upper 16 bits */
  77.     int reserved; /* reserved */
  78.     int romBase; /* expansion ROM base address */
  79.     char intLine; /* interrupt line */
  80.     char intPin; /* interrupt pin */
  81.     short control; /* bridge control */
  82.     } PCI_HEADER_BRIDGE;
  83. #endif /* _ASMLANGUAGE */
  84. #ifdef __cplusplus
  85. }
  86. #endif
  87. #endif /* __INCpciHeaderDefsh */