/* Utility function to return all the root bridge instances in an array. */
PCI_ROOT_BRIDGE* EFIAPI PciHostBridgeUtilityGetRootBridges(OUT UINTN *Count, IN UINT64 Attributes, IN UINT64 AllocationAttributes, IN BOOLEAN DmaAbove4G, IN BOOLEAN NoExtendedConfigSpace, IN UINTN BusMin, IN UINTN BusMax, IN PCI_ROOT_BRIDGE_APERTURE *Io, IN PCI_ROOT_BRIDGE_APERTURE *Mem, IN PCI_ROOT_BRIDGE_APERTURE *MemAbove4G, IN PCI_ROOT_BRIDGE_APERTURE *PMem, IN PCI_ROOT_BRIDGE_APERTURE *PMemAbove4G)
/* Utility function to return all the root bridge instances in an array. */
PCI_ROOT_BRIDGE* EFIAPI PciHostBridgeUtilityGetRootBridges(OUT UINTN *Count, IN UINT64 Attributes, IN UINT64 AllocationAttributes, IN BOOLEAN DmaAbove4G, IN BOOLEAN NoExtendedConfigSpace, IN UINTN BusMin, IN UINTN BusMax, IN PCI_ROOT_BRIDGE_APERTURE *Io, IN PCI_ROOT_BRIDGE_APERTURE *Mem, IN PCI_ROOT_BRIDGE_APERTURE *MemAbove4G, IN PCI_ROOT_BRIDGE_APERTURE *PMem, IN PCI_ROOT_BRIDGE_APERTURE *PMemAbove4G)
{
  PCI_ROOT_BRIDGE  *Bridges;
  *Count = 0;
  Bridges = PciHostBridgeUtilityGetRootBridgesHostProvided (Count);
  if (Bridges == NULL) {
    Bridges = PciHostBridgeUtilityGetRootBridgesBusScan (
                Count,
                Attributes,
                AllocationAttributes,
                DmaAbove4G,
                NoExtendedConfigSpace,
                BusMin,
                BusMax,
                Io,
                Mem,
                MemAbove4G,
                PMem,
                PMemAbove4G
                );
  }
  return Bridges;
}