Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpci.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
1.7.6.1
|