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
;