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.
15 #ifndef _EFI_PCI_ENUMERATOR_H
16 #define _EFI_PCI_ENUMERATOR_H
18 #include "PciResourceSupport.h"
22 IN EFI_HANDLE Controller
28 TODO: Add function description
32 Controller - TODO: add argument description
36 TODO: add return values
42 PciRootBridgeEnumerator (
43 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
44 IN PCI_IO_DEVICE
*RootBridgeDev
50 TODO: Add function description
54 PciResAlloc - TODO: add argument description
55 RootBridgeDev - TODO: add argument description
59 TODO: add return values
66 IN PCI_IO_DEVICE
*Bridge
,
74 TODO: Add function description
78 Bridge - TODO: add argument description
79 RomBase - TODO: add argument description
80 MaxLength - TODO: add argument description
84 TODO: add return values
91 IN PCI_IO_DEVICE
*Bridge
,
92 IN UINT8 StartBusNumber
,
93 OUT UINT8
*SubBusNumber
99 TODO: Add function description
103 Bridge - TODO: add argument description
104 StartBusNumber - TODO: add argument description
105 SubBusNumber - TODO: add argument description
109 TODO: add return values
115 DetermineRootBridgeAttributes (
116 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
117 IN PCI_IO_DEVICE
*RootBridgeDev
123 TODO: Add function description
127 PciResAlloc - TODO: add argument description
128 RootBridgeDev - TODO: add argument description
132 TODO: add return values
138 GetMaxOptionRomSize (
139 IN PCI_IO_DEVICE
*Bridge
145 TODO: Add function description
149 Bridge - TODO: add argument description
153 TODO: add return values
159 PciHostBridgeDeviceAttribute (
160 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
166 TODO: Add function description
170 PciResAlloc - TODO: add argument description
174 TODO: add return values
180 GetResourceAllocationStatus (
182 OUT UINT64
*IoResStatus
,
183 OUT UINT64
*Mem32ResStatus
,
184 OUT UINT64
*PMem32ResStatus
,
185 OUT UINT64
*Mem64ResStatus
,
186 OUT UINT64
*PMem64ResStatus
192 TODO: Add function description
196 AcpiConfig - TODO: add argument description
197 IoResStatus - TODO: add argument description
198 Mem32ResStatus - TODO: add argument description
199 PMem32ResStatus - TODO: add argument description
200 Mem64ResStatus - TODO: add argument description
201 PMem64ResStatus - TODO: add argument description
205 TODO: add return values
212 IN PCI_IO_DEVICE
*PciDevice
218 TODO: Add function description
222 PciDevice - TODO: add argument description
226 TODO: add return values
233 IN PCI_RESOURCE_NODE
*PciResNode
239 TODO: Add function description
243 PciResNode - TODO: add argument description
247 TODO: add return values
253 GetLargerConsumerDevice (
254 IN PCI_RESOURCE_NODE
*PciResNode1
,
255 IN PCI_RESOURCE_NODE
*PciResNode2
261 TODO: Add function description
265 PciResNode1 - TODO: add argument description
266 PciResNode2 - TODO: add argument description
270 TODO: add return values
276 GetMaxResourceConsumerDevice (
277 IN PCI_RESOURCE_NODE
*ResPool
283 TODO: Add function description
287 ResPool - TODO: add argument description
291 TODO: add return values
297 PciHostBridgeAdjustAllocation (
298 IN PCI_RESOURCE_NODE
*IoPool
,
299 IN PCI_RESOURCE_NODE
*Mem32Pool
,
300 IN PCI_RESOURCE_NODE
*PMem32Pool
,
301 IN PCI_RESOURCE_NODE
*Mem64Pool
,
302 IN PCI_RESOURCE_NODE
*PMem64Pool
,
303 IN UINT64 IoResStatus
,
304 IN UINT64 Mem32ResStatus
,
305 IN UINT64 PMem32ResStatus
,
306 IN UINT64 Mem64ResStatus
,
307 IN UINT64 PMem64ResStatus
313 TODO: Add function description
317 IoPool - TODO: add argument description
318 Mem32Pool - TODO: add argument description
319 PMem32Pool - TODO: add argument description
320 Mem64Pool - TODO: add argument description
321 PMem64Pool - TODO: add argument description
322 IoResStatus - TODO: add argument description
323 Mem32ResStatus - TODO: add argument description
324 PMem32ResStatus - TODO: add argument description
325 Mem64ResStatus - TODO: add argument description
326 PMem64ResStatus - TODO: add argument description
330 TODO: add return values
336 ConstructAcpiResourceRequestor (
337 IN PCI_IO_DEVICE
*Bridge
,
338 IN PCI_RESOURCE_NODE
*IoNode
,
339 IN PCI_RESOURCE_NODE
*Mem32Node
,
340 IN PCI_RESOURCE_NODE
*PMem32Node
,
341 IN PCI_RESOURCE_NODE
*Mem64Node
,
342 IN PCI_RESOURCE_NODE
*PMem64Node
,
349 TODO: Add function description
353 Bridge - TODO: add argument description
354 IoNode - TODO: add argument description
355 Mem32Node - TODO: add argument description
356 PMem32Node - TODO: add argument description
357 Mem64Node - TODO: add argument description
358 PMem64Node - TODO: add argument description
359 pConfig - TODO: add argument description
363 TODO: add return values
372 OUT UINT64
*Mem32Base
,
373 OUT UINT64
*PMem32Base
,
374 OUT UINT64
*Mem64Base
,
375 OUT UINT64
*PMem64Base
381 TODO: Add function description
385 pConfig - TODO: add argument description
386 IoBase - TODO: add argument description
387 Mem32Base - TODO: add argument description
388 PMem32Base - TODO: add argument description
389 Mem64Base - TODO: add argument description
390 PMem64Base - TODO: add argument description
394 TODO: add return values
400 PciBridgeEnumerator (
401 IN PCI_IO_DEVICE
*BridgeDev
407 TODO: Add function description
411 BridgeDev - TODO: add argument description
415 TODO: add return values
421 PciBridgeResourceAllocator (
422 IN PCI_IO_DEVICE
*Bridge
428 TODO: Add function description
432 Bridge - TODO: add argument description
436 TODO: add return values
442 GetResourceBaseFromBridge (
443 IN PCI_IO_DEVICE
*Bridge
,
445 OUT UINT64
*Mem32Base
,
446 OUT UINT64
*PMem32Base
,
447 OUT UINT64
*Mem64Base
,
448 OUT UINT64
*PMem64Base
454 TODO: Add function description
458 Bridge - TODO: add argument description
459 IoBase - TODO: add argument description
460 Mem32Base - TODO: add argument description
461 PMem32Base - TODO: add argument description
462 Mem64Base - TODO: add argument description
463 PMem64Base - TODO: add argument description
467 TODO: add return values
473 PciHostBridgeP2CProcess (
474 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
480 TODO: Add function description
484 PciResAlloc - TODO: add argument description
488 TODO: add return values
495 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
*PciResAlloc
,
496 EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase
502 TODO: Add function description
506 PciResAlloc - TODO: add argument description
507 Phase - TODO: add argument description
511 TODO: add return values
517 PreprocessController (
518 IN PCI_IO_DEVICE
*Bridge
,
522 IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase
528 TODO: Add function description
532 Bridge - TODO: add argument description
533 Bus - TODO: add argument description
534 Device - TODO: add argument description
535 Func - TODO: add argument description
536 Phase - TODO: add argument description
540 TODO: add return values
547 PciHotPlugRequestNotify (
548 IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL
* This
,
549 IN EFI_PCI_HOTPLUG_OPERATION Operation
,
550 IN EFI_HANDLE Controller
,
551 IN EFI_DEVICE_PATH_PROTOCOL
* RemainingDevicePath OPTIONAL
,
552 IN OUT UINT8
*NumberOfChildren
,
553 IN OUT EFI_HANDLE
* ChildHandleBuffer
559 TODO: Add function description
563 This - TODO: add argument description
564 Operation - TODO: add argument description
565 Controller - TODO: add argument description
566 RemainingDevicePath - TODO: add argument description
567 NumberOfChildren - TODO: add argument description
568 ChildHandleBuffer - TODO: add argument description
572 TODO: add return values
578 SearchHostBridgeHandle (
579 IN EFI_HANDLE RootBridgeHandle
585 TODO: Add function description
589 RootBridgeHandle - TODO: add argument description
593 TODO: add return values
599 AddHostBridgeEnumerator (
600 IN EFI_HANDLE HostBridgeHandle
606 TODO: Add function description
610 HostBridgeHandle - TODO: add argument description
614 TODO: add return values