X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=IntelFrameworkModulePkg%2FBus%2FPci%2FPciBusDxe%2FPciEnumerator.h;h=3c0ca2fbfdbfe7508e187764900a7c1ef2afc401;hb=1910fbaf7014fab2012f06ab03829f0146cf32d4;hp=3ed98f85f596a8917cd20a710f4e28ae3f2134fd;hpb=bcd70414877e56f3bffff0bf11b07a30ef51a68f;p=mirror_edk2.git diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h index 3ed98f85f5..3c0ca2fbfd 100644 --- a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h +++ b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h @@ -1,182 +1,144 @@ -/**@file +/** @file + PCI bus enumeration logic function declaration for PCI bus module. -Copyright (c) 2006, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +Copyright (c) 2006 - 2009, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php -**/ +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +**/ -#ifndef _EFI_PCI_ENUMERATOR_H -#define _EFI_PCI_ENUMERATOR_H +#ifndef _EFI_PCI_ENUMERATOR_H_ +#define _EFI_PCI_ENUMERATOR_H_ #include "PciResourceSupport.h" -EFI_STATUS -PciEnumerator ( - IN EFI_HANDLE Controller - ) /** + This routine is used to enumerate entire pci bus system + in a given platform. -Routine Description: + @param Controller Parent controller handle. - TODO: Add function description + @retval EFI_SUCCESS PCI enumeration finished successfully. + @retval other Some error occurred when enumerating the pci bus system. -Arguments: +**/ +EFI_STATUS +PciEnumerator ( + IN EFI_HANDLE Controller + ); - Controller - TODO: add argument description +/** + Enumerate PCI root bridge. -Returns: + @param PciResAlloc Pointer to protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @param RootBridgeDev Instance of root bridge device. - TODO: add return values + @retval EFI_SUCCESS Successfully enumerated root bridge. + @retval other Failed to enumerate root bridge. **/ -; - EFI_STATUS PciRootBridgeEnumerator ( IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, IN PCI_IO_DEVICE *RootBridgeDev - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: - - PciResAlloc - TODO: add argument description - RootBridgeDev - TODO: add argument description + ); -Returns: +/** + This routine is used to process all PCI devices' Option Rom + on a certain root bridge. - TODO: add return values + @param Bridge Given parent's root bridge. + @param RomBase Base address of ROM driver loaded from. + @param MaxLength Maximum rom size. **/ -; - -EFI_STATUS +VOID ProcessOptionRom ( IN PCI_IO_DEVICE *Bridge, IN UINT64 RomBase, IN UINT64 MaxLength - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description - RomBase - TODO: add argument description - MaxLength - TODO: add argument description +/** + This routine is used to assign bus number to the given PCI bus system -Returns: + @param Bridge Parent root bridge instance. + @param StartBusNumber Number of beginning. + @param SubBusNumber The number of sub bus. - TODO: add return values + @retval EFI_SUCCESS Successfully assigned bus number. + @retval EFI_DEVICE_ERROR Failed to assign bus number. **/ -; - EFI_STATUS PciAssignBusNumber ( IN PCI_IO_DEVICE *Bridge, IN UINT8 StartBusNumber, OUT UINT8 *SubBusNumber - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description - StartBusNumber - TODO: add argument description - SubBusNumber - TODO: add argument description +/** + This routine is used to determine the root bridge attribute by interfacing + the host bridge resource allocation protocol. -Returns: + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param RootBridgeDev Root bridge instance - TODO: add return values + @retval EFI_SUCCESS Successfully got root bridge's attribute. + @retval other Failed to get attribute. **/ -; - EFI_STATUS DetermineRootBridgeAttributes ( IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, IN PCI_IO_DEVICE *RootBridgeDev - ) -/** + ); -Routine Description: - - TODO: Add function description - -Arguments: - - PciResAlloc - TODO: add argument description - RootBridgeDev - TODO: add argument description +/** + Get Max Option Rom size on specified bridge. -Returns: + @param Bridge Given bridge device instance. - TODO: add return values + @return Max size of option rom needed. **/ -; - UINT64 GetMaxOptionRomSize ( IN PCI_IO_DEVICE *Bridge - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - Bridge - TODO: add argument description +/** + Process attributes of devices on this host bridge -Returns: + @param PciResAlloc Protocol instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. - TODO: add return values + @retval EFI_SUCCESS Successfully process attribute. + @retval EFI_NOT_FOUND Can not find the specific root bridge device. + @retval other Failed to determine the root bridge device's attribute. **/ -; - EFI_STATUS PciHostBridgeDeviceAttribute ( IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: - - PciResAlloc - TODO: add argument description + ); -Returns: +/** + Get resource allocation status from the ACPI resource descriptor. - TODO: add return values + @param AcpiConfig Point to Acpi configuration table. + @param IoResStatus Return the status of I/O resource. + @param Mem32ResStatus Return the status of 32-bit Memory resource. + @param PMem32ResStatus Return the status of 32-bit Prefetchable Memory resource. + @param Mem64ResStatus Return the status of 64-bit Memory resource. + @param PMem64ResStatus Return the status of 64-bit Prefetchable Memory resource. **/ -; - -EFI_STATUS +VOID GetResourceAllocationStatus ( VOID *AcpiConfig, OUT UINT64 *IoResStatus, @@ -184,115 +146,82 @@ GetResourceAllocationStatus ( OUT UINT64 *PMem32ResStatus, OUT UINT64 *Mem64ResStatus, OUT UINT64 *PMem64ResStatus - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - AcpiConfig - TODO: add argument description - IoResStatus - TODO: add argument description - Mem32ResStatus - TODO: add argument description - PMem32ResStatus - TODO: add argument description - Mem64ResStatus - TODO: add argument description - PMem64ResStatus - TODO: add argument description +/** + Remove a PCI device from device pool and mark its bar. -Returns: + @param PciDevice Instance of Pci device. - TODO: add return values + @retval EFI_SUCCESS Successfully remove the PCI device. + @retval EFI_ABORTED Pci device is a root bridge or a PCI-PCI bridge. **/ -; - EFI_STATUS RejectPciDevice ( IN PCI_IO_DEVICE *PciDevice - ) -/** + ); -Routine Description: - - TODO: Add function description - -Arguments: - - PciDevice - TODO: add argument description +/** + Determine whethter a PCI device can be rejected. -Returns: + @param PciResNode Pointer to Pci resource node instance. - TODO: add return values + @retval TRUE The PCI device can be rejected. + @retval TRUE The PCI device cannot be rejected. **/ -; - BOOLEAN IsRejectiveDevice ( IN PCI_RESOURCE_NODE *PciResNode - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - PciResNode - TODO: add argument description +/** + Compare two resource nodes and get the larger resource consumer. -Returns: + @param PciResNode1 resource node 1 want to be compared + @param PciResNode2 resource node 2 want to be compared - TODO: add return values + @return Larger resource node. **/ -; - PCI_RESOURCE_NODE * GetLargerConsumerDevice ( IN PCI_RESOURCE_NODE *PciResNode1, IN PCI_RESOURCE_NODE *PciResNode2 - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - PciResNode1 - TODO: add argument description - PciResNode2 - TODO: add argument description +/** + Get the max resource consumer in the host resource pool. -Returns: + @param ResPool Pointer to resource pool node. - TODO: add return values + @return The max resource consumer in the host resource pool. **/ -; - PCI_RESOURCE_NODE * GetMaxResourceConsumerDevice ( IN PCI_RESOURCE_NODE *ResPool - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: + ); - ResPool - TODO: add argument description - -Returns: - - TODO: add return values +/** + Adjust host bridge allocation so as to reduce resource requirement + + @param IoPool Pointer to instance of I/O resource Node. + @param Mem32Pool Pointer to instance of 32-bit memory resource Node. + @param PMem32Pool Pointer to instance of 32-bit Prefetchable memory resource node. + @param Mem64Pool Pointer to instance of 64-bit memory resource node. + @param PMem64Pool Pointer to instance of 64-bit Prefetchable memory resource node. + @param IoResStatus Status of I/O resource Node. + @param Mem32ResStatus Status of 32-bit memory resource Node. + @param PMem32ResStatus Status of 32-bit Prefetchable memory resource node. + @param Mem64ResStatus Status of 64-bit memory resource node. + @param PMem64ResStatus Status of 64-bit Prefetchable memory resource node. + + @retval EFI_SUCCESS Successfully adjusted resoruce on host bridge. + @retval EFI_ABORTED Host bridge hasn't this resource type or no resource be adjusted. **/ -; - EFI_STATUS PciHostBridgeAdjustAllocation ( IN PCI_RESOURCE_NODE *IoPool, @@ -305,33 +234,24 @@ PciHostBridgeAdjustAllocation ( IN UINT64 PMem32ResStatus, IN UINT64 Mem64ResStatus, IN UINT64 PMem64ResStatus - ) -/** + ); -Routine Description: - - TODO: Add function description - -Arguments: - - IoPool - TODO: add argument description - Mem32Pool - TODO: add argument description - PMem32Pool - TODO: add argument description - Mem64Pool - TODO: add argument description - PMem64Pool - TODO: add argument description - IoResStatus - TODO: add argument description - Mem32ResStatus - TODO: add argument description - PMem32ResStatus - TODO: add argument description - Mem64ResStatus - TODO: add argument description - PMem64ResStatus - TODO: add argument description +/** + Summary requests for all resource type, and contruct ACPI resource + requestor instance. -Returns: + @param Bridge detecting bridge + @param IoNode Pointer to instance of I/O resource Node + @param Mem32Node Pointer to instance of 32-bit memory resource Node + @param PMem32Node Pointer to instance of 32-bit Pmemory resource node + @param Mem64Node Pointer to instance of 64-bit memory resource node + @param PMem64Node Pointer to instance of 64-bit Pmemory resource node + @param Config Output buffer holding new constructed APCI resource requestor - TODO: add return values + @retval EFI_SUCCESS Successfully constructed ACPI resource. + @retval EFI_OUT_OF_RESOURCES No memory availabe. **/ -; - EFI_STATUS ConstructAcpiResourceRequestor ( IN PCI_IO_DEVICE *Bridge, @@ -340,104 +260,73 @@ ConstructAcpiResourceRequestor ( IN PCI_RESOURCE_NODE *PMem32Node, IN PCI_RESOURCE_NODE *Mem64Node, IN PCI_RESOURCE_NODE *PMem64Node, - OUT VOID **pConfig - ) -/** + OUT VOID **Config + ); -Routine Description: - - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description - IoNode - TODO: add argument description - Mem32Node - TODO: add argument description - PMem32Node - TODO: add argument description - Mem64Node - TODO: add argument description - PMem64Node - TODO: add argument description - pConfig - TODO: add argument description - -Returns: +/** + Get resource base from an acpi configuration descriptor. - TODO: add return values + @param Config An acpi configuration descriptor. + @param IoBase Output of I/O resource base address. + @param Mem32Base Output of 32-bit memory base address. + @param PMem32Base Output of 32-bit prefetchable memory base address. + @param Mem64Base Output of 64-bit memory base address. + @param PMem64Base Output of 64-bit prefetchable memory base address. **/ -; - -EFI_STATUS +VOID GetResourceBase ( - IN VOID *pConfig, + IN VOID *Config, OUT UINT64 *IoBase, OUT UINT64 *Mem32Base, OUT UINT64 *PMem32Base, OUT UINT64 *Mem64Base, OUT UINT64 *PMem64Base - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - pConfig - TODO: add argument description - IoBase - TODO: add argument description - Mem32Base - TODO: add argument description - PMem32Base - TODO: add argument description - Mem64Base - TODO: add argument description - PMem64Base - TODO: add argument description +/** + Enumerate pci bridge, allocate resource and determine attribute + for devices on this bridge. -Returns: + @param BridgeDev Pointer to instance of bridge device. - TODO: add return values + @retval EFI_SUCCESS Successfully enumerated PCI bridge. + @retval other Failed to enumerate. **/ -; - EFI_STATUS PciBridgeEnumerator ( IN PCI_IO_DEVICE *BridgeDev - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - BridgeDev - TODO: add argument description +/** + Allocate all kinds of resource for PCI bridge. -Returns: + @param Bridge Pointer to bridge instance. - TODO: add return values + @retval EFI_SUCCESS Successfully allocated resource for PCI bridge. + @retval other Failed to allocate resource for bridge. **/ -; - EFI_STATUS PciBridgeResourceAllocator ( IN PCI_IO_DEVICE *Bridge - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description +/** + Get resource base address for a pci bridge device. -Returns: + @param Bridge Given Pci driver instance. + @param IoBase Output for base address of I/O type resource. + @param Mem32Base Output for base address of 32-bit memory type resource. + @param PMem32Base Ooutput for base address of 32-bit Pmemory type resource. + @param Mem64Base Output for base address of 64-bit memory type resource. + @param PMem64Base Output for base address of 64-bit Pmemory type resource. - TODO: add return values + @retval EFI_SUCCESS Successfully got resource base address. + @retval EFI_OUT_OF_RESOURCES PCI bridge is not available. **/ -; - EFI_STATUS GetResourceBaseFromBridge ( IN PCI_IO_DEVICE *Bridge, @@ -446,73 +335,115 @@ GetResourceBaseFromBridge ( OUT UINT64 *PMem32Base, OUT UINT64 *Mem64Base, OUT UINT64 *PMem64Base - ) -/** + ); -Routine Description: - - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description - IoBase - TODO: add argument description - Mem32Base - TODO: add argument description - PMem32Base - TODO: add argument description - Mem64Base - TODO: add argument description - PMem64Base - TODO: add argument description - -Returns: +/** + Process Option Rom on this host bridge - TODO: add return values + @param PciResAlloc Pointer to instance of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL. + @retval EFI_NOT_FOUND Can not find the root bridge instance. + @retval EFI_SUCCESS Success process. **/ -; - EFI_STATUS PciHostBridgeP2CProcess ( IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: + ); - PciResAlloc - TODO: add argument description - -Returns: - - TODO: add return values +/** + These are the notifications from the PCI bus driver that it is about to enter a certain + phase of the PCI enumeration process. + + This member function can be used to notify the host bridge driver to perform specific actions, + including any chipset-specific initialization, so that the chipset is ready to enter the next phase. + Eight notification points are defined at this time. See belows: + EfiPciHostBridgeBeginEnumeration Resets the host bridge PCI apertures and internal data + structures. The PCI enumerator should issue this notification + before starting a fresh enumeration process. Enumeration cannot + be restarted after sending any other notification such as + EfiPciHostBridgeBeginBusAllocation. + EfiPciHostBridgeBeginBusAllocation The bus allocation phase is about to begin. No specific action is + required here. This notification can be used to perform any + chipset-specific programming. + EfiPciHostBridgeEndBusAllocation The bus allocation and bus programming phase is complete. No + specific action is required here. This notification can be used to + perform any chipset-specific programming. + EfiPciHostBridgeBeginResourceAllocation + The resource allocation phase is about to begin. No specific + action is required here. This notification can be used to perform + any chipset-specific programming. + EfiPciHostBridgeAllocateResources Allocates resources per previously submitted requests for all the PCI + root bridges. These resource settings are returned on the next call to + GetProposedResources(). Before calling NotifyPhase() with a Phase of + EfiPciHostBridgeAllocateResource, the PCI bus enumerator is responsible + for gathering I/O and memory requests for + all the PCI root bridges and submitting these requests using + SubmitResources(). This function pads the resource amount + to suit the root bridge hardware, takes care of dependencies between + the PCI root bridges, and calls the Global Coherency Domain (GCD) + with the allocation request. In the case of padding, the allocated range + could be bigger than what was requested. + EfiPciHostBridgeSetResources Programs the host bridge hardware to decode previously allocated + resources (proposed resources) for all the PCI root bridges. After the + hardware is programmed, reassigning resources will not be supported. + The bus settings are not affected. + EfiPciHostBridgeFreeResources Deallocates resources that were previously allocated for all the PCI + root bridges and resets the I/O and memory apertures to their initial + state. The bus settings are not affected. If the request to allocate + resources fails, the PCI enumerator can use this notification to + deallocate previous resources, adjust the requests, and retry + allocation. + EfiPciHostBridgeEndResourceAllocation The resource allocation phase is completed. No specific action is + required here. This notification can be used to perform any chipsetspecific + programming. + + @param[in] PciResAlloc The instance pointer of EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL + @param[in] Phase The phase during enumeration + + @retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error + is valid for a Phase of EfiPciHostBridgeAllocateResources if + SubmitResources() has not been called for one or more + PCI root bridges before this call + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid + for a Phase of EfiPciHostBridgeSetResources. + @retval EFI_INVALID_PARAMETER Invalid phase parameter + @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. + This error is valid for a Phase of EfiPciHostBridgeAllocateResources if the + previously submitted resource requests cannot be fulfilled or + were only partially fulfilled. + @retval EFI_SUCCESS The notification was accepted without any errors. **/ -; - EFI_STATUS NotifyPhase ( IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc, EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase - ) -/** - -Routine Description: + ); - TODO: Add function description - -Arguments: - - PciResAlloc - TODO: add argument description - Phase - TODO: add argument description - -Returns: - - TODO: add return values +/** + Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various + stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual + PCI controllers before enumeration. + + This function is called during the PCI enumeration process. No specific action is expected from this + member function. It allows the host bridge driver to preinitialize individual PCI controllers before + enumeration. + + @param Bridge Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance. + @param Bus The bus number of the pci device. + @param Device The device number of the pci device. + @param Func The function number of the pci device. + @param Phase The phase of the PCI device enumeration. + + @retval EFI_SUCCESS The requested parameters were returned. + @retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle. + @retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in + EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE. + @retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator should + not enumerate this device, including its child devices if it is a PCI-to-PCI + bridge. **/ -; - EFI_STATUS PreprocessController ( IN PCI_IO_DEVICE *Bridge, @@ -520,28 +451,31 @@ PreprocessController ( IN UINT8 Device, IN UINT8 Func, IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: - - Bridge - TODO: add argument description - Bus - TODO: add argument description - Device - TODO: add argument description - Func - TODO: add argument description - Phase - TODO: add argument description - -Returns: - - TODO: add return values + ); +/** + This function allows the PCI bus driver to be notified to act as requested when a hot-plug event has + happened on the hot-plug controller. Currently, the operations include add operation and remove operation.. + + @param This A pointer to the hot plug request protocol. + @param Operation The operation the PCI bus driver is requested to make. + @param Controller The handle of the hot-plug controller. + @param RemainingDevicePath The remaining device path for the PCI-like hot-plug device. + @param NumberOfChildren The number of child handles. + For a add operation, it is an output parameter. + For a remove operation, it's an input parameter. + @param ChildHandleBuffer The buffer which contains the child handles. + + @retval EFI_INVALID_PARAMETER Operation is not a legal value. + Controller is NULL or not a valid handle. + NumberOfChildren is NULL. + ChildHandleBuffer is NULL while Operation is add. + @retval EFI_OUT_OF_RESOURCES There are no enough resources to start the devices. + @retval EFI_NOT_FOUND Can not find bridge according to controller handle. + @retval EFI_SUCCESS The handles for the specified device have been created or destroyed + as requested, and for an add operation, the new handles are + returned in ChildHandleBuffer. **/ -; - EFI_STATUS EFIAPI PciHotPlugRequestNotify ( @@ -551,69 +485,35 @@ PciHotPlugRequestNotify ( IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL, IN OUT UINT8 *NumberOfChildren, IN OUT EFI_HANDLE * ChildHandleBuffer - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - This - TODO: add argument description - Operation - TODO: add argument description - Controller - TODO: add argument description - RemainingDevicePath - TODO: add argument description - NumberOfChildren - TODO: add argument description - ChildHandleBuffer - TODO: add argument description +/** + Search hostbridge according to given handle -Returns: + @param RootBridgeHandle Host bridge handle. - TODO: add return values + @retval TRUE Found host bridge handle. + @retval FALSE Not found hot bridge handle. **/ -; - BOOLEAN SearchHostBridgeHandle ( IN EFI_HANDLE RootBridgeHandle - ) -/** - -Routine Description: - - TODO: Add function description + ); -Arguments: - - RootBridgeHandle - TODO: add argument description +/** + Add host bridge handle to global variable for enumerating. -Returns: + @param HostBridgeHandle Host bridge handle. - TODO: add return values + @retval EFI_SUCCESS Successfully added host bridge. + @retval EFI_ABORTED Host bridge is NULL, or given host bridge + has been in host bridge list. **/ -; - EFI_STATUS AddHostBridgeEnumerator ( IN EFI_HANDLE HostBridgeHandle - ) -/** - -Routine Description: - - TODO: Add function description - -Arguments: - - HostBridgeHandle - TODO: add argument description - -Returns: - - TODO: add return values - -**/ -; + ); #endif