ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

pci.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS PCI Bus Driver
00003  * LICENSE:         BSD - See COPYING.ARM in the top level directory
00004  * FILE:            include/reactos/drivers/pci/pci.h
00005  * PURPOSE:         Internal, Shared, PCI Definitions
00006  * PROGRAMMERS:     ReactOS Portable Systems Group
00007  */
00008 
00009 //
00010 // PCI Hack Flags
00011 //
00012 #define PCI_HACK_LOCK_RESOURCES                             0x0000000000000004LL
00013 #define PCI_HACK_NO_ENUM_AT_ALL                             0x0000000000000008LL
00014 #define PCI_HACK_ENUM_NO_RESOURCE                           0x0000000000000010LL
00015 #define PCI_HACK_AVOID_D1D2_FOR_SLD                         0x0000000000000020LL
00016 #define PCI_HACK_NEVER_DISCONNECT                           0x0000000000000040LL
00017 #define PCI_HACK_DONT_DISABLE                               0x0000000000000080LL
00018 #define PCI_HACK_MULTIFUNCTION                              0x0000000000000100LL
00019 #define PCI_HACK_UNUSED_200                                 0x0000000000000200LL
00020 #define PCI_HACK_IGNORE_NON_STICKY_ISA                      0x0000000000000400LL
00021 #define PCI_HACK_UNUSED_800                                 0x0000000000000800LL
00022 #define PCI_HACK_DOUBLE_DECKER                              0x0000000000001000LL
00023 #define PCI_HACK_ONE_CHILD                                  0x0000000000002000LL
00024 #define PCI_HACK_PRESERVE_COMMAND                           0x0000000000004000LL
00025 #define PCI_HACK_DEFAULT_CARDBUS_WINDOWS                    0x0000000000008000LL
00026 #define PCI_HACK_CB_SHARE_CMD_BITS                          0x0000000000010000LL
00027 #define PCI_HACK_IGNORE_ROOT_TOPOLOGY                       0x0000000000020000LL
00028 #define PCI_HACK_SUBTRACTIVE_DECODE                         0x0000000000040000LL
00029 #define PCI_HACK_NO_EXPRESS_CAP                             0x0000000000080000LL
00030 #define PCI_HACK_NO_ASPM_FOR_EXPRESS_LINK                   0x0000000000100000LL
00031 #define PCI_HACK_CLEAR_INT_DISABLE_FOR_MSI                  0x0000000000200000LL
00032 #define PCI_HACK_NO_SUBSYSTEM                               0x0000000000400000LL
00033 #define PCI_HACK_COMMAND_REWRITE                            0x0000000000800000LL
00034 #define PCI_HACK_AVOID_HARDWARE_ISA_BIT                     0x0000000001000000LL
00035 #define PCI_HACK_FORCE_BRIDGE_WINDOW_ALIGNMENT              0x0000000002000000LL
00036 #define PCI_HACK_NOT_MSI_HT_CONVERTER                       0x0000000004000000LL
00037 #define PCI_HACK_PCI_HACK_SBR_ON_LINK_STATE_CHANGE          0x0000000008000000LL
00038 #define PCI_HACK_PCI_HACK_LINK_DISABLE_ON_SLOT_PWRDN        0x0000000010000000LL
00039 #define PCI_HACK_NO_PM_CAPS                                 0x0000000020000000LL
00040 #define PCI_HACK_DONT_DISABLE_DECODES                       0x0000000040000000LL
00041 #define PCI_HACK_NO_SUBSYSTEM_AFTER_D3                      0x0000000080000000LL
00042 #define PCI_HACK_VIDEO_LEGACY_DECODE                        0x0000000100000000LL
00043 #define PCI_HACK_FAKE_CLASS_CODE                            0x0000000200000000LL
00044 #define PCI_HACK_UNUSED_40000000                            0x0000000400000000LL
00045 #define PCI_HACK_DISABLE_IDE_NATIVE_MODE                    0x0000000800000000LL
00046 #define PCI_HACK_FAIL_QUERY_REMOVE                          0x0000001000000000LL
00047 #define PCI_HACK_CRITICAL_DEVICE                            0x0000002000000000LL
00048 #define PCI_HACK_UNUSED_4000000000                          0x0000004000000000LL
00049 #define PCI_HACK_BROKEN_SUBTRACTIVE_DECODE                  0x0000008000000000LL
00050 #define PCI_HACK_NO_REVISION_AFTER_D3                       0x0000010000000000LL
00051 #define PCI_HACK_ENABLE_MSI_MAPPING                         0x0000020000000000LL
00052 #define PCI_HACK_DISABLE_PM_DOWNSTREAM_PCI_BRIDGE           0x0000040000000000LL
00053 #define PCI_HACK_DISABLE_HOT_PLUG                           0x0000080000000000LL
00054 #define PCI_HACK_IGNORE_AER_CAPABILITY                      0x0000100000000000LL
00055         
00056 //
00057 // Bit encodes for PCI_COMMON_CONFIG.u.type1.BridgeControl
00058 //
00059 #define PCI_ENABLE_BRIDGE_PARITY_ERROR                      0x0001
00060 #define PCI_ENABLE_BRIDGE_SERR                              0x0002
00061 #define PCI_ENABLE_BRIDGE_ISA                               0x0004
00062 #define PCI_ENABLE_BRIDGE_VGA                               0x0008
00063 #define PCI_ENABLE_BRIDGE_MASTER_ABORT_SERR                 0x0020
00064 #define PCI_ASSERT_BRIDGE_RESET                             0x0040
00065 #define PCI_ENABLE_BRIDGE_VGA_16BIT                         0x0010
00066 
00067 //
00068 // PCI IRQ Routing Table in BIOS/Registry (Signature: PIR$)
00069 //
00070 #include <pshpack1.h>
00071 typedef struct _PIN_INFO
00072 {
00073     UCHAR Link;
00074     USHORT InterruptMap;
00075 } PIN_INFO, *PPIN_INFO;
00076     
00077 typedef struct _SLOT_INFO
00078 {
00079     UCHAR BusNumber;
00080     UCHAR DeviceNumber;
00081     PIN_INFO PinInfo[4];
00082     UCHAR SlotNumber;
00083     UCHAR Reserved;
00084 } SLOT_INFO, *PSLOT_INFO;
00085 
00086 typedef struct _PCI_IRQ_ROUTING_TABLE
00087 {
00088     ULONG Signature;
00089     USHORT Version;
00090     USHORT TableSize;
00091     UCHAR RouterBus;
00092     UCHAR RouterDevFunc;
00093     USHORT ExclusiveIRQs;
00094     ULONG CompatibleRouter;
00095     ULONG MiniportData;
00096     UCHAR Reserved[11];
00097     UCHAR Checksum;
00098     SLOT_INFO Slot[ANYSIZE_ARRAY];
00099 } PCI_IRQ_ROUTING_TABLE, *PPCI_IRQ_ROUTING_TABLE;
00100 #include <poppack.h>
00101 
00102 //
00103 // PCI Registry Information
00104 //
00105 typedef struct _PCI_REGISTRY_INFO
00106 {
00107     UCHAR MajorRevision;
00108     UCHAR MinorRevision;
00109     UCHAR NoBuses; // Number Of Buses
00110     UCHAR HardwareMechanism;
00111 } PCI_REGISTRY_INFO, *PPCI_REGISTRY_INFO;
00112 
00113 //
00114 // PCI Card Descriptor in Registry
00115 //
00116 typedef struct _PCI_CARD_DESCRIPTOR
00117 {
00118     ULONG Flags;
00119     USHORT VendorID;
00120     USHORT DeviceID;
00121     USHORT RevisionID;
00122     USHORT SubsystemVendorID;
00123     USHORT SubsystemID;
00124     USHORT Reserved;
00125 } PCI_CARD_DESCRIPTOR, *PPCI_CARD_DESCRIPTOR;
00126 
00127 /* EOF */

Generated on Sat May 26 2012 04:26:03 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.