summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h
diff options
context:
space:
mode:
authorZhang, Chao B <chao.b.zhang@intel.com>2016-05-11 08:59:40 +0800
committerZhang, Chao B <chao.b.zhang@intel.com>2016-05-11 08:59:40 +0800
commit070827be5a5727c736acf5d645722be073640952 (patch)
tree9673cee0e32b49da9db60d43dd68f5cc2ad5c22b /OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h
parentf1005559ec0ab65d42526313eb819f60c120eab8 (diff)
parent49effaf26ec952905bc7710587c6a58437864cdf (diff)
downloadedk2-070827be5a5727c736acf5d645722be073640952.tar.gz
edk2-070827be5a5727c736acf5d645722be073640952.tar.bz2
edk2-070827be5a5727c736acf5d645722be073640952.zip
Merge branch 'master' of github.com:tianocore/edk2
Diffstat (limited to 'OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h')
-rw-r--r--OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h b/OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h
new file mode 100644
index 0000000000..c23d40c8ac
--- /dev/null
+++ b/OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h
@@ -0,0 +1,75 @@
+/** @file
+ Header file of OVMF instance of PciHostBridgeLib.
+
+ Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+
+ 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.
+
+**/
+
+PCI_ROOT_BRIDGE *
+ScanForRootBridges (
+ UINTN *NumberOfRootBridges
+);
+
+/**
+ Initialize a PCI_ROOT_BRIDGE structure.
+
+ @param[in] Supports Supported attributes.
+
+ @param[in] Attributes Initial attributes.
+
+ @param[in] AllocAttributes Allocation attributes.
+
+ @param[in] RootBusNumber The bus number to store in RootBus.
+
+ @param[in] MaxSubBusNumber The inclusive maximum bus number that can be
+ assigned to any subordinate bus found behind any
+ PCI bridge hanging off this root bus.
+
+ The caller is repsonsible for ensuring that
+ RootBusNumber <= MaxSubBusNumber. If
+ RootBusNumber equals MaxSubBusNumber, then the
+ root bus has no room for subordinate buses.
+
+ @param[in] Io IO aperture.
+
+ @param[in] Mem MMIO aperture.
+
+ @param[in] MemAbove4G MMIO aperture above 4G.
+
+ @param[in] PMem Prefetchable MMIO aperture.
+
+ @param[in] PMemAbove4G Prefetchable MMIO aperture above 4G.
+
+ @param[out] RootBus The PCI_ROOT_BRIDGE structure (allocated by the
+ caller) that should be filled in by this
+ function.
+
+ @retval EFI_SUCCESS Initialization successful. A device path
+ consisting of an ACPI device path node, with
+ UID = RootBusNumber, has been allocated and
+ linked into RootBus.
+
+ @retval EFI_OUT_OF_RESOURCES Memory allocation failed.
+**/
+EFI_STATUS
+InitRootBridge (
+ IN UINT64 Supports,
+ IN UINT64 Attributes,
+ IN UINT64 AllocAttributes,
+ IN UINT8 RootBusNumber,
+ IN UINT8 MaxSubBusNumber,
+ 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,
+ OUT PCI_ROOT_BRIDGE *RootBus
+ );