TianoCore EDK2 master
Loading...
Searching...
No Matches
PciEnumerator.h
Go to the documentation of this file.
1
9#ifndef _EFI_PCI_ENUMERATOR_H_
10#define _EFI_PCI_ENUMERATOR_H_
11
12#include "PciResourceSupport.h"
13
27 IN EFI_HANDLE Controller,
28 IN EFI_HANDLE HostBridgeHandle
29 );
30
44 IN PCI_IO_DEVICE *RootBridgeDev
45 );
46
56VOID
58 IN PCI_IO_DEVICE *Bridge,
59 IN UINT64 RomBase,
60 IN UINT64 MaxLength
61 );
62
76 IN PCI_IO_DEVICE *Bridge,
77 IN UINT8 StartBusNumber,
78 OUT UINT8 *SubBusNumber
79 );
80
95 IN PCI_IO_DEVICE *RootBridgeDev
96 );
97
106UINT32
108 IN PCI_IO_DEVICE *Bridge
109 );
110
124 );
125
137VOID
139 VOID *AcpiConfig,
140 OUT UINT64 *IoResStatus,
141 OUT UINT64 *Mem32ResStatus,
142 OUT UINT64 *PMem32ResStatus,
143 OUT UINT64 *Mem64ResStatus,
144 OUT UINT64 *PMem64ResStatus
145 );
146
158 IN PCI_IO_DEVICE *PciDevice
159 );
160
170BOOLEAN
172 IN PCI_RESOURCE_NODE *PciResNode
173 );
174
186 IN PCI_RESOURCE_NODE *PciResNode1,
187 IN PCI_RESOURCE_NODE *PciResNode2
188 );
189
200 IN PCI_RESOURCE_NODE *ResPool
201 );
202
223 IN PCI_RESOURCE_NODE *IoPool,
224 IN PCI_RESOURCE_NODE *Mem32Pool,
225 IN PCI_RESOURCE_NODE *PMem32Pool,
226 IN PCI_RESOURCE_NODE *Mem64Pool,
227 IN PCI_RESOURCE_NODE *PMem64Pool,
228 IN UINT64 IoResStatus,
229 IN UINT64 Mem32ResStatus,
230 IN UINT64 PMem32ResStatus,
231 IN UINT64 Mem64ResStatus,
232 IN UINT64 PMem64ResStatus
233 );
234
253 IN PCI_IO_DEVICE *Bridge,
254 IN PCI_RESOURCE_NODE *IoNode,
255 IN PCI_RESOURCE_NODE *Mem32Node,
256 IN PCI_RESOURCE_NODE *PMem32Node,
257 IN PCI_RESOURCE_NODE *Mem64Node,
258 IN PCI_RESOURCE_NODE *PMem64Node,
259 OUT VOID **Config
260 );
261
273VOID
275 IN VOID *Config,
276 OUT UINT64 *IoBase,
277 OUT UINT64 *Mem32Base,
278 OUT UINT64 *PMem32Base,
279 OUT UINT64 *Mem64Base,
280 OUT UINT64 *PMem64Base
281 );
282
295 IN PCI_IO_DEVICE *BridgeDev
296 );
297
309 IN PCI_IO_DEVICE *Bridge
310 );
311
328 IN PCI_IO_DEVICE *Bridge,
329 OUT UINT64 *IoBase,
330 OUT UINT64 *Mem32Base,
331 OUT UINT64 *PMem32Base,
332 OUT UINT64 *Mem64Base,
333 OUT UINT64 *PMem64Base
334 );
335
347 );
348
417 );
418
445 IN PCI_IO_DEVICE *Bridge,
446 IN UINT8 Bus,
447 IN UINT8 Device,
448 IN UINT8 Func,
450 );
451
476EFIAPI
480 IN EFI_HANDLE Controller,
481 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL,
482 IN OUT UINT8 *NumberOfChildren,
483 IN OUT EFI_HANDLE *ChildHandleBuffer
484 );
485
495BOOLEAN
497 IN EFI_HANDLE RootBridgeHandle
498 );
499
512 IN EFI_HANDLE HostBridgeHandle
513 );
514
515#endif
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
VOID GetResourceBase(IN VOID *Config, OUT UINT64 *IoBase, OUT UINT64 *Mem32Base, OUT UINT64 *PMem32Base, OUT UINT64 *Mem64Base, OUT UINT64 *PMem64Base)
EFI_STATUS PciRootBridgeEnumerator(IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, IN PCI_IO_DEVICE *RootBridgeDev)
EFI_STATUS EFIAPI PciHotPlugRequestNotify(IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL *This, IN EFI_PCI_HOTPLUG_OPERATION Operation, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL, IN OUT UINT8 *NumberOfChildren, IN OUT EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS RejectPciDevice(IN PCI_IO_DEVICE *PciDevice)
VOID ProcessOptionRom(IN PCI_IO_DEVICE *Bridge, IN UINT64 RomBase, IN UINT64 MaxLength)
EFI_STATUS PciBridgeResourceAllocator(IN PCI_IO_DEVICE *Bridge)
EFI_STATUS AddHostBridgeEnumerator(IN EFI_HANDLE HostBridgeHandle)
BOOLEAN SearchHostBridgeHandle(IN EFI_HANDLE RootBridgeHandle)
EFI_STATUS GetResourceBaseFromBridge(IN PCI_IO_DEVICE *Bridge, OUT UINT64 *IoBase, OUT UINT64 *Mem32Base, OUT UINT64 *PMem32Base, OUT UINT64 *Mem64Base, OUT UINT64 *PMem64Base)
PCI_RESOURCE_NODE * GetLargerConsumerDevice(IN PCI_RESOURCE_NODE *PciResNode1, IN PCI_RESOURCE_NODE *PciResNode2)
EFI_STATUS PciHostBridgeDeviceAttribute(IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc)
PCI_RESOURCE_NODE * GetMaxResourceConsumerDevice(IN PCI_RESOURCE_NODE *ResPool)
EFI_STATUS DetermineRootBridgeAttributes(IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, IN PCI_IO_DEVICE *RootBridgeDev)
EFI_STATUS PciHostBridgeP2CProcess(IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc)
Definition: PciLib.c:1498
BOOLEAN IsRejectiveDevice(IN PCI_RESOURCE_NODE *PciResNode)
VOID GetResourceAllocationStatus(VOID *AcpiConfig, OUT UINT64 *IoResStatus, OUT UINT64 *Mem32ResStatus, OUT UINT64 *PMem32ResStatus, OUT UINT64 *Mem64ResStatus, OUT UINT64 *PMem64ResStatus)
EFI_STATUS PreprocessController(IN PCI_IO_DEVICE *Bridge, IN UINT8 Bus, IN UINT8 Device, IN UINT8 Func, IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase)
UINT32 GetMaxOptionRomSize(IN PCI_IO_DEVICE *Bridge)
EFI_STATUS PciBridgeEnumerator(IN PCI_IO_DEVICE *BridgeDev)
EFI_STATUS PciHostBridgeAdjustAllocation(IN PCI_RESOURCE_NODE *IoPool, IN PCI_RESOURCE_NODE *Mem32Pool, IN PCI_RESOURCE_NODE *PMem32Pool, IN PCI_RESOURCE_NODE *Mem64Pool, IN PCI_RESOURCE_NODE *PMem64Pool, IN UINT64 IoResStatus, IN UINT64 Mem32ResStatus, IN UINT64 PMem32ResStatus, IN UINT64 Mem64ResStatus, IN UINT64 PMem64ResStatus)
EFI_STATUS ConstructAcpiResourceRequestor(IN PCI_IO_DEVICE *Bridge, IN PCI_RESOURCE_NODE *IoNode, IN PCI_RESOURCE_NODE *Mem32Node, IN PCI_RESOURCE_NODE *PMem32Node, IN PCI_RESOURCE_NODE *Mem64Node, IN PCI_RESOURCE_NODE *PMem64Node, OUT VOID **Config)
EFI_STATUS PciAssignBusNumber(IN PCI_IO_DEVICE *Bridge, IN UINT8 StartBusNumber, OUT UINT8 *SubBusNumber)
EFI_STATUS PciEnumerator(IN EFI_HANDLE Controller, IN EFI_HANDLE HostBridgeHandle)
Definition: PciEnumerator.c:24
EFI_STATUS NotifyPhase(IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase)
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE
EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE
EFI_PCI_HOTPLUG_OPERATION
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33