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;