3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
24 #ifndef _EFI_PCI_ENUMERATOR_H
25 #define _EFI_PCI_ENUMERATOR_H
27 #include "PciResourceSupport.h"
31 IN EFI_HANDLE Controller
37 TODO: Add function description
41 Controller - TODO: add argument description
45 TODO: add return values
51 PciRootBridgeEnumerator (
52 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
53 IN PCI_IO_DEVICE
*RootBridgeDev
59 TODO: Add function description
63 PciResAlloc - TODO: add argument description
64 RootBridgeDev - TODO: add argument description
68 TODO: add return values
75 IN PCI_IO_DEVICE
*Bridge
,
83 TODO: Add function description
87 Bridge - TODO: add argument description
88 RomBase - TODO: add argument description
89 MaxLength - TODO: add argument description
93 TODO: add return values
100 IN PCI_IO_DEVICE
*Bridge
,
101 IN UINT8 StartBusNumber
,
102 OUT UINT8
*SubBusNumber
108 TODO: Add function description
112 Bridge - TODO: add argument description
113 StartBusNumber - TODO: add argument description
114 SubBusNumber - TODO: add argument description
118 TODO: add return values
124 DetermineRootBridgeAttributes (
125 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
126 IN PCI_IO_DEVICE
*RootBridgeDev
132 TODO: Add function description
136 PciResAlloc - TODO: add argument description
137 RootBridgeDev - TODO: add argument description
141 TODO: add return values
147 GetMaxOptionRomSize (
148 IN PCI_IO_DEVICE
*Bridge
154 TODO: Add function description
158 Bridge - TODO: add argument description
162 TODO: add return values
168 PciHostBridgeDeviceAttribute (
169 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
175 TODO: Add function description
179 PciResAlloc - TODO: add argument description
183 TODO: add return values
189 GetResourceAllocationStatus (
191 OUT UINT64
*IoResStatus
,
192 OUT UINT64
*Mem32ResStatus
,
193 OUT UINT64
*PMem32ResStatus
,
194 OUT UINT64
*Mem64ResStatus
,
195 OUT UINT64
*PMem64ResStatus
201 TODO: Add function description
205 AcpiConfig - TODO: add argument description
206 IoResStatus - TODO: add argument description
207 Mem32ResStatus - TODO: add argument description
208 PMem32ResStatus - TODO: add argument description
209 Mem64ResStatus - TODO: add argument description
210 PMem64ResStatus - TODO: add argument description
214 TODO: add return values
221 IN PCI_IO_DEVICE
*PciDevice
227 TODO: Add function description
231 PciDevice - TODO: add argument description
235 TODO: add return values
242 IN PCI_RESOURCE_NODE
*PciResNode
248 TODO: Add function description
252 PciResNode - TODO: add argument description
256 TODO: add return values
262 GetLargerConsumerDevice (
263 IN PCI_RESOURCE_NODE
*PciResNode1
,
264 IN PCI_RESOURCE_NODE
*PciResNode2
270 TODO: Add function description
274 PciResNode1 - TODO: add argument description
275 PciResNode2 - TODO: add argument description
279 TODO: add return values
285 GetMaxResourceConsumerDevice (
286 IN PCI_RESOURCE_NODE
*ResPool
292 TODO: Add function description
296 ResPool - TODO: add argument description
300 TODO: add return values
306 PciHostBridgeAdjustAllocation (
307 IN PCI_RESOURCE_NODE
*IoPool
,
308 IN PCI_RESOURCE_NODE
*Mem32Pool
,
309 IN PCI_RESOURCE_NODE
*PMem32Pool
,
310 IN PCI_RESOURCE_NODE
*Mem64Pool
,
311 IN PCI_RESOURCE_NODE
*PMem64Pool
,
312 IN UINT64 IoResStatus
,
313 IN UINT64 Mem32ResStatus
,
314 IN UINT64 PMem32ResStatus
,
315 IN UINT64 Mem64ResStatus
,
316 IN UINT64 PMem64ResStatus
322 TODO: Add function description
326 IoPool - TODO: add argument description
327 Mem32Pool - TODO: add argument description
328 PMem32Pool - TODO: add argument description
329 Mem64Pool - TODO: add argument description
330 PMem64Pool - TODO: add argument description
331 IoResStatus - TODO: add argument description
332 Mem32ResStatus - TODO: add argument description
333 PMem32ResStatus - TODO: add argument description
334 Mem64ResStatus - TODO: add argument description
335 PMem64ResStatus - TODO: add argument description
339 TODO: add return values
345 ConstructAcpiResourceRequestor (
346 IN PCI_IO_DEVICE
*Bridge
,
347 IN PCI_RESOURCE_NODE
*IoNode
,
348 IN PCI_RESOURCE_NODE
*Mem32Node
,
349 IN PCI_RESOURCE_NODE
*PMem32Node
,
350 IN PCI_RESOURCE_NODE
*Mem64Node
,
351 IN PCI_RESOURCE_NODE
*PMem64Node
,
358 TODO: Add function description
362 Bridge - TODO: add argument description
363 IoNode - TODO: add argument description
364 Mem32Node - TODO: add argument description
365 PMem32Node - TODO: add argument description
366 Mem64Node - TODO: add argument description
367 PMem64Node - TODO: add argument description
368 pConfig - TODO: add argument description
372 TODO: add return values
381 OUT UINT64
*Mem32Base
,
382 OUT UINT64
*PMem32Base
,
383 OUT UINT64
*Mem64Base
,
384 OUT UINT64
*PMem64Base
390 TODO: Add function description
394 pConfig - TODO: add argument description
395 IoBase - TODO: add argument description
396 Mem32Base - TODO: add argument description
397 PMem32Base - TODO: add argument description
398 Mem64Base - TODO: add argument description
399 PMem64Base - TODO: add argument description
403 TODO: add return values
409 PciBridgeEnumerator (
410 IN PCI_IO_DEVICE
*BridgeDev
416 TODO: Add function description
420 BridgeDev - TODO: add argument description
424 TODO: add return values
430 PciBridgeResourceAllocator (
431 IN PCI_IO_DEVICE
*Bridge
437 TODO: Add function description
441 Bridge - TODO: add argument description
445 TODO: add return values
451 GetResourceBaseFromBridge (
452 IN PCI_IO_DEVICE
*Bridge
,
454 OUT UINT64
*Mem32Base
,
455 OUT UINT64
*PMem32Base
,
456 OUT UINT64
*Mem64Base
,
457 OUT UINT64
*PMem64Base
463 TODO: Add function description
467 Bridge - TODO: add argument description
468 IoBase - TODO: add argument description
469 Mem32Base - TODO: add argument description
470 PMem32Base - TODO: add argument description
471 Mem64Base - TODO: add argument description
472 PMem64Base - TODO: add argument description
476 TODO: add return values
482 PciHostBridgeP2CProcess (
483 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
489 TODO: Add function description
493 PciResAlloc - TODO: add argument description
497 TODO: add return values
504 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
505 EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase
511 TODO: Add function description
515 PciResAlloc - TODO: add argument description
516 Phase - TODO: add argument description
520 TODO: add return values
526 PreprocessController (
527 IN PCI_IO_DEVICE
*Bridge
,
531 IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase
537 TODO: Add function description
541 Bridge - TODO: add argument description
542 Bus - TODO: add argument description
543 Device - TODO: add argument description
544 Func - TODO: add argument description
545 Phase - TODO: add argument description
549 TODO: add return values
556 PciHotPlugRequestNotify (
557 IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL
* This
,
558 IN EFI_PCI_HOTPLUG_OPERATION Operation
,
559 IN EFI_HANDLE Controller
,
560 IN EFI_DEVICE_PATH_PROTOCOL
* RemainingDevicePath OPTIONAL
,
561 IN OUT UINT8
*NumberOfChildren
,
562 IN OUT EFI_HANDLE
* ChildHandleBuffer
568 TODO: Add function description
572 This - TODO: add argument description
573 Operation - TODO: add argument description
574 Controller - TODO: add argument description
575 RemainingDevicePath - TODO: add argument description
576 NumberOfChildren - TODO: add argument description
577 ChildHandleBuffer - TODO: add argument description
581 TODO: add return values
587 SearchHostBridgeHandle (
588 IN EFI_HANDLE RootBridgeHandle
594 TODO: Add function description
598 RootBridgeHandle - TODO: add argument description
602 TODO: add return values
608 AddHostBridgeEnumerator (
609 IN EFI_HANDLE HostBridgeHandle
615 TODO: Add function description
619 HostBridgeHandle - TODO: add argument description
623 TODO: add return values