1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /** @file
- Header file of PciHostBridgeLib.
- Copyright (C) 2016, Red Hat, Inc.
- 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.
- **/
- #ifndef _PCI_HOST_BRIDGE_H
- #define _PCI_HOST_BRIDGE_H
- typedef struct {
- ACPI_HID_DEVICE_PATH AcpiDevicePath;
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
- } CB_PCI_ROOT_BRIDGE_DEVICE_PATH;
- 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 responsible 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
- );
- #endif
|