pcidump.h
上传用户:wudi5211
上传日期:2010-01-21
资源大小:607k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

C/C++

  1. /*
  2.  * This header declares a table to decode the first 64 bytes od cfg space
  3.  */
  4. #include <linux/pci.h>
  5. struct pcidump_info {
  6.     int offset, size; /* the data item to retrieve */
  7.     int bitmask;
  8.     int bool; /* true or false */
  9.     char *string;
  10. }
  11. struct pcidump_info dumpinfo[] = {
  12.     {0, 2, ~0, 0, "Vendor id: %04xn"},
  13.     {2, 2, ~0, 0, "Device id: %04xn"},
  14.     {4, 2, PCI_COMMAND_IO, 1, "I/O space enabled: %cn"},
  15.     {0, 0, 0, 0, NULL}
  16. };
  17. #if 0
  18. /*
  19.  * Under PCI, each device has 256 bytes of configuration address space,
  20.  * of which the first 64 bytes are standardized as follows:
  21.  */
  22. #define PCI_VENDOR_ID           0x00    /* 16 bits */
  23. #define PCI_DEVICE_ID           0x02    /* 16 bits */
  24. #define PCI_COMMAND             0x04    /* 16 bits */
  25. #define  PCI_COMMAND_IO         0x1     /* Enable response in I/O space */
  26. #define  PCI_COMMAND_MEMORY     0x2     /* Enable response in Memory space */
  27. #define  PCI_COMMAND_MASTER     0x4     /* Enable bus mastering */
  28. #define  PCI_COMMAND_SPECIAL    0x8     /* Enable response to special cycles */
  29. #define  PCI_COMMAND_INVALIDATE 0x10    /* Use memory write and invalidate */
  30. #define  PCI_COMMAND_VGA_PALETTE 0x20   /* Enable palette snooping */
  31. #define  PCI_COMMAND_PARITY     0x40    /* Enable parity checking */
  32. #define  PCI_COMMAND_WAIT       0x80    /* Enable address/data stepping */
  33. #define  PCI_COMMAND_SERR       0x100   /* Enable SERR */
  34. #define  PCI_COMMAND_FAST_BACK  0x200   /* Enable back-to-back writes */
  35. #define PCI_STATUS              0x06    /* 16 bits */
  36. #define  PCI_STATUS_66MHZ       0x20    /* Support 66 Mhz PCI 2.1 bus */
  37. #define  PCI_STATUS_UDF         0x40    /* Support User Definable Features */
  38. #define  PCI_STATUS_FAST_BACK   0x80    /* Accept fast-back to back */
  39. #define  PCI_STATUS_PARITY      0x100   /* Detected parity error */
  40. #define  PCI_STATUS_DEVSEL_MASK 0x600   /* DEVSEL timing */
  41. #define  PCI_STATUS_DEVSEL_FAST 0x000
  42. #define  PCI_STATUS_DEVSEL_MEDIUM 0x200
  43. #define  PCI_STATUS_DEVSEL_SLOW 0x400
  44. #define  PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */
  45. #define  PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */
  46. #define  PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */
  47. #define  PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */
  48. #define  PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */
  49. #define PCI_CLASS_REVISION      0x08    /* High 24 bits are class, low 8
  50.                                            revision */
  51. #define PCI_REVISION_ID         0x08    /* Revision ID */
  52. #define PCI_CLASS_PROG          0x09    /* Reg. Level Programming Interface */
  53. #define PCI_CLASS_DEVICE        0x0a    /* Device class */
  54. #define PCI_CACHE_LINE_SIZE     0x0c    /* 8 bits */
  55. #define PCI_LATENCY_TIMER       0x0d    /* 8 bits */
  56. #define PCI_HEADER_TYPE         0x0e    /* 8 bits */
  57. #define PCI_BIST                0x0f    /* 8 bits */
  58. #define PCI_BIST_CODE_MASK      0x0f    /* Return result */
  59. #define PCI_BIST_START          0x40    /* 1 to start BIST, 2 secs or less */
  60. #define PCI_BIST_CAPABLE        0x80    /* 1 if BIST capable */
  61. #endif