-/*++\r
+/** @file\r
+ PCI emumeration support functions declaration for PCI Bus module.\r
\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2006 - 2009, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
\r
-Module Name:\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
- PciEnumeratorSupport.h\r
- \r
-Abstract:\r
+**/\r
\r
- PCI Bus Driver\r
+#ifndef _EFI_PCI_ENUMERATOR_SUPPORT_H_\r
+#define _EFI_PCI_ENUMERATOR_SUPPORT_H_\r
\r
-Revision History\r
+/**\r
+ This routine is used to check whether the pci device is present.\r
\r
---*/\r
+ @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.\r
+ @param Pci Output buffer for PCI device configuration space.\r
+ @param Bus PCI bus NO.\r
+ @param Device PCI device NO.\r
+ @param Func PCI Func NO.\r
\r
-#ifndef _EFI_PCI_ENUMERATOR_SUPPORT_H\r
-#define _EFI_PCI_ENUMERATOR_SUPPORT_H\r
+ @retval EFI_NOT_FOUND PCI device not present.\r
+ @retval EFI_SUCCESS PCI device is found.\r
\r
+**/\r
EFI_STATUS\r
PciDevicePresent (\r
- IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,\r
- PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,\r
+ OUT PCI_TYPE00 *Pci,\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func\r
+ );\r
\r
- PciRootBridgeIo - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
+/**\r
+ Collect all the resource information under this root bridge.\r
\r
-Returns:\r
+ A database that records all the information about pci device subject to this\r
+ root bridge will then be created.\r
\r
- TODO: add return values\r
+ @param Bridge Parent bridge instance.\r
+ @param StartBusNumber Bus number of begining.\r
\r
---*/\r
-;\r
+ @retval EFI_SUCCESS PCI device is found.\r
+ @retval other Some error occurred when reading PCI bridge information.\r
\r
+**/\r
EFI_STATUS\r
PciPciDeviceInfoCollector (\r
IN PCI_IO_DEVICE *Bridge,\r
- UINT8 StartBusNumber\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
- StartBusNumber - TODO: add argument description\r
+ IN UINT8 StartBusNumber\r
+ );\r
\r
-Returns:\r
+/**\r
+ Seach required device and create PCI device instance.\r
\r
- TODO: add return values\r
+ @param Bridge Parent bridge instance.\r
+ @param Pci Input PCI device information block.\r
+ @param Bus PCI bus NO.\r
+ @param Device PCI device NO.\r
+ @param Func PCI func NO.\r
+ @param PciDevice Output of searched PCI device instance.\r
\r
---*/\r
-;\r
+ @retval EFI_SUCCESS Successfully created PCI device instance.\r
+ @retval EFI_OUT_OF_RESOURCES Cannot get PCI device information.\r
\r
+**/\r
EFI_STATUS\r
PciSearchDevice (\r
- IN PCI_IO_DEVICE *Bridge,\r
- PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func,\r
- PCI_IO_DEVICE **PciDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- Bridge - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
- PciDevice - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-PCI_IO_DEVICE *\r
+ IN PCI_IO_DEVICE *Bridge,\r
+ IN PCI_TYPE00 *Pci,\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func,\r
+ OUT PCI_IO_DEVICE **PciDevice\r
+ );\r
+\r
+/**\r
+ Create PCI device instance for PCI device.\r
+\r
+ @param Bridge Parent bridge instance.\r
+ @param Pci Input PCI device information block.\r
+ @param Bus PCI device Bus NO.\r
+ @param Device PCI device Device NO.\r
+ @param Func PCI device's func NO.\r
+\r
+ @return Created PCI device instance.\r
+\r
+**/\r
+PCI_IO_DEVICE *\r
GatherDeviceInfo (\r
IN PCI_IO_DEVICE *Bridge,\r
IN PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func\r
+ );\r
\r
- Bridge - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
+/**\r
+ Create PCI device instance for PCI-PCI bridge.\r
\r
-Returns:\r
+ @param Bridge Parent bridge instance.\r
+ @param Pci Input PCI device information block.\r
+ @param Bus PCI device Bus NO.\r
+ @param Device PCI device Device NO.\r
+ @param Func PCI device's func NO.\r
\r
- TODO: add return values\r
+ @return Created PCI device instance.\r
\r
---*/\r
-;\r
-\r
-PCI_IO_DEVICE *\r
+**/\r
+PCI_IO_DEVICE *\r
GatherPpbInfo (\r
IN PCI_IO_DEVICE *Bridge,\r
IN PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func\r
+ );\r
\r
- Bridge - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
+/**\r
+ Create PCI device instance for PCI Card bridge device.\r
\r
-Returns:\r
+ @param Bridge Parent bridge instance.\r
+ @param Pci Input PCI device information block.\r
+ @param Bus PCI device Bus NO.\r
+ @param Device PCI device Device NO.\r
+ @param Func PCI device's func NO.\r
\r
- TODO: add return values\r
+ @return Created PCI device instance.\r
\r
---*/\r
-;\r
-\r
-PCI_IO_DEVICE *\r
+**/\r
+PCI_IO_DEVICE *\r
GatherP2CInfo (\r
IN PCI_IO_DEVICE *Bridge,\r
IN PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func\r
+ );\r
\r
- Bridge - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
+/**\r
+ Create device path for pci deivce.\r
\r
-Returns:\r
+ @param ParentDevicePath Parent bridge's path.\r
+ @param PciIoDevice Pci device instance.\r
\r
- TODO: add return values\r
+ @return device path protocol instance for specific pci device.\r
\r
---*/\r
-;\r
-\r
-EFI_DEVICE_PATH_PROTOCOL *\r
+**/\r
+EFI_DEVICE_PATH_PROTOCOL *\r
CreatePciDevicePath (\r
IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ );\r
\r
-Arguments:\r
+/**\r
+ Check whether the bar is existed or not.\r
\r
- ParentDevicePath - TODO: add argument description\r
- PciIoDevice - TODO: add argument description\r
+ @param PciIoDevice A pointer to the PCI_IO_DEVICE.\r
+ @param Offset The offset.\r
+ @param BarLengthValue The bar length value returned.\r
+ @param OriginalBarValue The original bar value returned.\r
\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_NOT_FOUND The bar doesn't exist.\r
+ @retval EFI_SUCCESS The bar exist.\r
\r
+**/\r
EFI_STATUS\r
BarExisted (\r
- IN PCI_IO_DEVICE *PciIoDevice,\r
- IN UINTN Offset,\r
- OUT UINT32 *BarLengthValue,\r
- OUT UINT32 *OriginalBarValue\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciIoDevice - TODO: add argument description\r
- Offset - TODO: add argument description\r
- BarLengthValue - TODO: add argument description\r
- OriginalBarValue - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
+ IN PCI_IO_DEVICE *PciIoDevice,\r
+ IN UINTN Offset,\r
+ OUT UINT32 *BarLengthValue,\r
+ OUT UINT32 *OriginalBarValue\r
+ );\r
+\r
+/**\r
+ Test whether the device can support given attributes.\r
+\r
+ @param PciIoDevice Pci device instance.\r
+ @param Command Input command register value, and\r
+ returned supported register value.\r
+ @param BridgeControl Inout bridge control value for PPB or P2C, and\r
+ returned supported bridge control value.\r
+ @param OldCommand Returned and stored old command register offset.\r
+ @param OldBridgeControl Returned and stored old Bridge control value for PPB or P2C.\r
+\r
+**/\r
+VOID\r
PciTestSupportedAttribute (\r
- IN PCI_IO_DEVICE *PciIoDevice,\r
- IN UINT16 *Command,\r
- IN UINT16 *BridgeControl,\r
- IN UINT16 *OldCommand,\r
- IN UINT16 *OldBridgeControl\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciIoDevice - TODO: add argument description\r
- Command - TODO: add argument description\r
- BridgeControl - TODO: add argument description\r
- OldCommand - TODO: add argument description\r
- OldBridgeControl - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
+ IN PCI_IO_DEVICE *PciIoDevice,\r
+ IN OUT UINT16 *Command,\r
+ IN OUT UINT16 *BridgeControl,\r
+ OUT UINT16 *OldCommand,\r
+ OUT UINT16 *OldBridgeControl\r
+ );\r
+\r
+/**\r
+ Set the supported or current attributes of a PCI device.\r
+\r
+ @param PciIoDevice Structure pointer for PCI device.\r
+ @param Command Command register value.\r
+ @param BridgeControl Bridge control value for PPB or P2C.\r
+ @param Option Make a choice of EFI_SET_SUPPORTS or EFI_SET_ATTRIBUTES.\r
+\r
+**/\r
+VOID\r
PciSetDeviceAttribute (\r
IN PCI_IO_DEVICE *PciIoDevice,\r
IN UINT16 Command,\r
IN UINT16 BridgeControl,\r
IN UINTN Option\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+ );\r
\r
- TODO: Add function description\r
+/**\r
+ Determine if the device can support Fast Back to Back attribute.\r
\r
-Arguments:\r
+ @param PciIoDevice Pci device instance.\r
+ @param StatusIndex Status register value.\r
\r
- PciIoDevice - TODO: add argument description\r
- Command - TODO: add argument description\r
- BridgeControl - TODO: add argument description\r
- Option - TODO: add argument description\r
-\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_SUCCESS This device support Fast Back to Back attribute.\r
+ @retval EFI_UNSUPPORTED This device doesn't support Fast Back to Back attribute.\r
\r
+**/\r
EFI_STATUS\r
GetFastBackToBackSupport (\r
IN PCI_IO_DEVICE *PciIoDevice,\r
IN UINT8 StatusIndex\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
-\r
- PciIoDevice - TODO: add argument description\r
- StatusIndex - TODO: add argument description\r
+ );\r
\r
-Returns:\r
+/**\r
+ Determine the related attributes of all devices under a Root Bridge.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @param PciIoDevice PCI device instance.\r
\r
+**/\r
EFI_STATUS\r
DetermineDeviceAttribute (\r
IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- PciIoDevice - TODO: add argument description\r
+/**\r
+ This routine is used to update the bar information for those incompatible PCI device.\r
\r
-Returns:\r
+ @param PciIoDevice Input Pci device instance. Output Pci device instance with updated\r
+ Bar information.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_SUCCESS Successfully updated bar information.\r
+ @retval EFI_UNSUPPORTED Given PCI device doesn't belong to incompatible PCI device list.\r
\r
+**/\r
EFI_STATUS\r
UpdatePciInfo (\r
- IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN OUT PCI_IO_DEVICE *PciIoDevice\r
+ );\r
\r
- PciIoDevice - TODO: add argument description\r
+/**\r
+ This routine will update the alignment with the new alignment.\r
\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @param Alignment Input Old alignment. Output updated alignment.\r
+ @param NewAlignment New alignment.\r
\r
+**/\r
VOID\r
SetNewAlign (\r
- IN UINT64 *Alignment,\r
- IN UINT64 NewAlignment\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ IN OUT UINT64 *Alignment,\r
+ IN UINT64 NewAlignment\r
+ );\r
\r
-Arguments:\r
+/**\r
+ Parse PCI bar information and fill them into PCI device instance.\r
\r
- Alignment - TODO: add argument description\r
- NewAlignment - TODO: add argument description\r
+ @param PciIoDevice Pci device instance.\r
+ @param Offset Bar offset.\r
+ @param BarIndex Bar index.\r
\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @return Next bar offset.\r
\r
+**/\r
UINTN\r
PciParseBar (\r
IN PCI_IO_DEVICE *PciIoDevice,\r
IN UINTN Offset,\r
IN UINTN BarIndex\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ );\r
\r
-Arguments:\r
+/**\r
+ This routine is used to initialize the bar of a PCI device.\r
\r
- PciIoDevice - TODO: add argument description\r
- Offset - TODO: add argument description\r
- BarIndex - TODO: add argument description\r
+ @param PciIoDevice Pci device instance.\r
\r
-Returns:\r
+ @note It can be called typically when a device is going to be rejected.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
+**/\r
+VOID\r
InitializePciDevice (\r
- IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ IN PCI_IO_DEVICE *PciIoDevice\r
+ );\r
\r
- PciIoDevice - TODO: add argument description\r
+/**\r
+ This routine is used to initialize the bar of a PCI-PCI Bridge device.\r
\r
-Returns:\r
+ @param PciIoDevice PCI-PCI bridge device instance.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
+**/\r
+VOID\r
InitializePpb (\r
- IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ IN PCI_IO_DEVICE *PciIoDevice\r
+ );\r
\r
-Arguments:\r
+/**\r
+ This routine is used to initialize the bar of a PCI Card Bridge device.\r
\r
- PciIoDevice - TODO: add argument description\r
+ @param PciIoDevice PCI Card bridge device.\r
\r
-Returns:\r
-\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-EFI_STATUS\r
+**/\r
+VOID\r
InitializeP2C (\r
- IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ IN PCI_IO_DEVICE *PciIoDevice\r
+ );\r
\r
-Arguments:\r
+/**\r
+ Create and initiliaze general PCI I/O device instance for\r
+ PCI device/bridge device/hotplug bridge device.\r
\r
- PciIoDevice - TODO: add argument description\r
+ @param PciRootBridgeIo Pointer to instance of EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.\r
+ @param Pci Input Pci information block.\r
+ @param Bus Device Bus NO.\r
+ @param Device Device device NO.\r
+ @param Func Device func NO.\r
\r
-Returns:\r
+ @return Instance of PCI device. NULL means no instance created.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
-\r
-PCI_IO_DEVICE *\r
+**/\r
+PCI_IO_DEVICE *\r
CreatePciIoDevice (\r
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,\r
IN PCI_TYPE00 *Pci,\r
- UINT8 Bus,\r
- UINT8 Device,\r
- UINT8 Func\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
+ IN UINT8 Bus,\r
+ IN UINT8 Device,\r
+ IN UINT8 Func\r
+ );\r
\r
-Arguments:\r
+/**\r
+ This routine is used to enumerate entire pci bus system\r
+ in a given platform.\r
\r
- PciRootBridgeIo - TODO: add argument description\r
- Pci - TODO: add argument description\r
- Bus - TODO: add argument description\r
- Device - TODO: add argument description\r
- Func - TODO: add argument description\r
+ It is only called on the second start on the same Root Bridge.\r
\r
-Returns:\r
+ @param Controller Parent bridge handler.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_SUCCESS PCI enumeration finished successfully.\r
+ @retval other Some error occurred when enumerating the pci bus system.\r
\r
+**/\r
EFI_STATUS\r
PciEnumeratorLight (\r
IN EFI_HANDLE Controller\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- Controller - TODO: add argument description\r
+/**\r
+ Get bus range from PCI resource descriptor list.\r
\r
-Returns:\r
+ @param Descriptors A pointer to the address space descriptor.\r
+ @param MinBus The min bus returned.\r
+ @param MaxBus The max bus returned.\r
+ @param BusRange The bus range returned.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_SUCCESS Successfully got bus range.\r
+ @retval EFI_NOT_FOUND Can not find the specific bus.\r
\r
+**/\r
EFI_STATUS\r
PciGetBusRange (\r
IN EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR **Descriptors,\r
OUT UINT16 *MinBus,\r
OUT UINT16 *MaxBus,\r
OUT UINT16 *BusRange\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- Descriptors - TODO: add argument description\r
- MinBus - TODO: add argument description\r
- MaxBus - TODO: add argument description\r
- BusRange - TODO: add argument description\r
+/**\r
+ This routine can be used to start the root bridge.\r
\r
-Returns:\r
+ @param RootBridgeDev Pci device instance.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval EFI_SUCCESS This device started.\r
+ @retval other Failed to get PCI Root Bridge I/O protocol.\r
\r
+**/\r
EFI_STATUS\r
StartManagingRootBridge (\r
IN PCI_IO_DEVICE *RootBridgeDev\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- RootBridgeDev - TODO: add argument description\r
+/**\r
+ This routine can be used to check whether a PCI device should be rejected when light enumeration.\r
\r
-Returns:\r
+ @param PciIoDevice Pci device instance.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+ @retval TRUE This device should be rejected.\r
+ @retval FALSE This device shouldn't be rejected.\r
\r
+**/\r
BOOLEAN\r
IsPciDeviceRejected (\r
IN PCI_IO_DEVICE *PciIoDevice\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- TODO: Add function description\r
-\r
-Arguments:\r
+ );\r
\r
- PciIoDevice - TODO: add argument description\r
+/**\r
+ Reset all bus number from specific bridge.\r
\r
-Returns:\r
+ @param Bridge Parent specific bridge.\r
+ @param StartBusNumber Start bus number.\r
\r
- TODO: add return values\r
-\r
---*/\r
-;\r
+**/\r
+VOID\r
+ResetAllPpbBusNumber (\r
+ IN PCI_IO_DEVICE *Bridge,\r
+ IN UINT8 StartBusNumber\r
+ );\r
\r
#endif\r