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

嵌入式Linux

开发平台:

C/C++

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