TianoCore EDK2 master
Loading...
Searching...
No Matches
PciRootBridges.h
Go to the documentation of this file.
1
11#ifndef UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES_H_
12#define UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES_H_
13
15
16#pragma pack(1)
17
18//
19// (Base > Limit) indicates an aperture is not available.
20//
21typedef struct {
22 //
23 // Base and Limit are the device address instead of host address when
24 // Translation is not zero
25 //
26 UINT64 Base;
27 UINT64 Limit;
28 //
29 // According to UEFI 2.7, Device Address = Host Address + Translation,
30 // so Translation = Device Address - Host Address.
31 // On platforms where Translation is not zero, the subtraction is probably to
32 // be performed with UINT64 wrap-around semantics, for we may translate an
33 // above-4G host address into a below-4G device address for legacy PCIe device
34 // compatibility.
35 //
36 // NOTE: The alignment of Translation is required to be larger than any BAR
37 // alignment in the same root bridge, so that the same alignment can be
38 // applied to both device address and host address, which simplifies the
39 // situation and makes the current resource allocation code in generic PCI
40 // host bridge driver still work.
41 //
42 UINT64 Translation;
44
48typedef struct {
49 UINT32 Segment;
50 UINT64 Supports;
53 UINT64 Attributes;
56 BOOLEAN DmaAbove4G;
72 UINT32 HID;
74 UINT32 UID;
77
78typedef struct {
80 BOOLEAN ResourceAssigned;
81 UINT8 Count;
84
85#pragma pack()
86
87#define UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES_REVISION 1
88
89extern GUID gUniversalPayloadPciRootBridgeInfoGuid;
90
91#endif // UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGES_H_
Definition: Base.h:213
UINT32 Segment
Segment number.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE Bus
Bus aperture which can be used by the root bridge.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE Mem
MMIO aperture below 4GB which can be used by the root bridge.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE PMemAbove4G
Prefetchable MMIO aperture above 4GB which can be used by the root bridge.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE MemAbove4G
MMIO aperture above 4GB which can be used by the root bridge.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE PMem
Prefetchable MMIO aperture below 4GB which can be used by the root bridge.
UNIVERSAL_PAYLOAD_PCI_ROOT_BRIDGE_APERTURE Io
IO aperture which can be used by the root bridge.