6 Copyright (c) 1999 Intel Corporation
13 Support for PCI 2.2 standard.
25 #define PCI_MAX_BUS 255
28 #define PCI_MAX_DEVICE 31
29 #define PCI_MAX_FUNC 7
34 #define PCI_VGA_PALETTE_SNOOP_DISABLED 0x20
48 } PCI_DEVICE_INDEPENDENT_REGION;
53 UINT16 SubsystemVendorID;
55 UINT32 ExpansionRomBar;
61 } PCI_DEVICE_HEADER_TYPE_REGION;
64 PCI_DEVICE_INDEPENDENT_REGION Hdr;
65 PCI_DEVICE_HEADER_TYPE_REGION Device;
73 UINT8 SecondaryLatencyTimer;
76 UINT16 SecondaryStatus;
79 UINT16 PrefetchableMemoryBase;
80 UINT16 PrefetchableMemoryLimit;
81 UINT32 PrefetchableBaseUpper32;
82 UINT32 PrefetchableLimitUpper32;
84 UINT16 IoLimitUpper16;
86 UINT32 ExpansionRomBAR;
90 } PCI_BRIDGE_CONTROL_REGISTER;
92 #define PCI_CLASS_DISPLAY_CTRL 0x03
93 #define PCI_CLASS_VGA 0x00
95 #define PCI_CLASS_BRIDGE 0x06
96 #define PCI_CLASS_ISA 0x01
97 #define PCI_CLASS_ISA_POSITIVE_DECODE 0x80
99 #define PCI_CLASS_NETWORK 0x02
100 #define PCI_CLASS_ETHERNET 0x00
102 #define HEADER_TYPE_DEVICE 0x00
103 #define HEADER_TYPE_PCI_TO_PCI_BRIDGE 0x01
104 #define HEADER_TYPE_MULTI_FUNCTION 0x80
105 #define HEADER_LAYOUT_CODE 0x7f
107 #define IS_PCI_BRIDGE(_p) ((((_p)->Hdr.HeaderType) & HEADER_LAYOUT_CODE) == HEADER_TYPE_PCI_TO_PCI_BRIDGE)
108 #define IS_PCI_MULTI_FUNC(_p) (((_p)->Hdr.HeaderType) & HEADER_TYPE_MULTI_FUNCTION)
111 PCI_DEVICE_INDEPENDENT_REGION Hdr;
112 PCI_BRIDGE_CONTROL_REGISTER Bridge;
130 } PCI_CONFIG_ACCESS_CF8;
134 #define EFI_ROOT_BRIDGE_LIST 'eprb'
140 UINT16 SubordinateBus;
142 EFI_DEVICE_PATH *DevicePath;
145 } PCI_ROOT_BRIDGE_ENTRY;
148 #define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55
149 #define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1
150 #define PCI_DATA_STRUCTURE_SIGNATURE EFI_SIGNATURE_32('P','C','I','R')
154 UINT16 Signature; // 0xaa55
155 UINT8 Reserved[0x16];
157 } PCI_EXPANSION_ROM_HEADER;
161 UINT16 Signature; // 0xaa55
162 UINT16 InitializationSize;
163 UINT16 EfiSignature; // 0x0EF1
165 UINT16 EfiMachineType;
166 UINT8 Reserved[0x0A];
167 UINT16 EfiImageHeaderOffset;
169 } EFI_PCI_EXPANSION_ROM_HEADER;
172 UINT32 Signature; // "PCIR"
184 } PCI_DATA_STRUCTURE;